Title:
Netzwerkverbindungsverwaltungseinrichtung
Kind Code:
T5


Abstract:

Es werden Verfahren, Systeme, Vorrichtungen und Programmprodukte zum Verwalten von Verbindungen zu Telekommunikationsnetzwerken und insbesondere zu Netzwerken, die Internetprotokolle oder ähnliches verwenden, offenbart. Es ist vorgesehen, dass ein Konnektivitätsregelsatz zusammengestellt wird, Statusdaten gegenseitig umgewandelt werden, um einen Datensatz von Kandidaten-Kommunikationsverbindungen zu bilden, und eine Netzwerkverbindung angefordert wird. Weiterhin ist vorgesehen, dass physikalische Positionsprofile erzeugt werden und auf der Basis dessen und auf der Basis der aktuellen physikalischen Position des entsprechenden Computers ein Netzwerk gewählt wird.




Inventors:
Banga, Gaurav, Calf. (Cupertino, US)
Pemmasani, Giridhar, Calif. (San Jose, US)
Rajendran, Vishwanathan, Calif. (San Jose, US)
Application Number:
DE112010000431T
Publication Date:
08/30/2012
Filing Date:
01/07/2010
Assignee:
HEWLETT-PACKARD COMPANY (Calif., Palo Alto, US)
International Classes:



Other References:
IEEE 802.3
IEEE 802.11
Attorney, Agent or Firm:
Schoppe, Zimmermann, Stöckeler, Zinkler & Partner, 82049, Pullach, DE
Claims:
1. Ein Verfahren zum Betreiben eines Computers, der für Datenkommunikation angepasst ist, das folgende Schritte aufweist:
Zusammenstellen eines Konnektivitätsregelsatzes, der eine Mehrzahl von Konnektivitätsregeln aufweist,
gegenseitiges Aktualisieren von Statusdaten für zumindest eine erste Netzwerkdatenverbindung und eine zweite Netzwerkdatenverbindung mit jeweiligen Konnektivitätsregeln in dem Konnektivitätsregelsatz, um einen Datensatz zu bilden, der eine Mehrzahl von Kandidaten-Kommunikationsverbindungen darstellt, und
Anfordern einer Netzwerkverbindung für eine ausgewählte der Kandidaten-Kommunikationsverbindungen.

2. Das Verfahren gemäß Anspruch 1, bei dem:
die ausgewählte der Kandidaten-Kommunikationsverbindungen gemäß Inhalten des Datensatzes ausgewählt wird.

3. Das Verfahren gemäß Anspruch 1, das ferner folgenden Schritt aufweist:
Bilden eines physikalischen Positionsprofils für zumindest eine der Kandidaten-Kommunikationsverbindungen,
wobei die ausgewählte der Kandidaten-Kommunikationsverbindungen gemäß dem physikalischen Positionsprofil ausgewählt, wird.

4. Das Verfahren gemäß Anspruch 3, bei dem:
die ausgewählte der Kandidaten-Kommunikationsverbindungen in Abhängigkeit von der aktuellen physikalischen Position des Computers ausgewählt wird.

5. Das Verfahren gemäß einem der Ansprüche 1 bis 4, das ferner folgenden Schritt aufweist:
adaptives Aktualisieren des Regelsatzes ansprechend auf einen Folgezustand des Anforderungsschritts.

6. Das Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem:
der Zusammenstellschritt das Bereitstellen einer grafischen Benutzerschnittstelle für die Aufrechterhaltung von Konnektivitätsdaten gemäß Anweisungen eines Benutzers aufweist.

7. Das Verfahren gemäß Anspruch 6, bei dem:
die Konnektivitätsdaten Daten zum Spezifizieren von Verbindungstyp und Verbindungscharakteristika für die Konnektivitätsregeln aufweisen.

8. Das Verfahren gemäß Anspruch 6 oder 7, bei dem:
die Konnektivitätsdaten Daten zum Spezifizieren eines Protokolls und zum Spezifizieren einer Verschlüsselungstechnik für eine jeweilige Kommunikationsverbindung aufweisen.

9. Das Verfahren gemäß einem der Ansprüche 6 bis 8, bei dem:
die Konnektivitätsdaten ferner Zugangsdaten aufweisen, die in dem Anforderungsschritts erneut auszubreiten sind.

10. Das Verfahren gemäß Anspruch 9, bei dem:
die in dem Aufforderungsschritt erneut auszubreitenden Daten ferner eine Internetprotokoll-Adresse eines Domänennamensystem-Servers umfasst.

11. Das Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem:
die Konnektivitätsdaten ferner Daten zum Spezifizieren von IPv6-(Internetprotokoll-Version 6-)Fähigkeiten für ausgewählte der Konnektivitätsregeln umfasst.

12. Ein Verfahren zum Betreiben eines Computers, der für Datenkommunikation angepasst ist, wobei das Verfahren folgende Schritte aufweist:
Anfordern einer ersten und einer zweiten Netzwerkverbindung für eine Mehrzahl von Kommunikationsverbindungen,
anfängliches Emulieren einer virtuellen Netzwerkverbindung mit einem Betriebssystemprogramm, das unter einem Hypervisor-Programm ausgeführt wird, wobei Daten zwischen dem ersten Netzwerk und der virtuellen Netzwerkverbindung ausgebreitet werden, und
ansprechend auf eine veränderte Bedingung in einer aus der ersten und der zweiten Netzwerkverbindung ausgewählten Netzwerkverbindung, weiteres Emulieren des virtuellen Netzwerks, wobei Daten zwischen dem zweiten Netzwerk und der virtuellen Netzwerkverbindung ausgebreitet werden.

13. Das Verfahren gemäß Anspruch 12, bei dem:
das erste und das zweite Netzwerk jeweils für eine Ausbreitung gemäß Netzwerkstatusdaten und Richtlinien, die zu einem Konnektivitätsregelsatz mit einer Mehrzahl von Konnektivitätsregeln zusammengestellt wurden, ausgewählt werden.

14. Ein Computerprogrammprodukt, das folgende Merkmale aufweist:
zumindest ein computerlesbares Medium, das codierte Befehle enthält, wobei eine Ausführung der Befehle durch zumindest einen Prozessor veranlasst, dass der zumindest eine Prozessor:
für eine kontextbasierte Virtualisierung mit Schritten arbeitet, die die folgenden Aktionen umfassen:
Zusammenstellen eines Konnektivitätsregelsatzes, der eine Mehrzahl von Konnektivitätsregeln aufweist,
gegenseitiges Umwandeln von Statusdaten für zumindest eine erste Netzwerkdatenverbindung und eine zweite Netzwerkdatenverbindung mit jeweiligen Konnektivitätsregeln in dem Konnektivitätsregelsatz, um einen Datensatz zu bilden, der eine Mehrzahl von Kandidaten-Kommunikationsverbindungen darstellt, und
Anfordern einer Netzwerkverbindung für eine ausgewählte der Kandidaten-Kommunikationsverbindungen.

15. Das Computerprogrammprodukt gemäß Anspruch 14, bei dem die ausgewählte der Kandidaten-Kommunikationsverbindungen gemäß Inhalten des Datensatzes ausgewählt wird.

16. Das Computerprogrammprodukt gemäß Anspruch 14 oder 15, bei dem die Aktionen ferner Folgendes umfassen:
adaptives Aktualisieren des Regelsatzes ansprechend auf einen Folgezustand des Anforderungsschritts.

17. Ein Verfahren, das folgende Schritte aufweist:
eine Aktion des Modulierens eines Signals auf eine elektromagnetische Trägerwelle, die in ein greifbares Medium eingeprägt ist, oder des Demodulierens des Signals von der elektromagnetischen Trägerwelle, wobei das Signal codierte Befehle aufweist, wobei eine Ausführung der Befehle durch zumindest einen Prozessor veranlasst, dass der zumindest eine Prozessor:
für eine kontextbasierte Virtualisierung durch Schritte arbeitet, die folgende Aktionen umfassen:
Zusammenstellen eines Konnektivitätsregelsatzes, der eine Mehrzahl von Konnektivitätsregeln aufweist,
gegenseitiges Umwandeln von Statusdaten für zumindest eine erste Netzwerkdatenverbindung und eine zweite Netzwerkdatenverbindung mit jeweiligen Konnektivitätsregeln in dem Konnektivitätsregelsatz, um einen Datensatz zu bilden, der eine Mehrzahl von Kandidaten-Kommunikationsverbindungen darstellt, und
Anfordern einer Netzwerkverbindung für eine ausgewählte der Kandidaten-Kommunikationsverbindungen.

18. Das Verfahren gemäß Anspruch 17, bei dem:
die Erlaubnis ansprechend auf eine zweite Änderung des Kontexts wiederhergestellt wird.

19. Das Verfahren gemäß Anspruch 17 oder 18, bei dem die Aktionen ferner Folgendes umfassen:
adaptives Aktualisieren des Regelsatzes ansprechend auf einen Folgezustand des Anforderungsschritts.

20. Ein elektronisches Gerät, das folgende Merkmale aufweist:
eine Steuerung, und
einen Speicher, der codierte Befehle enthält, wobei eine Ausführung der Befehle durch die Steuereinrichtung veranlasst, dass die Steuerung:
für eine kontextbasierte Virtualisierung durch Schritte arbeitet, die folgende Aktionen umfassen:
Zusammenstellen eines Konnektivitätsregelsatzes, der eine Mehrzahl von Konnektivitätsregeln aufweist;
gegenseitiges Umwandeln von Statusdaten für zumindest eine erste Netzwerkdatenverbindung und ein zweite Netzwerkdatenverbindung mit jeweiligen Konnektivitätsregeln in dem Konnektivitätsregelsatz, um einen Datensatz zu bilden, der eine Mehrzahl von Kandidaten-Kommunikationsverbindungen darstellt, und
Anfordern einer Netzwerkverbindung für eine ausgewählte der Kandidaten-Kommunikationsverbindungen.

21. Das elektronische Gerät gemäß Anspruch 20, bei dem die ausgewählte der Kandidaten-Kommunikationsverbindungen gemäß Inhalten des Datensatzes ausgewählt wird.

22. Das elektronische Gerät gemäß Anspruch 20 oder 21, bei dem die Aktionen ferner Folgendes umfassen:
adaptives Aktualisieren des Regelsatzes ansprechend auf einen Folgezustand des Anforderungsschrittes.

23. Das elektronische Gerät gemäß einem der Ansprüche 20 bis 22, bei dem der Speicher ein nicht-flüchtiger Speicher ist.

Description:
Querverweis auf verwandte Patentanmeldung

Die vorliegende Patentanmeldung beansprucht die Priorität der US-Provisional-Patentanmeldung mit der Seriennummer 61/204,598, die den Titel NETWORK CONNECTION MANAGER hat und am 7. Januar 2009 eingereicht wurde.

Gebiet der Erfindung

Die vorliegende Erfindung betrifft allgemein Personalcomputer und Vorrichtungen mit einer ähnlichen Architektur sowie insbesondere ein System und ein entsprechendes Verfahren zum Verwalten und Aktivieren von Verbindungen zu Telekommunikationsnetzwerken und insbesondere zu Netzwerken, die Internetprotokolle oder ähnliches verwenden.

Hintergrund der Erfindung

Heutzutage ist die Nutzung von mobilen PCs (Personalcomputer) weit verbreitet und nimmt noch weiter zu. Im wesentlichen alle PCs sind zumindest für einen Teil der Zeit, während der sie durch einen Benutzer aktiv als PC genutzt werden, mit dem Internet verbunden. Für mobile PCs ergeben sich dadurch besondere Herausforderungen, weil sie wahrscheinlich mit verschiedenen ISPs (ISP – Internet Service Provider = Internetdienstanbieter) oder auch mit einem bevorzugten ISP unter Verwendung von verschiedenen physikalischen Verbindungstypen und -modi verbunden werden. Außerdem können mobile PCs unter stark veränderlichen Bedingungen betrieben werden.

Mobile PCs wie etwa Notebook-Computer (Laptop-Computer) können allgemein auf folgende beispielhafte Weise genutzt werden: Ein Benutzer kann den PC aktivieren (etwa indem er den Deckel oder den Anzeigebildschirm des mobilen PCs öffnet) und die Funktionen von installierten Anwendungen und Software aktiv nutzen, während er geographisch stationär bleibt. Später kann der Benutzer dann den PC herunterfahren, etwa indem er den Deckel oder den Anzeigebildschirm schließt, und den PC dann für eine kürzere oder längere Zeitdauer nicht aktiv nutzen. Während der PC nicht genutzt wird, kann er in einer Art Modus mit reduzierter Stromaufnahme gehalten werden, insbesondere wenn der PC batteriebetrieben ist, aber auch um ganz allgemein Strom zu sparen.

Bei einer erneuten Aktivierung kann sich ein mobiler PC üblicherweise an derselben geographischen Position (und in derselben Ausrichtung) befinden wie während der letzten aktiven Sitzung, oder, was ebenfalls üblich ist, an einer anderen Position befinden. Die physikalische/geographische Position spielt gewöhnlich eine Rolle für den Typ der verwendeten Netzwerkverbindung, insbesondere in dem üblichen Fall wenn der Computer mit dem Internet verbunden ist, und zumindest während derselbe aktiv genutzt wird. Unabhängig davon, welche Algorithmen in Bezug auf ISPs verwendet werden, müssen alle Situationen schnell gehandhabt werden.

Mobile PCs können gewöhnlich unter Verwendung von drahtlosen Adapter und/oder über einen kabelgebundenen Verbindungs-(Protokoll-)standard (wie etwa den IEEE 8023-Standard mit dem Internet verbunden werden. Aufgrund ihrer Mobilität müssen sich mobile PCs je nach ihrer Position und aus verschiedenen anderen Gründen mit einer Anzahl von verschiedenen ISPs und/oder mit einem bevorzugten ISP über eine Mehrzahl von Verbindungstypen und -modi verbinden.

Herkömmliche Verbindungsimplementierungen sind nicht in der Lage, eine ausreichend bequeme und schnelle Verbindung zu einem Netzwerk herzustellen, und können die Verbindungsauswahl und die Verbindungsherstellung nicht ausreichend optimieren. Die hier angegebenen verbesserten Computerentwürfe umfassen Ausführungsbeispiele der vorliegenden Erfindung und ermöglichen (unter anderem) bessere Kompromisse angesichts der zuvor erläuterten Probleme und Mängel.

Zusammenfassung der Erfindung

Die vorliegende Erfindung bezweckt, die zuvor beschriebenen und weitere ähnliche Mängel zumindest teilweise zu beseitigen. Die vorliegende Erfindung schafft ein Verfahren zum Betreiben eines Computers für Datenkommunikation sowie eine Vorrichtung zum Ausführen des Verfahrens an. Außerdem werden Programmprodukte und andere Einrichtungen zum Umsetzen der Erfindung angegeben.

Gemäß einem Aspekt der vorliegenden Erfindung kann bei einem Ausführungsbeispiel der Erfindung ein Konnektivitäts-(Anschlussfähigkeits-)regelsatz zusammengestellt werden und können Statusdaten gegenseitig umgewandelt werden, um einen Datensatz mit Kandidaten-Kommunikationsverbindungen zu erzeugen. Dies kann durch eine heuristische Modifikation einer permanenten Computerdatenbank bewerkstelligt werden. Anschließend wird eine Netzwerkverbindung angefordert, beispielsweise durch Aushandeln und Binden einer Sitzung mit einem ISP und einer zugeordneten Aktion.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung können in einem Ausführungsbeispiel der Erfindung physikalische Positionsprofile erzeugt werden, indem zum Beispiel geographische Lokalisierer und zugeordnete Server aufgezeichnet werden. Dann wird ein Netzwerk auf dieser Basis und auf der Basis einer aktuellen physikalischen Position des entsprechenden Computers gewählt.

Diese und andere Merkmale verschiedener Aspekte und bevorzugter Ausführungsbeispiele der vorliegenden Erfindung werden durch die Ansprüche definiert.

Aus einer Implementierung der vorliegenden Erfindung ergeben sich der Vorteil und/oder das Merkmal eines effizienteren Datenaustausches.

Kurze Beschreibung der Zeichnungen

Die zuvor genannten und ähnliche Vorteile und Merkmale der vorliegenden Erfindung werden durch die folgende detaillierte Beschreibung der Erfindung in Verbindung mit den beigefügten Zeichnungen verständlicher und klarer, die ein Ausführungsbeispiel der Erfindung zeigen und in denen gleiche Bezugszeichen gleiche Elemente darstellen.

1 ist ein schematisches Blockdiagramm eines elektronischen Geräts, das konfiguriert ist, um die Sicherheitsfunktionalität gemäß der vorliegenden Erfindung zu implementieren;

2 ist ein Blockdiagramm, das den architektonischen Aufbau der Komponenten eines Ausführungsbeispiels der vorliegenden Erfindung zeigt;

3 ist ein Blockdiagramm, das die Beziehungen zwischen den Komponenten-Subsystemen einer Netzwerkverbindungsverwaltungseinrichtung (NCM; NCM = Network Connection Manager) gemäß der vorliegenden Erfindung zeigt;

4 ist ein Flussdiagramm, das die Schritte zum Implementieren eines iterativen Ansatzes für das Auswählen und Initialisieren von Netzwerkdiensten gemäß der vorliegenden Erfindung zeigt;

5 zeigt, wie ein beispielhaftes Ausführungsbeispiel der Erfindung auf einem oder mehreren Computermedien codiert sein kann; und

6 zeigt, wie ein beispielhaftes Ausführungsbeispiel der Erfindung unter Verwendung von elektromagnetischen Wellen codiert, gesendet, empfangen und decodiert werden kann.

Detaillierte Beschreibung der Erfindung

In den Zeichnungen werden zahlreiche Komponenten gezeigt, um die vorliegende Erfindung für den Fachmann zu verdeutlichen. Wohlbekannte Komponenten werden in der folgenden Beschreibung nicht näher beschrieben, um die Beschreibung nicht zu verkomplizieren und nicht von der Neuheit der vorliegenden Erfindung und den dadurch erzielten hauptsächlichen Vorteilen abzulenken.

Im Folgenden wird ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung mit Bezug auf die Figuren beschrieben. 1 ist ein schematisches Blockdiagramm eines elektronischen Geräts, das konfiguriert ist, um eine Sicherheitsfunktionalität gemäß der vorliegenden Erfindung zu implementieren.

Bei einem beispielhaften Ausführungsbeispiel kann ein elektronisches Gerät 10 als ein PC und beispielsweise als ein Desktop-Computer, ein Laptop-Computer, ein Tablet-PC oder ein anderes geeignetes Rechengerät implementiert sein. Die Beschreibung nimmt auf den Betrieb eines PC Bezug, wobei dem Fachmann jedoch deutlich sein sollte, dass das elektronische Gerät 10 auch als ein PDA, als ein drahtloses Kommunikationsgerät wie etwa ein Mobiltelefon, als eingebettete Steuerungen oder Gerate, wie etwa Set-Top-Boxen, Druckgeräte oder andere geeignete Geräte bzw. eine Kombination derselben implementiert sein kann und geeignet ist, um die Erfindung zu benutzen oder mit derselben zusammenzuwirken.

Das elektronische Gerät 10 kann zumindest einen Prozessor oder eine CPU (Central Processing Unit = zentrale Verarbeitungseinheit) 12 enthalten, die konfiguriert ist, um den Gesamtbetrieb des elektronischen Geräts 10 zu steuern. Ähnliche Steuerungen oder MPUs (Microprocessor Units = Mikroprozessoreinheiten) sind allgemein bekannt. Der Prozessor 12 kann typischerweise über einen Bus 13, wie etwa einen FSB (Front-Side-Bus) mit einer Bussteuerung 14 wie etwa einem Northbridge-Chip gekoppelt sein. Die Bussteuerung 14 kann typischerweise eine Schnittstelle für einen Lese-Schreib-Systemspeicher 16 wie etwa einen RAM (random access memory = Direktzugriffsspeicher) bereitstellen.

Die Bussteuerung 14 kann bei typischen Intel®-Typ-Ausführungsbeispielen auch mit einem Systembus 18 wie etwa einer DMI (Direct Media Interface = direkte Medienschnittstelle) verbunden sein. Mit der DMI 18 kann ein so genannter Southbridge-Chip wie etwa ein Intel® ICH8-(Eingabe/Ausgabe-Steuerungs-Hub-Typ-8)-Chip 24 gekoppelt sein.

Der Southbridge-Chip 24 kann gewöhnlich eine erste Netzwerkschnittstellensteuerung (NIC – Network Interface Controller) 32 wie etwa eine IEEE 802.3 (Institute of Electrical and Electronics Engineeers Standard-Nr. 802.3)-Schnittstelle des 1000 BASE-T-Typs für die Verbindung mit einem verdrahteten Netzwerkverbinder des 8PC8 31 (8 Positionen, 8 Kontakte)-Typs enthalten. Ein 8PC8-Verbinder 31 wird gewöhnlich als RJ45-Tor bezeichnet, und IEEE 8023 wird gewöhnlich als Ethernet® bezeichnet.

Bei einem typischen Ausführungsbeispiel kann der Southbridge-Chip 24 mit einem PCI-Bus 22 (PCI = Peripheral Component Interconnect) verbunden sein, der wiederum mit einer zweiten NIC 66 verbunden sein kann, die ein drahtloses Sende/Empfangsgerät 71 treibt. Das drahtlose Sende/Empfangsgerät 71 kann in Übereinstimmung mit IEEE 802.11 oder anderen geeigneten Standards betrieben werden. Das drahtlose Sende/Empfangsgerät 71 ist gewöhnlich mit einer Form von Funkantenne 72 verbunden. Weiterhin kann der Southbridge-Chip 24 typischerweise mit einem NVRAM (non-volatile random access memory = nicht-flüchtiger Direktzugriffsspeicher) 33 verbunden sein.

Eine oder beide NICs 32 und 66 können Kommunikationssignale übertragen, die verwendet werden, um logische Netzwerkverbindungen etwa zu einem Internetdienst herzustellen. Ein typischer Computer oder ein ähnliches elektronisches Gerät 10 kann auch andere Schnittstellen wie etwa USB (Universal Serial Bus, nicht in 1 gezeigt) aufweisen, die wiederum beispielsweise mit einem Bluetooth®-Sende/Empfangsgerät für andere Kommunikationsmodi innerhalb des allgemeinen Schutzbereichs der Erfindung verbinden können.

2 ist ein Blockdiagramm, das den architektonischen Aufbau 200 der Softwarekomponenten eines typischen Ausführungsbeispiels der Erfindung zeigt. 2 gibt nicht das Layout und auch keine Nachbarschaftsbeziehungen im physikalischen Speicher wieder, sondern zeigt die architektonischen Beziehungen der Software bei einem typischen Ausführungsbeispiel der Erfindung.

Für das im Folgenden beschriebene beispielhafte Ausführungsbeispiel befindet sich ein Hypervisor 210 in der Nähe des unteren Rands des Blockdiagramms, um seine relativ enge architektonische Beziehung zu der Computer- (z. B. digitale) Hardware 205 wiederzugeben. Der Hypervisor 210 bildet einen wichtigen Teil der Dom0 220, die (bei einem Ausführungsbeispiel der Erfindung) eine modifizierte Version eines vollständigen Xen®- und Linux®-Softwarestapels ist. Die Erfindung kann aber genauso gut auf andere Ausführungsbeispiele angewendet werden, bei denen die Dom0 ein anderes Betriebssystem als Linux® verwendet, wie etwa ein individuell angepasstes und einfacheres Betriebssystem auf der Basis von Fragmenten aus Linux®, aus dem ganze Subsysteme entfernt sind.

Dom0 (oder Domain Zero) ist ein auf dem Gebiet der Hypervisoren verwendeter Begriff, um die „privilegierte Domäne” zu bezeichnen, die gewöhnlich als eine virtuelle Maschine (VM) verkörpert ist und größere Privilegien als alle anderen Domänen oder virtuellen Maschinen (auch als DomU 250 oder „unprivilegierte Domänen” bezeichnet) besitzt. In der Dom0 liegt das Linux®-Kernelprogramm 230, auf dem die Anwendungsprogramme 240 für die Ausführung auf einem Linux®-Kernel vorgesehen sind.

Weiterhin ist in 2 eine Netzwerkverbindungsverwaltungseinrichtung (NCM = Network Connection Manager) 235 gezeigt, die teilweise in dem Linux®-Kernel und teilweise als ein Anwendungssoftware-Subsystem implementiert ist. Die Netzwerkverbindungsverwaltungseinrichtung wird weiter unten in dieser Beschreibung ausführlicher beschrieben.

Allgemein kann ein Anwendungsprogramm 240 (und gewöhnlich nur ein Anwendungsprogramm zu einem bestimmten Zeitpunkt), das in der Dom0 ausgeführt wird, teilweise oder vollständig in einem relativ privilegierten Modus ausgeführt werden, wobei derartige Programme bei einem typischen Ausführungsbeispiel der Erfindung relativ einfache und robuste Anwendungen sind. Robuste Anwendungen sind gewöhnlich Anwendungsprogramme, die besonders widerstandfähig sind gegenüber Malware-Angriffen.

Die Dom0 ist also bei einem typischen Ausführungsbeispiel der Erfindung eine privilegierte Domäne. Das heißt, dass die Dom0 zumindest für einen Teil der Zeit in einem privilegierten CPU-Modus wie zum Beispiel Ring 0 in einer IA-32-Architektur ausgeführt wird. Bei einem Ausführungsbeispiel umfasst die Dom0 den Hypervisor, den Linux®-Kernel einschließlich der E/A(Eingabe/Ausgabe)-Emulationsmerkmale und die robusten Anwendungen. Die CPU-Modi und deren zugeordnete Privilegienebenen für die Ausführung der oben genannten Merkmale sind aus dem Stand der Technik wohlbekannt.

Unter der Steuerung des Hypervisors 210 kann auch ein eine nicht vertrauenswürdige oder unprivilegierte Domänensoftware (DomU) 250 ausgeführt werden. Innerhalb der DomU 250 kann ein Gast-Betriebssystem 260 vorgesehen sein, und unter der Steuerung des Gast-Betriebssystems 260 sind mit dem Gast-Betriebssystem kompatible Anwendungen 270 (gewöhnlich mehrere Instanzen) davon vorgesehen. Bei einem beispielhaften Ausführungsbeispiel der Erfindung ist das Gast-Betriebssystem 260 ein komplexes und nicht offen gelegtes Betriebsystem (d. h. eine geschlossene Quelle (Closed Source) im Gegensatz zu dem bekannten „offene Quelle”(„Open Source”)-Paradigma für die Softwaredistribution).

3 ist ein Blockdiagramm, das die Beziehungen von Komponenten-Subsystemen der NCM 235 gemäß einem Ausführungsbeispiel der Erfindung zeigt. In der beispielhaften NCM 235 sind zumindest fünf Komponenten enthalten, nämlich: eine Gruppe von Gerätetreibern (320, 321, 322, 323), der Geräte-Aggregator 315, der NDIS-Treiber 355 (NDIS = Network Driver Interface Specification = Netzwerktreiberschnittstellenspezifikation), die CM (configuration manager = Konfigurationsverwaltungseinrichtung 335 und die GUI (graphical user interface = grafische Benutzeroberfläche) 333. Bei dem beispielhaften Ausführungsbeispiel bilden die Gerätetreiber 320 bis 323 und der Geräte-Aggregator 315 einen Teil eines HypercoreTM-Subsystems 310. Entsprechend bilden die CM 335 und die GUI 333 einen Teil eines HyperspaceTM-Subsystems 330, das in einem Dom0-Teil des Hypervisor-Systems implementiert ist. Und entsprechend befindet sich der NDIS-Treiber 355 in dem und ist Teil des komplexen und nicht offen gelegten Closed Source-Betriebssystems 350. NDIS ist ein bekannter Standard für die Netzwerktechnik. In 3 sind Netzwerk-Kommunikationspfade durch durchgezogene Linien wiedergegeben und die Konfigurationskommunikation ist durch Strichlinien wiedergegeben.

Wie weiterhin in 3 gezeigt, sind Gerätetreiber 320, 321, 322, 323 in dem HypercorTM310 für jedes in dem System vorhandene physikalische Gerät vorgesehen. Zu den Geräten, für die Gerätetreiber vorgesehen sind, gehören gewöhnlich Ethernet®-, Wireless-, 3G-, USB(Universal Serial Bus)- und/oder ähnliche geeignete Geräte. Mit 3G wird die dritte Generation von Mobilfunkstandards auf der Basis der ITU(International Telecommunication Union)-Standardfamilie unter IMT-2000 (International Mobile Telecommunications standards 2000) bezeichnet.

Zu den heutzutage verwendeten typischen Formen von Netzwerkkonnektivität gehören die folgenden in der Tabelle 1 gezeigten verschiedenen Typen:

Wired Ethernet®10 MBit/s, 100 MBit/s und Gigabit Ethernet®Wi-Fi Direct Wireless Cellular Broadband (Direktes drahtloses zellulares Breitband) Indirect Wireless Cellular Broadband (Indirektes drahtloses zellulares Breitband)802.11a, 802.11b, 802.11g, 802.11n 3G, EDGE, EVDO, HSDPA, 1xRTT, UMTS usw. Bluetooth-Verbindung mit einem nahen Telefon, das über drahtloses zellulares Breitband verfügtIndirekt über Wi-FiVerbindung über Wi-Fi mit einem Peer-Computer, der mit dem Netzwerk verbunden ist und als Gateway oder Router dientIndirekt über KabelVerbindung über kabelgebundenes Ethernet® mit einem Peer-Computer, der mit dem Netzwerk verbunden ist und als Gateway oder Router dient
Tabelle 1 – Gebräuchliche Formen verwendeter Netzwerkkonnektivität

Jeder Gerätetyp weist spezifische Eigenschaften auf; so verfügen drahtlose Geräte über SSID (Service Set Identifier = Dienstsatzidentifizierer) und Verschlüsselungseinstellungen, verfingen Ethernet®-Geräte über verschiedene Optimierungen für verbesserte Leistungsfähigkeit usw.

Der Geräte-Aggregator 315 kann einige oder alle der physikalischen Netzwerkgeräte in dem System zu einem einzelnen virtuellen Gerät vereinigen. Obere Schichten (der Konfigurationsverwaltungseinrichtung 335 und der NDIS-Treiber 355) können eine Netzwerkkommunikation nur mit dem virtuellen Gerät ausführen, das durch die Netzwerkgerät-Virtualisierungsfähigkeiten des Geräte-Aggregators 315 bereitgestellt wird. Neben dem Bereitstellen von Virtualisierungsdiensten für die Unterstützung von hypothetischen (virtuellen) Netzwerkgeräten kann die NCM auch eine Emulation von echten Netzwerkgeräten bereitstellen, um Leistungsvorteile zu ermöglichen oder die Dom0 zu unterstützen, deren Netzwerkfähigkeiten enger auf die spezifische; vorhandene Hardware zugeschnitten sein können.

Je nach der Heuristik und/oder den (in der Konfigurationsverwaltungseinrichtung festgelegten) Präferenzen kann der Geräte-Aggregator 315 unter Umständen nur ein ausgewähltes physikalisches Gerät für echte Netzwerkkommunikationen verwenden. Wenn zum Beispiel ein Ethernet®-Kabel vorhanden ist und konfiguriert wurde (oder konfiguriert werden könnte), kann der Geräte-Aggregator 315 einen Wechsel zu der Nutzung des Ethernet®-Gerätetreibers 320 wählen, selbst wenn derzeit ein anderes Gerät für die Netzwerkkommunikation verwendet wird. Und weil die verschiedenen Geräte jeweils eigene Eigenschaften aufweisen, kann die durch den Geräte-Aggregator 315 für den NDIS-Treiber 355 und die Konfigurationsverwaltungseinrichtung 335 bereitgestellte Schnittstelle aufgrund ihres Entwurfs und Aufbaus nur eine vereinfachte Interaktion bei einer maximierten Leistung gestatten, wobei ein Kompromiss zwischen diesen einander widersprechenden Zielsetzungen gefunden und entsprechend implementiert werden muss.

In einem beispielhaften Ausführungsbeispiel der Erfindung kann der NDIS-Treiber 355 in dem Microsoft® Windows® Vista®-Betriebssystem als ein durch den Geräte-Aggregator 315 gewählter Gerätetreiber eingebettet sein. Der Geräte-Aggregator 315 kann von der Nutzung eines physikalischen Gerätetreibers (z. B. 320) zu einem anderen (z. B. 321) wechseln, wobei der NDIS-Treiber 355 diesen Wechsel im Idealfall überhaupt nicht „bemerkt”. Aus Leistungsgründen kann es jedoch wünschenswert sein, einige gerätespezifische Charakteristika, wie etwa Hardware-Früfsummenmerkmal(e), Auslagerungsfähigkeiten und ähnliches freizulegen, wobei dies in ähnlicher Weise wie bei einer erforderlichen Rücksetzung der Verbindung in realen (nicht-virtualisierten) Kommunikationssubsystemen unter Verwendung von NDIS geschehen kann.

Die Konfigurationsverwaltungseinrichtung 335 ist ein wichtiges Subsystem, das eine RBE (rule based engine = regelbasierte Maschine) oder ähnliches sein kann und verschiedene Regeln erfassen kann, die verwendet werden, um Aktionen des Geräte-Aggregators 315 in Übereinstimmung mit Richtlinien anzuweisen. Zum Beispiel kann dieselbe den Geräte-Aggregator 315 anweisen, eine bestimmte Kommunikationsverbindung oder einen bestimmten Gerätetreiber bevorzugt gegenüber anderen auszuwählen (für die Nutzung zu wählen). Zum Beispiel können mehr als ein physikalisches Gerät verwendet werden, um mit dem gleichen oder einem anderen Netzwerk zu kommunizieren, wobei die RBE auf Basis der (finanziellen) Kosten, der höchsten Bandbreite oder anderen entsprechenden Überlegungen die Auswahl eines vorschreiben kann. Der Betrieb der Konfigurationsverwaltungseinrichtung wird im Folgenden näher beschrieben.

Die GUI 333 kann einem Benutzer eine praktische Möglichkeit zum Durchführen einer Regelzusammenstellung bieten, zum Beispiel unter Verwendung der Konfigurationsverwaltungseinrichtung 335 und/oder um aktuelle Verbindungseinstellungen durchzusehen.

Somit können die NCM-Komponenten einen Regelsatz, ein physikalisches Positionsprofil und einen Konnektivitätsvektor (auf der Basis des Hardware-Verbindungsstatus) verwenden. Die NCM sieht weiterhin ein Kommunikationsmodul zwischen Dom0 und DomU (dem komplexen Betriebssystem wie etwa Windows®) vor. Während das Netzwerkgerät auf dem DomU-Subsystem 350 ein einfacher NDIS-Treiber 355 sein kann, der ein emulierters Ethernet®-Gerät implementiert und mit der Dom0 kommuniziert, ist die Geräteverwaltungseinrichtung auf der Seite der Dom0 gewöhnlich ein Kernelmodul (nicht in 3 gezeigt).

Bei dem beispielhaften HyperSpaceTM/HyperCoreTM-Ausführungsbeispiel der Erfindung kann das Subsystem der Konfigurationsverwaltungseinrichtung 335 die vielen für eine Verbindung mit dem Internet benötigten Optionen und Einstellungen konsolidieren. Es kann bestimmte erforderliche Parameter wie etwa Schlüssel, Zertifikate und Einstellungen für alle möglichen Geräte und eine Datenbank zu dem bisherigen Nutzungsverlauf enthalten.

Die Konfigurationsverwaltungseinrichtung 335 arbeitet daher, um Einrichtungen/Konfigurationen zu bewerten und zu sammeln, bevor diese durch einen Benutzer in Bezug auf Netzwerkauswahl oder ähnliches ausgewählt werden. Diese und weitere Informationen werden als ein Regelsatz (ein Satz von Regeln) in einer Datenbank oder einem anderen aus dem Stand der Technik bekannten Datensatz-Handhabungseinrichtung zusammengestellt (d. h. gesammelt, kompiliert, aufgezeichnet und aufrechterhalten). Bei dem beispielhaften Ausführungsbeispiel der Erfindung kann die GUI 333 in verschiedenen Modi mit einem Benutzer interagieren, die durch den Benutzer auf der Basis von dessen Kenntnissen und Erfahrungen mit dem betreffenden Subsystem gewählt werden.

Die Konfigurationsverwaltungseinrichtung 335 hält Informationen, die nicht nur die Verbindung erleichtern, sondern auch die Benutzer in die Lage versetzen, lokal vorhandene und/oder verbundene Ressourcen für die Nutzung zu wählen. Zum Beispiel kann ein Standarddrucker für eine aktuelle Position automatisch für die Nutzung durch den Benutzer gewählt werden, nachdem die Verbindungsverwaltungseinrichtung die aktuelle Position des Computers ermittelt hat. Entsprechend können zum Beispiel entfernte Geräte wie etwa Netzwerkfestplatten von der Auswahl ausgeschlossen werden, damit in deren Abwesenheit keine schwierigen, unangemessenen oder unmöglich zu erfüllenden Aufforderungen für eine erneute Verbindung entstehen, wenn kein lokaler Ersatz bereitsteht.

Einige der gesammelten Informationen können durch einen Benutzer über die GUI eingestellt oder auf andere Weise gehandhabt werden, wobei auch Präferenzeinstellungen aufrechterhalten werden können. Andere Konnektivitätsregeln und Netzwerkstatusdaten können als Teil des Netzwerkverbindungsprozesses gegenseitig umgewandelt (d. h. gegenseitig aktualisiert) werden.

Eine Rückkopplung mit einer heuristischen Erfolgsbemessung der Netzwerkverbindung kann gleichermaßen gehandhabt werden. Zum Beispiel kann eine Netzwerkverbindung, die durchgehend mit guten Ergebnissen und einer guten Leistung funktioniert hat, mit einer Bevorzugung gegenüber einer anderen Netzwerkverbindung, die nur selten oder überhaupt nicht funktioniert hat, gewählt werden. Es kann aber auch eine Benutzereingabe vorgenommen werden, um neue und zuvor noch nicht funktionsfähige Netzwerkverbindungen zu erzwingen. Nutzungsmuster werden darüber hinaus heuristisch für eine bevorzugte oder standardmäßige erneute Nutzung gesammelt, wenn eine zuvor bereits verwendete Netzwerkverbindung erneut herstellt wird, auch wenn die erneute Herstellung nicht vollständig ist. Dies kann VPN(Virtual Private Network = virtuelles privates Netzwerk) -Einstellungen und Passwörter, bevorzugte Drucker oder Netzwerkspeicher wie etwa Festplatten, Andockgeräte oder anderes ähnliches Zubehör umfassen.

Das Netzwerkgerät-Virtualisierungsemulations-Subsystem des beispielhaften HyperSpace/HyperSpaceTM-Ausführungsbeispiels der Erfindung sieht auch eine gleichzeitige Nutzung (d. h. ggf. eine gemeinschaftliche Verwendung) einer einzelnen Netzwerkressource zwischen den eine Kommunikation verwendenden Dom0- und DomU-Anwendungsstapeln vor. Insbesondere stellt die Netzwerkverbindungsverwaltungseinrichtung sicher, dass sich das nicht offen gelegte Betriebssystem die Ressource nicht ausschließlich aneignet und der Dom0-Stapel zumindest einen minimalen oder einen fairen Anteil (je nach der gültigen Richtlinie) der verfügbaren Kommunikationsressourcen erhält, insbesondere wenn die verfügbar Bandbreite in kritischer Weise begrenzt ist.

Informationen werden zumindest für das Dom0-Kommunikationen-Subsystem verfügbar gemacht, sodass dieses sein Verhalten in Übereinstimmung mit den Fähigkeiten (und ggf. auch Kosten) der verfügbaren Verbindung anpassen kann. Zum Beispiel kann ein nicht dringender Download (wie etwa eine routinemäßige Software-Aktualisierung) aufgeschoben werden, wenn gerade eine kostspielige Verbindung verwendet wird und davon ausgegangen werden kann, dass später eine keine weiteren Kosten verursachende Verbindung verfügbar sein wird.

Die NCM stellt auch Anforderungsdienste bereit. Eine Anforderung (supplication) ist ein in der Netzwerktechnologie wohlbekannter Begriff, mit dem bestimmte Prozesse zum Aushandeln einer Netzwerkverbindung bezeichnet werden. Insbesondere bezeichnet eine Anforderung im Kontext der Internettechnologie das Aushandeln einer authentifizierten IP(Internetprotokoll)-basierten Verbindung zwischen einem Host-Computer und einem ISP(Internetdienstanbieter), wobei nicht nur die IP-Sitzung selbst, sondern auch Protokollfunktionen einer höheren Ebene, wie etwa die DNS(Domain Name System = Domänennamensystem)-Bereitstellung usw. ausgehandelt werden. Die Wahl des DNS-Servers, der SSID und/oder dergleichen kann auf einer Richtlinie basieren und Teil des Anforderungsprozesses sein. Alternativ hierzu können einige Parameter wie etwa die DNS-Serveradresse automatisch (in diesem Beispiel über die DDNS(dynamischen DNS)-Protokolle) erhalten werden. Die Verwendung einer Richtlinien-basierten Verbindung kann auch IPv6-Fähigkeiten und Informationen umfassen, insbesondere weil zu erwarten ist, dass IPv6 in Zukunft an Bedeutung gewinnen wird. Die Anforderung kann unter Umständen auch VPN-Verbindungen und andere Dienst wie etwa eine Verschlüsselung umfassen.

Die Anforderung erfolgt ebenfalls heuristisch, wobei die Regeln zum Beispiel berücksichtigen können, ob eine Verbindung erneut hergestellt werden soll (etwa wenn eine vorausgehende Sitzung nur kurze Zeit zurückliegt oder zusammengestellt wurde) oder eine vollständig neue Verbindung versucht und verwendet werden soll. Wenn eine Netzwerkverbindung erfolgreich hergestellt wurde, können weitere Informationen verfügbar werden, die über die reine Verbindung hinausgehen. Diese sekundären Folgedaten (oder Folgezustände) können dann verwendet werden, um den Regelsatz derart zu modifizieren, dass dieser das erweiterte Wissen über die Verbindung, das so erhalten wurde, einbezieht.

4 ist ein Flussdiagramm, das die Schritte zum Implementieren eines iterativen Ansatzes zum Auswählen und Initialisieren von Netzwerkdiensten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung und in weitgehender Übereinstimmung mit der vorstehenden Beschreibung der Konfigurationsverwaltungseinrichtung zeigt.

In Schritt 410 wird ein Verfahren der Netzwerkverbindungsverwaltungseinrichtung (NCM) gemäß dem beispielhaften Ausführungsbeispiel der Erfindung eingeleitet.

Das Verfahren beginnt in Schritt 410. In Schritt 415 wird ein Konnektivitätsregelsatz zusammengestellt, wobei der Regelsatz gesammelt, kompiliert und aufgezeichnet wird. Es stehen verschiedene Techniken aus dem Stand der Technik für die Verwaltung von Regelsätzen zur Verfügung. Gewöhnlich werden dieselben unter Verwendung einer von einer Anzahl von Datenbanktypen gespeichert, und eine grafische Benutzeroberfläche (GUI) kann vorgesehen sein, um eine Interaktion mit einem Benutzer für das Eingeben und Bearbeiten und gelegentliches Zuschneiden der Inhalte des Regelsatzes zu ermöglichen. Die Regelsätze können jedoch adaptiv in Übereinstimmung mit Betriebsbedingungen und Erfordernissen modifiziert werden.

Bei einem Ausführungsbeispiel der Erfindung kann ein Regelsatz eine Richtlinie vorsehen, die gewöhnlich interpretiert wird, um Netzwerkverbindungen anzuweisen und/oder zu steuern, z. B. auf einer Sitzungsebene. Der Regelsatz ermöglicht, dass eine regelbasierte Maschine Kommunikationen und Netzwerkverbindungen wie nachfolgend beschrieben wählt und aktiviert. In dem Regelsatz können viele Kriterien enthalten sein, wobei z. B. Verbindungen mit einer hohen Geschwindigkeit und einer geringen Latenzzeit gegenüber Verbindungen mit einer schlechteren Leistung bevorzugt werden können. Es kann sein, dass die Kosten oder die marginalen Nutzungskosten ausschlaggebend sind, wobei etwa keine weiteren Kosten verursachenden Verbindungen gegenüber kostspieligen Verbindungen auch dann bevorzugt werden können, wenn die kostspieligen Verbindungen hinsichtlich der Leistung weit überlegen sein sollten.

In Schritt 420 wird ein physikalisches Positionsprofil erzeugt. Dieses kann sich auf den Aufenthaltsort des Computers beziehen, insbesondere weil die NCM besonders gut für die Verwendung in mobilen Computern wie etwa Laptop-Computern angepasst ist. Die physikalische Position kann auf verschiedene Weise bestimmt werden, und bezieht sich nicht notwendigerweise auf ein Längengrad/Breitengrad-Paar (oder eine entsprechende Messung) verwenden werden muss, was gewöhnlich nur der Fall ist, wenn der Computer mit GPS-Fähigkeiten (für eine globale Positionierung mit Hilfe von Satellitendaten) ausgestattet ist. Zum Beispiel kann der Computer an einer Heimposition über die in der Technik gebräuchliche verdrahtete 10 Base 100-Verbindung verbunden werden, wobei diese Heimverbindung in dem Kontext der regelbasierten Maschine bevorzugt werden kann.

Eine wichtige Überlegung bei der Bestimmung der physikalischen Position kann ein Vergleich von aktueller physikalischer Position und der Position sein, an welcher der Computer zuletzt betrieben wurde und/oder an welcher zuletzt eine Netzwerkverbindung neu hergestellt wurde. Dabei kann die Verfügbarkeit und Funktionsfähigkeit von bestimmten bevorzugten Netzwerken wiederum eine größere Rolle spielen als die geographische Position. Auch die Zeitdauer kann ein wichtiger Faktor sein. Wenn nur eine kurze Zeitdauer vergangen ist, dann ist es wahrscheinlich, wenn auch nicht sicher, dass die verfügbaren Netzwerke im wesentlichen die gleichen sind, sodass eine Entscheidung über eine zuvor hergestellte Konnektivität für eine Wiederherstellung zu bevorzugen ist.

Aufgrund der vorstehend beschriebenen und anderen Erwägungen kann eine Liste von Kandidaten-Netzwerkverbindungen ersteht werden, die wie unten beschrieben für eine versuchte Verbindung gewählt werden können.

Optional kann dann auf der Basis davon, was hier allgemein als Positionsinformationen bezeichnet wird, und in Übereinstimmung mit dem Regelsatz eine erste Kandidatenverbindung gewählt und deren Funktionsfähigkeit bestimmt werden. Manchmal ist die Wahl offensichtlich und bedarf deshalb minimaler Erwägungen und minimaler Aktionen. Wenn zum Beispiel erkennbar kein Kabel mit dem 10 Base 1000-Ethernet®-Tor verbunden ist, kann dieser Anschluss direkt als nicht funktionsfähig bewertet werden und muss nicht noch eigens getestet werden, um es für eine Verwendung als Netzwerkverbindung unter den derzeit herrschenden Betriebsbedingungen auszuschließen. In anderen Fällen dagegen muss eine Netzwerkverbindung zumindest teilweise oder sogar vollständig hergestellt werden, um zu bestimmen, ob es sich um das „beste” Netzwerk für die Nutzung handelt.

Manchmal fallen für die Herstellung einer Verbindung Kosten an, und wenn eine Richtlinie vorschreibt, dass Verbindungen, für die keine weiteren Kosten anfallen, zu bevorzugen sind, dann wird eine kostenpflichtige Verbindung zurückgesetzt, bevor andere Netzwerke, für die keine weiteren Kosten anfallen, als Kandidaten ausgeschlossen werden. Wie in 4 gezeigt, wird in Schritt 425 ein Versuch unternommen, eine erste Kandidaten-Netzwerkverbindung vollständig herzustellen. Ein derartiger Versuch ergibt wahrscheinlich nützliche Netzwerkstatusdaten, die nach ihrer Erhaltung (Schritt 430) für die Bewertung und Auswahl der Verbindung verwendet werden.

Der Prozess zum Erzeugen eines Positionsprofils, zum Versuchen der Herstellung einer Netzwerkverbindung und zum Erhalten von Netzwerkstatusdaten wird dann für eine zweite Netzwerkverbindung (Schritte 435, 440, 445) und optional (und üblicherweise) für weitere Netzwerkverbindungen wiederholt. Für einige Netzwerkverbindungen kann ein nicht funktionsfähiger, ein nicht verfügbarer oder ein ähnlicher Status ausgegeben werden, sodass diese Netzwerkverbindungen als Kandidaten für die Auswahl des zu verwendenden Netzwerks für die aktuelle Computersitzung ausgeschlossen werden können.

Unter Anwendung der Richtlinien werden anschließend die für die verschiedenen Verbindungen gesammelten Statusdaten anhand der Regeln in dem Regelsatz interpretiert. Wenn die Regeln auf die Statusdaten angewendet werden (Schritt 445), werden auch die Statusdaten auf die Regeln angewendet (Schritt 450). Dieser Prozess kann als eine gegenseitige Umwandlung oder gegenseitige Aktualisierung bezeichnet werden. Der Effekt ist vorzugsweise ein iterativer Prozess, in dem ein zunehmend optimierter heuristischer Ansatz auf die Auswahl eines Netzwerks angewendet wird, das in Bezug auf die aktuellen Netzwerkerfordernisse, die in dem Regelsatz enthaltenen Richtlinien und die über die GUI erhaltenen Präferenzen und Auswahlen und Optionen, welches) Netzwerk(e) zu verwenden ist/sind, besser geeignet ist und auch in Zukunft zu bevorzugen ist.

In Schritt 455 wird eine Netzwerkverbindung angefordert, was gewöhnlich eine Sitzungsaushandlung und eine Festlegung gemäß den derzeit gültigen Netzwerkprotokollen umfasst.

In Schritt 460 wird ein Regelsatz mit den Folgezuständen der Anforderungsaktion aktualisiert, um zum Beispiel Verlaufsdaten zu der Leistung, der Funktionsfähigkeit und/oder den Kosten für eine heuristische Entwicklung von Regelsätzen vorzusehen. Und in Schritt 499 wird das Verfahren beendet.

Wie in 5 gezeigt, können in einem elektronischen Gerät 10 zu integrierende Computerbefehle in der Form von Firmware- und/oder Software-Computerprodukten 510 unter Verwendung von verschiedenen Medien 530, auf denen die Befehle unter Verwendung eines Speicher-Aufzeichnungsgeräts 520 aufgezeichnet sind, vertrieben werden. Dabei kann für Produkte mit einer derartigen Komplexität, die die vorliegende Erfindung verwenden, mehr als ein Medium verwendet werden, sowohl für den Vertrieb als auch für die Herstellung des Produkts. In 5 ist der Einfachheit halber nur ein Medium gezeigt, wobei aber auch mehr als ein Medium verwendet werden kann und ein einzelnes Computerprodukt auf eine Vielzahl von Medien verteilt werden kann.

6 zeigt, wie ein beispielhaftes Ausführungsbeispiel der Erfindung unter Verwendung von elektromagnetischen Wellen codiert, gesendet, empfangen und decodiert werden kann.

Mit Bezug auf 6 können Computerprodukte 610 außerdem, insbesondere dank der verstärkten Internetnutzung, vertrieben werden, indem sie zu Signalen codiert werden, die als eine Welle moduliert werden. Die resultierenden Wellenformen können dann durch einen Sender 640 gesendet, als greifbare, modulierte elektromagnetische Trägerwellen 650 ausgebreitet und durch einen Sender 660 empfangen werden. Nach dem Empfang können sie demoduliert werden und kann das Signal zu einer weiteren Version oder Kopie des Computerprodukts 611 in einem Arbeitsspeicher oder in einer anderen Speichereinrichtung eines zweiten elektronischen Geräts 11 decodiert werden, das in seiner Beschaffenheit dem elektronischen Gerät 10 ähnlich ist.

Es können aber auch andere Topologien von Geräten verwendet werden, um alternative Ausführungsbeispiele der Erfindung zu realisieren.

Die vorstehend beschriebenen Ausführungsbeispiele sind lediglich beispielhaft und nicht einschränkend aufzufassen und schränken die durch die Ansprüche definierte Erfindung in keiner Weise ein. Obwohl vorstehend bevorzugte Ausführungsformen der vorliegenden Erfindung im Detail beschrieben wurden, sollte klar sein, dass der Fachmann viele Variationen und/oder Modifikationen an den hier gelehrten Grundkonzepten vornehmen kann, die dennoch in die Wesensart und den Schutzbereich der angehängten Ansprüche fallen.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Nicht-Patentliteratur

  • IEEE 8023-Standard [0006]
  • IEEE 802.3 [0025]
  • Standard-Nr. 802.3 [0025]
  • IEEE 8023 [0025]
  • IEEE 802.11 [0026]