-
GEBIET
-
Der Gegenstand, der hierin offenbart wird, bezieht sich auf Netzwerkverbindungen und betrifft insbesondere eine Datenbandbreitenoptimierung einer Netzwerkverbindung.
-
HINTERGRUND
-
BESCHREIBUNG DER RELEVANTEN TECHNIK
-
Informationshandhabungsgeräte, wie Desktopcomputer, Laptopcomputer, Tabletcomputer, Smartphones, optische Head-Mounted-Displays, Smartwatches usw., sind in der Gesellschaft allgegenwärtig. Diese Informationshandhabungsgeräte können eine Netzwerkverbindung verwenden. Die Netzwerkverbindung, die durch die Informationshandhabungsgeräte verwendet wird, kann Datenbandbreitenbegrenzungen aufweisen. Beispielsweise offenbart die
US 2002/0 110 084 A1 Proxy-Server, die anwendungsabhängig eine Bandbreite beschränken.
-
KURZE ZUSAMMENFASSUNG
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde die Bandbreitennutzung zu optimieren, wenn ein Elektronikgerät die Bandbreite eines anderen Elektronikgeräts nutzt.
-
Diese Aufgabe wird durch den Gegenstand des Hauptanspruchs 1 und der nebengeordneten Ansprüche 8 und 17 gelöst. Bevorzugte Ausführungsformen der vorliegenden Erfindung sind in den untergeordneten Ansprüchen dargelegt.
-
Eine Vorrichtung zur Datenbandbreitenoptimierung wird offenbart. Ein Verfahren und ein Computerprogrammprodukt können auch die Funktionen der Vorrichtung ausführen. In einer Ausführungsform umfasst die Vorrichtung einen Prozessor und einen Speicher, der durch den Prozessor ausführbaren Code speichert. Der Code bestimmt in verschiedenen Ausführungsformen eine Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes. In einer weiteren Ausführungsform empfängt der Code eine Anfrage von einem zweiten Elektronikgerät, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen. Der Code kann dem zweiten Elektronikgerät in Reaktion auf das Empfangen der Anfrage, von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen, Daten, die der Datenbandbreitenbegrenzung entsprechen, bereitstellen.
-
In einer weiteren Ausführungsform umfasst der Code, der die Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes bestimmt, einen Code, der ein Datenkontingent der Netzwerkverbindung des ersten Elektronikgerätes berechnet. In einigen Ausführungsformen umfasst der Code, der die Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Gerätes bestimmt, einen Code, der einen Prozentsatz des Datenkontingents, welcher während einer Zeitspanne verwendet wird, berechnet. In einer Ausführungsform umfasst der Code, der den Prozentsatz des Datenkontingents, welcher während der Zeitspanne verwendet wird, berechnet, einen Code, der den Prozentsatz des Datenkontingents berechnet, welcher während eines Abrechnungszyklus verwendet wird.
-
In einer anderen Ausführungsform umfasst der Code einen Code, der ein Messniveau für Daten, die durch das zweite Elektronikgerät bereitgestellt werden, bestimmt. In einer derartigen Ausführungsform kann das Messniveau ein hohes Datenausgabeniveau, ein mittleres Datenausgabeniveau und ein niedriges Datenausgabeniveau einschließen. In einigen Ausführungsformen umfasst der Code einen Code, der eine Datenmenge, die durch das zweite Elektronikgerät verwendet wird, überwacht.
-
Ein Verfahren zur Datenbandbreitenoptimierung umfasst in einer Ausführungsform ein Bestimmeneiner Datenbandbandbreitenbegrenzung einer Netzwerkverbindung für ein erstes Elektronikgerät, unter Verwendung eines Prozessors. In einigen Ausführungsformen umfasst das Verfahren ein Empfangen einer Anfrage von einem zweiten Elektronikgerät, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen. In einer weiteren Ausführungsform umfasst das Verfahren ein Bereitstellen von Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät, in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen
-
In einigen Ausführungsformen umfasst ein Bestimmen der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Datenkontingents der Netzwerkverbindung des ersten Elektronikgerätes. In derartigen Ausführungsformen umfasst das Bestimmen der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Prozentsatzes des Datenkontingents, welcher während einer Zeitspanne verwendet wird. In einigen Ausführungsformen umfasst das Berechnen des Prozentsatzes der Datenquote, welcher während der Zeitspanne verwendet wird, ein Berechnen des Prozentsatzes des Datenkontingents, welcher während eines Abrechnungszyklus verwendet wird.
-
In einigen Ausführungsformen umfasst das Verfahren ein Bestimmen eines Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden. In derartigen Ausführungsformen umfasst das Bestimmen des Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, ein Vergleichen eines Prozentsatzes eines Datenkontingents der Netzwerkverbindung, welcher während eines Abrechnungszyklus verwendet wird, mit einem Prozentsatz der Anzahl der Tage, die in dem Abrechnungszyklus abgelaufen sind.
-
In bestimmten Ausführungsformen umfasst das Bereitstellen von Daten an das zweite Elektronikgerät entsprechend der Datenbandbreitenbegrenzung ein dynamisches Host-Konfigurationsprotokoll- („DHCP“) Paket. In einigen Ausführungsformen umfasst das Verfahren ein Überwachen einer Datenmenge, die durch das zweite Elektronikgerät verwendet wird. In einer Ausführungsform kann das Verfahren eine Begrenzung der Datenmenge, die durch das zweite Elektronikgerät verwendet wird, umfassen.
-
In einer Ausführungsform umfasst ein Programmprodukt ein computerlesbares Medium, das einen durch einen Prozessor ausführbaren Code speichert. Der ausführbare Code umfasst in bestimmten Ausführungsformen einen Code zum Durchführen des Bestimmens einer Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes. In einer weiteren Ausführungsform umfasst der ausführbare Code einen Code, um ein Empfangen einer Anfrage von einem zweiten Elektronikgerät auf Zugriff auf die Netzwerkverbindung des ersten Elektronikgerätes auszuführen. Der ausführbare Code umfasst in einigen Ausführungsformen einen Code, zum Ausführen eines Bereitstellens von Daten an das zweite Elektronikgerät entsprechend der Datenbandbreitenbegrenzung, in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen.
-
In bestimmten Ausführungsformen umfasst der Code ferner einen Code um ein Bestimmen eines Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, auszuführen. In einigen Ausführungsformen umfasst der Code ferner einen Code zum Ausführen einer Überwachung einer Datenmenge, die durch das zweite Elektronikgerät verwendet wird. In einer weiteren Ausführungsform umfasst der Code ferner einen Code zum Ausführen einer Begrenzung einer Datenmenge, die durch das zweite Elektronikgerät verwendet wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Eine speziellere Beschreibung der Ausführungsformen, die oben kurz beschrieben wurden, wird durch Bezugnahme auf spezifische Ausführungsformen, die in den anhängenden Zeichnungen dargestellt sind, bereitgestellt. Unter dem Verständnis, dass diese Zeichnungen nur einige Ausführungsformen zeigen und deshalb nicht als Begrenzung des Schutzbereichs zu betrachten sind, werden diese Ausführungsformen mit zusätzlicher Genauigkeit und zusätzlichen Details mittels der begleitenden Zeichnungen beschrieben und erklärt, in denen:
- 1 ein schematisches Blockdiagramm ist, das eine Ausführungsform eines Systems zur Datenbandbreitenoptimierung darstellt;
- 2 ein schematisches Blockdiagramm ist, das eine Ausführungsform einer Vorrichtung einschließlich eines Informationshandhabungsgerätes darstellt;
- 3 ein schematisches Blockdiagramm ist, das eine Ausführungsform einer Vorrichtung, die ein Datenbandbreitenoptimierungsmodul umfasst, darstellt;
- 4 ein schematisches Blockdiagramm ist, das eine andere Ausführungsform einer Vorrichtung, die ein Datenbandbreitenoptimierungsmodul umfasst, darstellt;
- 5 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zur Datenbandbreitenoptimierung darstellt; und
- 6 ein schematisches Flussdiagramm ist, das eine andere Ausführungsform eines Verfahrens zur Datenbandbreitenoptimierung darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Wie durch einen Fachmann der Technik ersichtlich, können die Ausführungsformen als ein System, eine Vorrichtung, ein Verfahren oder ein Programmprodukt ausgedrückt sein. Dementsprechend können Ausführungsformen die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardwareaspekte kombiniert, annehmen, auf die alle hierin allgemein als eine „Schaltung“, „Modul“ oder „System“ Bezug genommen wird. Darüber hinaus können Ausführungsformen die Form eines Programmproduktes annehmen, das in einem oder mehreren computerlesbaren Speichergeräten enthalten ist, die einen maschinenlesbaren Code, einen computerlesbaren Code und/oder einen Programmcode speichern, auf die hiernach als Code Bezug genommen wird. Die Speichergeräte können materiell, nichttransitorisch oder nicht-übertragend sein. Die Speichergeräte können keine Signale enthalten. In einer bestimmten Ausführungsform können die Speichergeräte nur Signale für einen Zugriffscode verwenden.
-
Bestimmte der Funktionseinheiten, die in dieser Spezifikation beschrieben werden, werden als Module bezeichnet, um insbesondere ihre Ausführungsunabhängigkeit zu betonen. Zum Beispiel kann ein Modul als eine Hardwareschaltung, die kundenspezifische Very Large Scale Integration („VLSI“) Cicuits oder Gatearrays, standardmäßige Halbleiter wie Logikchips, Transistoren oder andere diskrete Komponenten umfassen. Ein Modul kann auch in programmierbaren Hardwaregeräten ausgeführt sein wie feldprogrammierbaren Gatearrays, programmierbarer Arraylogik, programmierbaren Logikgeräten oder dergleichen.
-
Module können auch in einem Code und/oder in Software für die Ausführung durch verschiedene Arten von Prozessoren ausgeführt werden. Ein identifiziertes Modul eines Codes kann zum Beispiel ein oder mehrere physische oder logische Blöcke von ausführbaren Codes enthalten, welche zum Beispiel als ein Objekt, ein Vorgang oder eine Funktion organisiert sind. Nichts desto weniger müssen die ausführbaren Dateien eines identifizierten Moduls nicht physikalisch zusammen angeordnet sein, sondern können verteilte Instruktionen, die an unterschiedlichen Orten gespeichert sind, einschließen, welche, wenn sie logisch zusammengefügt werden, das Modul einschließen und den festgelegten Zweck für das Modul erreichen.
-
Allerdings kann ein Modul eines Codes eine einzelne Instruktion oder viele Instruktionen sein und kann sogar über mehrere verschiedene Codesegmente, unter verschiedenen Programmen, und über mehrere Speichergeräte verteilt sein. Auf ähnliche Weise können Betriebsdaten identifiziert sein und hierin innerhalb von Modulen dargestellt sein und können in irgendeiner geeigneten Form ausgedrückt sein und innerhalb irgendeiner geeigneten Art von Datenstruktur organisiert sein. Die Betriebsdaten können als einzelner Datensatz gesammelt sein oder können über verschiedene Orte, einschließlich über verschiedene computerlesbare Speichergeräte, verteilt sein. Wo ein Modul oder Teile eines Moduls in Software ausgeführt ist, werden die Softwareteile auf einem oder mehreren computerlesbaren Speichergeräten gespeichert.
-
Irgendeine Kombination eines oder mehrerer computerlesbarer Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Speichermedium sein. Das computerlesbare Speichermedium kann ein Speichergerät sein, das den Code speichert. Das Speichergerät kann zum Beispiel sein, ist aber nicht begrenzt auf, ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes, holografisches, mikromechanisches oder Halbleiter-System, -Vorrichtung oder - Gerät oder irgendeine geeignete Kombination der Vorhergehenden.
-
Spezifischere Beispiele (einer nicht erschöpfenden Liste) des Speichergerätes würden die folgenden einschließen: eine elektrische Verbindung, die ein oder mehr Drähte aufweist, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher („RAM“), einen Nur-Lese-Speicher („ROM“), einen löschbaren programmierbaren Nur-Lese-Speicher („EPROM“ oder Flash-Speicher), einen tragbaren Kompaktdisk-Nur-Lese-Speicher („CD-ROM“), ein optisches Speichergerät, ein magnetisches Speichergerät oder irgendeine geeignete Kombination der Vorhergehenden. In dem Kontext dieses Dokumentes kann ein computerlesbares Speichermedium irgendein materielles Medium sein, das ein Programm zum Gebrauch durch ein oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zur Ausführung von Instruktionen enthalten oder speichern kann.
-
Ein Code zum Ausführen von Betrieben für Ausführungsformen kann in irgendeiner Kombination von einer oder mehreren Programmiersprachen geschrieben sein, einschließlich einer Objekt orientierten Programmiersprache wie Python, Ruby, Java, Smalltalk, C++ oder dergleichen und konventionellen ausführbaren Programmiersprachen wie die „C“-Programmiersprache oder dergleichen und/oder Maschinensprachen wie Assembler-Sprachen. Der Code kann vollständig auf dem Computer des Nutzers, teilweise auf dem Computer des Nutzers, als ein allein stehendes Softwarepaket, teilweise auf dem Computer des Nutzers und teilweise auf einem entfernten Computer oder vollständig auf einem entfernten Computer oder Server ausgeführt sein. In dem letzteren Szenario kann der entfernte Computer mit dem Computer des Nutzers durch irgendeine Art von Netzwerk verbunden sein, einschließlich eines lokalen Netzwerks („LAN“) oder eines Weitverkehrsnetzes („WAN“), oder kann die Verbindung mit einem externen Computer hergestellt sein (zum Beispiel durch das Internet, das einen Internet Service Provider verwendet).
-
Bezugnahmen in dieser gesamten Spezifikation auf „eine einzelne Ausführungsform“, „eine Ausführungsform“ oder ähnlicher Sprachgebrauch bedeuten, dass ein besonders Merkmal, eine Struktur oder ein Kennzeichen, das mit der Ausführungsform verbunden ist in wenigstens einer Ausführungsform enthalten ist. Die Ausdrücke „in einer einzelnen Ausführungsform“, „in einer Ausführungsform“ und ähnlicher Sprachgebrauch in dieser gesamten Spezifikation können, aber müssen nicht notwendigerweise, sich somit alle auf die gleiche Ausführungsform beziehen, bedeuten aber „eine oder mehrere aber nicht alle Ausführungsformen“, außer es ist ausdrücklich anders spezifiziert. Die Ausdrücke „einschließlich“, „umfassend“ oder „aufweisend“ und Variationen davon bedeuten „einschließlich, aber nicht begrenzt auf“, außer es ist ausdrücklich anders spezifiziert. Eine nummerierte Liste von Gegenständen bedeutet nicht, dass irgendein oder alle Gegenstände wechselseitig exklusiv sind, außer es ist ausdrücklich anders spezifiziert. Die Ausdrücke „ein“, „eine“ und „der, die, das“ beziehen sich auch auf „eine oder mehrere“, außer ausdrücklich anders spezifiziert.
-
Darüber hinaus können die beschriebenen Merkmale, Strukturen oder Kennzeichen der Ausführungsformen in irgendeiner geeigneten Weise kombiniert sein. In der folgenden Beschreibung werden eine Vielzahl spezifischer Details bereitgestellt als Beispiele des Programmierens, der Softwaremodule, der Nutzerauswahl, 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 die Ausführungsformen ohne eine oder mehrere der spezifischen Details oder mit anderen Verfahren, Komponenten, Materialen usw. ausgeführt sein können. In anderen Beispielen werden bekannte Strukturen, Materialien oder Vorgänge nicht im Detail gezeigt oder beschrieben, um verwirrende Aspekte einer Ausführungsform zu vermeiden.
-
Aspekte der Ausführungsformen werden unten mit Bezugnahme auf schematische Flussdiagramme und/oder schematische Blockdiagramme von Verfahren, Vorrichtungen und Systemen und Programmprodukten gemäß den Ausführungsformen beschrieben. Es ist so zu verstehen , dass jeder Block der schematischen Flussdiagramme und/oder schematischen Blockdiagramme und Kombinationen der Blöcke in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch einen Code ausgeführt werden können. Diese Codes können durch einen Prozessor eines Computers für allgemeine Zwecke, eines Computers für spezielle Zwecke oder durch andere programmierbare Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, welche über den Prozessor des Computers oder anderen programmierbaren Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Ausführen der Funktionen/Aktionen, die in dem schematischen Flussdiagramm- und/oder schematischen Blockdiagramm, dem Block oder den Blöcken spezifiziert sind, erzeugen.
-
Der Code kann auch in einem Speichergerät gespeichert sein, das einen Computer oder eine andere Datenverarbeitungsvorrichtung oder andere Geräte anweisen kann, in einer besonderen Weise zu funktionieren, so dass die Instruktionen, die in dem Speichergerät gespeichert sind, einen Herstellungsgegenstand erzeugen, einschließlich Instruktionen, welche die Funktion/Aktion, die in dem schematischen Flussdiagramm- und/oder schematischen Blockdiagramm, dem Block oder den Blöcken spezifiziert ist, implementieren.
-
Der Code kann auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte geladen werden, um zu veranlassen, dass eine Serie von Betriebsschritten auf dem Computer oder anderen programmierbaren Vorrichtungen oder anderen Geräten ausgeführt werden, um einen computerimplementierten Prozess zu erzeugen, so dass der Code, der auf einem Computer oder anderen programmierbaren Vorrichtungen ausgeführt wird, Prozesse zum Ausführen der Funktionen/Aktionen, die in dem schematischen Flussdiagramm- und/oder schematischen Blockdiagramm, dem Block oder den Blöcken spezifiziert sind, bereitstel:
-
Die schematischen Flussdiagramme und/oder schematischen Blockdiagramme in den Figuren stellen die Architektur, Funktionalität und den Betrieb von möglichen Ausführungsformen von Vorrichtungen, Systemen, Verfahren und Programmprodukten gemäß verschiedenen Ausführungsformen dar. In dieser Beziehung kann jeder Block der schematischen Flussdiagramme und/oder schematischen Blockdiagramme ein Modul, Segment oder einen Abschnitt eines Codes darstellen, welcher ein oder mehrere ausführbare Instruktionen des Codes zum Ausführen der spezifischen logischen Funktion(en) umfasst.
-
Es sollte auch angemerkt sein, dass in einigen alternativen Ausführungsformen, die Funktionen, die in dem Block bekannt sind, außerhalb der Reihenfolge, die in den Figuren angemerkt ist, auftreten können. Zum Beispiel können zwei Blöcke, die aufeinanderfolgend gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können die Blöcke manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von der betreffenden Funktionalität. Andere Schritte und Verfahren sind denkbar, die in Funktion, Logik oder Wirkung zu einem oder mehreren Blöcken, oder Teilen davon, der dargestellten Zeichnungen gleich sind.
-
Obwohl verschiedene Pfeilarten und Linienarten in den Flussdiagrammen und/oder Blockdiagrammen verwendet sein können, sind sie nicht als den Umfang der entsprechenden Ausführungsformen begrenzend zu verstehen. 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 unspezifischer Dauer zwischen nummerierten Schritten der gezeigten Ausführungsform anzeigen. Es wird zudem angemerkt, dass jeder Block der Blockdiagramme und/oder Flussdiagramme, und Kombinationen der Blöcke in den Blockdiagrammen und/oder Flussdiagrammen, durch Hardware basierende Systeme für einen speziellen Zweck, welche diese spezifizierten Funktionen oder Aktionen ausführen, oder durch Kombinationen der Hardware für einen speziellen Zweck und dem Code implementiert sein kann.
-
Die Beschreibung der Elemente in jeder Figur kann sich auf Elemente der nachfolgenden Figuren beziehen. Gleiche Nummern beziehen sich auf gleiche Elemente in allen Figuren, einschließlich alternativen Ausführungsformen ähnlicher Elemente.
-
1 zeigt eine Ausführungsform eines Systems 100 zur Datenbandbreitenoptimierung. In einer Ausführungsform umfasst das System 100 Informationshandhabungsgeräte 102, Datenbandbreitenoptimierungsmodule 104, Datennetzwerke 106 und Server 108. Wenn auch eine spezifische Anzahl von Informationshandhabungsgeräten 102, Datenbandbreitenoptimierungsmodulen 104, Datennetzwerken 106 und Servern 108 in 1 gezeigt werden, wird ein Fachmann erkennen, dass irgendeine Anzahl von Informationshandhabungsgeräten 102, Datenbandbreitenoptimierungsmodulen 104, Datennetzwerken 106 und Servern 108 in dem System 100 eingeschlossen sein können.
-
Wie hierin verwendet, kann sich der Begriff „Datenbandbreite“ auf eine Größe von Daten beziehen, die in einer festgelegten Zeitdauer übertragen wird. Zum Beispiel kann die Datenbandbreite sich auf eine Größe von Daten beziehen, die während einer Sekunde, einer Minute, einer Stunde, eines Tages, einer Woche, eines Monats, eines Abrechnungszyklus und so weiter übertragen werden. In bestimmten Ausführungsformen kann die Datenbandbreite gleichbedeutend mit einem Datenkontingent oder einem Monatskontingent sein.
-
In einer Ausführungsform umfassen die Informationshandhabungsgeräte 102 Computergeräte, wie Desktopcomputer, Laptopcomputer, Personal Digital Assistants (PDAs), Tabletcomputer, Smartphones, Smartfernseher (z.B. Fernsehgeräte, die mit dem Internet verbunden sind), Set-top-Boxen, Spielekonsolen, Sicherheitssysteme (einschließlich Sicherheitskameras), Computer an Bord von Fahrzeugen, Netzwerkgeräte (z.B. Router, Schalter, Modems) oder dergleichen. In einigen Ausführungsformen umfassen die Informationshandhabungsgeräte 102 tragbare Geräte, wie Smartwatches, Fitnessbänder, optische Head-Mounted Displays oder dergleichen.
-
Die Informationshandhabungsgeräte 102 können auf das Datennetzwerk 106 direkt unter Verwenden einer Netzwerkverbindung zugreifen (dargestellt durch einen Pfeil zwischen den Informationshandhabungsgeräten 102 und dem Datennetzwerk 106) und/oder die Informationshandhabungsgeräte 102 können das Datennetzwerk 106 durch die Netzwerkverbindung oder ein anderes der Informationshandhabungsgeräte 102 zugreifen (dargestellt durch einen Pfeil zwischen zwei unterschiedlichen Informationshandhabungsgeräten 102).
-
Die Informationshandhabungsgeräte 102 und/oder die Server 108 können eine Ausführungsform des Datenbandbreitenoptimierungsmoduls 104 enthalten. In bestimmten Ausführungsformen kann das Datenbandbreitenoptimierungsmodul 104 eine Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (z.B. eines der Informationshandhabungsgeräte 102) bestimmen. Das Datenbandbreitenoptimierungsmodul 104 kann eine Anfrage von einem zweiten Elektronikgerät (z.B. einem anderen der Informationshandhabungsgeräte 102) empfangen, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen. Das Datenbandbreitenoptimierungsmodul 104 kann, in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen, auch Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät bereitstellen. In dieser Weise kann das Datenbandbreitenoptimierungsmodul 104 verwendet werden, um die Datenbandbreiten zu optimieren.
-
Das Datennetzwerk 106 umfasst in einer Ausführungsform ein digitales Kommunikationsnetzwerk, das digitale Kommunikationen überträgt. Das Datennetzwerk 106 kann ein drahtloses Netzwerk, wie ein drahtloses Mobilfunknetzwerk, ein drahtloses Nahbereichsnetzwerk, wie ein Wi-Fi-Netzwerk, ein Bluetooth®-Netzwerk, ein Nahfeldkommunikations- („NFC“) Netzwerk, ein Adhoc-Netzwerk und/oder dergleichen umfassen. Das Datennetzwerk 106 kann ein WAN, ein Speicherbereichsnetzwerk („SAN“), ein LAN, ein optisches Fasernetzwerk, das Internet oder ein anderes digitales Kommunikationsnetzwerk aufweisen. Das Datennetzwerk 106 kann zwei oder mehrere Netzwerke einschließen. Das Datennetzwerk 106 kann ein oder mehrere Server, Router, Schalter und/oder andere Netzwerkausstattung einschließen. Das Datennetzwerk 106 kann auch computerlesbare Speichermedien, wie ein Festplattenlaufwerk, ein optisches Laufwerk, einen nichtflüchtigen Speicher, einen RAM oder dergleichen einschließen.
-
In einer Ausführungsform umfassen die Server 108 Computergeräte, wie Desktopcomputer, Laptopcomputer, Mainframe-Computer, Cloudserver, virtuelle Server und/oder dergleichen. In einigen Ausführungsformen sind die Server 108 als Applikationsserver, E-Mail-Server, Datenbankserver, Dateiserver, Spieleserver, Heimserver, Medienserver, Web-Server und/oder dergleichen entworfen. In bestimmten Ausführungsformen speichern die Server 108 Daten und können entworfen sein, um über das Netzwerk 106 auf ein oder mehrere Informationshandhabungsgeräte 102 zuzugreifen. In bestimmten Ausführungsformen können die Server 108 wenigstens einen Abschnitt eines Datenbandbreitenoptimierungsmoduls 104 einschließen und können ein oder mehrere Vorgänge des Datenbandbreitenoptimierungsmoduls 104 ausführen.
-
2 zeigt eine Ausführungsform einer Vorrichtung 200, die für eine Datenbandbreitenoptimierung verwendet werden kann. Die Vorrichtung 200 umfasst eine Ausführungsform des Informationshandhabungsgerätes 102. Darüber hinaus kann das Informationshandhabungsgerät 102 das Datenbandbreitenoptimierungsmodul 104, einen Prozessor 202, einen Speicher 204, ein Eingabegerät 206, eine Kommunikationshardware 208 und eine Anzeige 210 umfassen. In einigen Ausführungsformen sind das Eingabegerät 206 und die Anzeige 210 in einem einzigen Gerät, wie einem Touchscreen, kombiniert.
-
Der Prozessor 202 kann in einer Ausführungsform irgendein bekanntes Steuergerät umfassen, das in der Lage ist computerlesbare Instruktionen auszuführen und/oder in der Lage ist logische Vorgänge auszuführen. Zum Beispiel kann der Prozessor 202 ein Mikrosteuergerät, ein Mikroprozessor, eine zentrale Verarbeitungseinheit („CPU“), eine grafische Verarbeitungseinheit („GPU“), eine Hilfsverarbeitungseinheit, ein Field Programmable Gatearray („FPGA“) oder ein ähnliches programmierbares Steuergerät sein. In einigen Ausführungsformen führt der Prozessor 202 Instruktionen aus, die in dem Speicher 204 gespeichert sind, um die Verfahren und Routinen, die hierin beschrieben werden, auszuführen. Der Prozessor 202 ist kommunikativ mit dem Speicher 204, dem Datenbandbreitenoptimierungsmodul 104, dem Eingabegerät 206, der Kommunikationshardware 208 und der Anzeige 210 gekoppelt.
-
Der Speicher 204 ist in einer Ausführungsform ein computerlesbares Speichermedium. In einigen Ausführungsformen umfasst der Speicher 204 flüchtige Computerspeichermedien. Zum Beispiel kann der Speicher 204 ein RAM einschließen, einschließlich dynamische RAM („DRAM“), Synchronous Dynamic RAM („SDRAM“) und/oder Static RAM („SRAM“). In einigen Ausführungsformen umfasst der Speicher 204 nicht-flüchtige Computerspeichermedien. Zum Beispiel kann der Speicher 204 ein Festplattenlaufwerk, einen Flash-Speicher oder irgendein anderes geeignetes nicht-flüchtiges Computerspeichergerät umfassen. In einigen Ausführungsformen umfasst der Speicher 204 sowohl flüchtige als auch nicht-flüchtige Computerspeichermedien.
-
In einigen Ausführungsformen speichert der Speicher 204 Daten, die sich auf eine Datenbegrenzung beziehen. In einigen Ausführungsformen speichert der Speicher 204 auch Programmcodes und relevante Daten, wie ein Betriebssystem oder andere Steuergerätealgorithmen, die auf dem Informationshandhabungsgerät 102 betrieben werden. Das Informationshandhabungsgerät 102 kann das Datenbandbreitenoptimierungsmodul 104 zur Datenoptimierung verwenden.
-
Wie ersichtlich sein kann, kann das Datenbandbreitenoptimierungsmodul 104 Computerhardware, Computersoftware oder eine Kombination aus beiden, Computerhardware und Computersoftware, umfassen. Zum Beispiel kann das Datenbandbreitenoptimierungsmodul 104 eine Schaltung oder einen Prozessor einschließen, die zum Bestimmen einer Datenbandbreitenbegrenzung einer Netzwerkverbindung für ein erstes Elektronikgerät verwendet werden. In einem anderen Beispiel kann das Datenbandbreitenoptimierungsmodul 104 einen Computerprogrammcode enthalten, der eine Anfrage von einem zweiten Elektronikgerät empfängt, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen.
-
Das Eingabegerät 206 kann in einer Ausführungsform irgendein bekanntes Computereingabegerät umfassen, einschließlich eines Touchpanels, einer Taste, eines Keyboards, eines Stylus oder dergleichen. In einigen Ausführungsformen kann das Eingabegerät 206 mit der Anzeige 210 integriert sein, zum Beispiel als ein Touchscreen oder eine ähnliche berührungsempfindliche Anzeige. In einigen Ausführungsformen umfasst das Eingabegerät 206 einen Touchscreen, so dass ein Text unter Verwenden eines virtuellen Keyboards, welches auf dem Touchscreen angezeigt wird, und/oder durch eine Handschrift auf dem Touchscreen eingegeben werden kann. In einigen Ausführungsformen umfasst das Eingabegerät 206 zwei oder mehr unterschiedliche Geräte, wie ein Keyboard und einen Touchpanel. Die Kommunikationshardware 208 kann eine Kommunikation mit anderen Geräten ermöglichen. Zum Beispiel kann die Kommunikationshardware 208 die Kommunikation über Bluetooth®, Wi-Fi und so weiter ermöglichen.
-
Die Anzeige 210 kann in einer Ausführungsform irgendeine bekannte elektronische steuerbare Anzeige oder ein Anzeigegerät sein. Die Anzeige 210 kann konstruiert sein, um visuelle, hörbare und/oder haptische Signale auszugeben. In einigen Ausführungsformen umfasst die Anzeige 210 eine elektronische Anzeige, die in der Lage ist visuelle Daten an einen Nutzer auszugeben. Zum Beispiel kann die Anzeige 210 eine LCD-Anzeige, eine LED-Anzeige, eine OLED-Anzeige, einen Projektor oder ein ähnliches Anzeigegerät, das in der Lage ist Bilder, Texte oder dergleichen an einen Nutzer auszugeben, einschließen, ist jedoch nicht darauf begrenzt. Als weiteres nicht begrenzendes Beispiel kann die Anzeige 210 eine tragbare Anzeige wie eine Smartwatch, Smartglasses, eine Head-Up Display oder dergleichen sein. Ferner kann die Anzeige 210 eine Komponente eines Smartphones, eines Personal Digital Assistant, eines Fernsehgerätes, eines Deskcomputers, eines Notebook- (Laptop-) Computers, eines Personalcomputers, eines Fahrzeugarmaturenbretts oder dergleichen sein.
-
In bestimmten Ausführungsformen umfasst die Anzeige 210 ein oder mehr Lautsprecher zum Erzeugen von Schall. Zum Beispiel kann die Anzeige 210 eine hörbare Warnung oder Benachrichtigung (z.B. einen Piep- oder Glockenton) nach einem Initiieren einer Datenbegrenzung erzeugen. In einigen Ausführungsformen umfasst die Anzeige 210 ein oder mehrere haptische Geräte zum Erzeugen von Vibrationen, einer Bewegung oder einer anderen haptischen Rückkopplung. Zum Beispiel kann die Anzeige 210 eine haptische Rückkopplung nach Initiieren einer Datenbegrenzung erzeugen.
-
In einigen Ausführungsformen kann die ganze oder Teile der Anzeige 210 mit dem Eingabegerät 206 integriert sein. Zum Beispiel können das Eingabegerät 206 und die Anzeige 210 einen Touchscreen oder eine ähnliche berührungsempfindliche Anzeige bilden. In anderen Ausführungsformen kann die Anzeige 210 nahe dem Eingabegerät 206 angeordnet sein. In bestimmten Ausführungsformen kann die Anzeige 210 Instruktionen und/oder Daten zur Ausgabe von dem Prozessor 202 und/oder dem Datenbandbreitenoptimierungsmodul 104 empfangen.
-
3 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform einer Vorrichtung 300 darstellt, die eine Ausführungsform des Datenbandbreitenoptimierungsmoduls 104 einschließt. Darüber hinaus umfasst das Datenbandbreitenoptimierungsmodul 104 ein Datenbandbreitenbegrenzungsbestimmungsmodul 302, ein Netzwerkzugriffsanfragemodul 304 und ein Datentransfermodul 306.
-
Das Datenbandbreitenbegrenzungsbestimmungsmodul 302 kann verwendet werden, um eine Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (z.B. eines Informationshandhabungsgerätes 102) zu bestimmen. Die Datenbandbreitenbegrenzung kann eine Begrenzung auf eine Datenmenge, die dem ersten Elektronikgerät über die Netzwerkverbindung für eine spezifizierte Zeitperiode zur Verfügung steht, sein. Die Begrenzung auf die Datenmenge kann eine aktuelle Datenbegrenzung sein oder kann eine Datenbegrenzung sein, die auf einem Datenplan basiert, der für eine zusätzliche Gebühr erhöht werden kann. Die Datenverbindung kann eine Internetverbindung, eine Mobilfunkverbindung, eine drahtlose Verbindung und so weiter sein. Die Netzwerkverbindung kann in bestimmten Ausführungsformen für den Zugriff auf das Internet verwendet werden. Die spezifizierte Zeitperiode kann ein Abrechnungszyklus, ein Tag, eine Woche, ein Monat, ein Quartal, ein Jahr oder dergleichen sein.
-
In bestimmten Ausführungsformen kann das Datenbandbreitenbegrenzungsbestimmungsmodul 304 verwendet werden, um ein Datenkontingent der Netzwerkverbindung für das erste Elektronikgerät zu berechnen. In derartigen Ausführungsformen kann das Datenbandbreitenbegrenzungsbestimmungsmodul 302 einen Prozentsatz des Datenkontingents, welcher während einer Zeitspanne verwendet wird, berechnen. Darüber hinaus kann das Datenbandbreitenbestimmungsmodul 302 in einigen Ausführungsformen den Prozentsatz des Datenkontingents, welcher während eines Abrechnungszyklus verwendet wird, berechnen.
-
In einigen Ausführungsformen kann das Netzwerkzugriffsanfragemodul 304 verwendet werden, um eine Anfrage von einem zweiten Elektronikgerät (z.B. einem anderen Informationshandhabungsgerät 102) zu empfangen, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen. In anderen Ausführungsformen kann das Netzwerkzugriffsanfragemodul 304 verwendet werden, um eine Anfrage von dem zweiten Elektronikgerät zu senden, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen.
-
In einer Ausführungsform kann das Datentransfermodul 306 in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät, auf die Netzwerkverbindung zuzugreifen Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät bereitstellen. In einer anderen Ausführungsform kann das Datentransfermodul 306 Daten entsprechend der Datenbandbreitenbegrenzung von dem ersten Elektronikgerät empfangen. Die Daten entsprechend der Datenbandbreitenbegrenzung können Daten, die anzeigen, dass die Netzwerkverbindung eine begrenzte Datenbandbreite aufweist, Daten, die anzeigen, dass die Netzwerkverbindung eine unbegrenzte Datenbandbreite aufweist, Daten, die ein Niveau anzeigen, auf das die Datenbandbreite begrenzt ist (z.B. niedrig, mittel, hoch), Daten, die anzeigen, wie viel Datenbandbreite noch zur Verfügung steht, Daten, die anzeigen, wie viel Datenbandbreite verwendet wurde, Daten, die einen Beginn einer Zeitperiode für den Gebrauch der Datenbandbreite anzeigen, Daten, die ein Ende einer Zeitperiode für den Gebrauch der Datenbandbreite anzeigen, Daten, die eine laufende Position während einer Zeitperiode für den Gebrauch der Datenbandbreite anzeigen und so weiter einschließen. Das Datentransfermodul 306 kann Daten von dem ersten Elektronikgerät zu dem zweiten Elektronikgerät unter Verwenden irgendeines geeigneten Verfahrens oder eines Protokolls bereitstellen.
-
Zum Beispiel kann in einer Ausführungsform das erste Elektronikgerät ein Gerät, wie ein Smartphone, ein Router usw., sein, das eine Netzwerkverbindung mit einer begrenzten Datenbandbreite aufweist. Das erste Elektronikgerät kann eine Zeitperioden- (z.B. monatlicher Zyklus, Abrechungszyklus usw.) Netzwerkverbindungsdatenbegrenzung aufweisen, wie eine Begrenzung auf 1 Gigabyte („GB“) pro Abrechnungszyklus. Darüber hinaus kann das erste Elektronikgerät eine Verfolgung darüber, wie viele Daten von der Datenbegrenzung während der Zeitperiode verwendet wurden, aufrechterhalten. Das Datenbandbreitenbegrenzungsbestimmungsmodul 302 kann die Netzwerkverbindungsdatenbegrenzung des ersten Elektronikgerätes bestimmen. Darüber hinaus kann das erste Elektronikgerät einen Aufbau als mobiler Hotspot aufweisen, wie einem Router, und/oder für ein Anbinden, um Netzwerkverbindungsdatenbandbreite mit anderen Geräten zu teilen.
-
Dementsprechend kann ein zweites Elektronikgerät eine Anfrage an das erste Elektronikgerät senden, um auf die Netzwerkverbindungsdatenbandbreite zuzugreifen. Das erste Elektronikgerät kann auf die Anfrage von dem zweiten Elektronikgerät reagieren und Daten entsprechend der Datenbreitenbegrenzung aufweisen, so dass das erste Elektronikgerät eine Begrenzung von 1 GB von Daten pro Monat aufweist. In einigen Ausführungsformen kann das erste Elektronikgerät auch Informationen darüber, wie groß die Datenbandbreitenbegrenzung für die Zeitperiode, für die es verwendet wurde, ist und wie viele Tage der Zeitperiode verstrichen sind, an das zweite Elektronikgerät senden. Dementsprechend kann das zweite Elektronikgerät Informationen aufweisen, die verwendet werden können, um den Datengebrauch auf dem zweiten Elektronikgerät zu begrenzen.
-
In bestimmten Ausführungsformen können die Daten, die von dem ersten Elektronikgerät an das zweite Elektronikgerät bereitgestellt werden, verwendet werden, um dynamisch (z.B. automatisch) eine Verbindungseinstellung des zweiten Elektronikgerätes auf eine Messverbindung zu schalten. Eine Messverbindungseinstellung kann das zweite Elektronikgerät in einen Zustand versetzen, in dem es versuchen wird, weniger Bandbreite auf dem Netzwerk zu verwenden. Die Messverbindungseinstellung kann verschiedene Niveaus des Versuchs, weniger Bandbreite auf dem Netzwerk zu gebrauchen, aufweisen, abhängig davon, wie viel Datenbandbreite verwendet wurde bevor das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgerätes verwendet.
-
In einer Ausführungsform können Daten, die von dem ersten Elektronikgerät an das zweite Elektronikgerät bereitgestellt werden, Teil eines Dynamic Host Configuration Protocol („DHCP“) Paketes sein. Zum Beispiel sind DHCP-Pakete in der Länge variabel und haben „Options-“ Datenfelder, die verwendet werden können, um dem zweiten Elektronikgerät Daten von dem ersten Elektronikgerät zur Verfügung zu stellen, um das zweite Elektronikgerät zu informieren, dass es seinen Datengebrauch auf das Notwendige reduzieren sollte. In bestimmten Ausführungsformen kann, wenn das zweite Elektronikgerät keine derartige Mitteilung akzeptiert, abgelehnt werden, dass das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgerätes verwendet, und/oder die verfügbare Datenbandbreite an das zweite Elektronikgerät kann durch das erste Elektronikgerät begrenzt werden.
-
4 ist ein schematisches Blockdiagramm, das eine andere Ausführungsform einer Vorrichtung 400 darstellt, die eine Ausführungsform des Datenbandbreitenoptimierungsmoduls 104 umfasst. Darüber hinaus umfasst das Datenbandbreitenoptimierungsmodul 104 eine Ausführungsform des Datenbandbreitenbegrenzungsbestimmungsmoduls 302, des Netzwerkzugriffsanfragemoduls 304 und des Datentransfermoduls 306, die im Wesentlichen ähnlich zu dem Datenbandbreitenbegrenzungsbestimmungsmodul 302, dem Netzwerkzugriffsanfragemodul 304 und dem Datentransfermodul 306, die in Bezug auf 3 beschrieben wurden, sind. Das Datenbandbreitenoptimierungsmodul 104 umfasst auch ein Datenmessmodul 402, ein Datengebrauchsüberwachungsmodul 404 und ein Datengebrauchsbegrenzungsmodul 406.
-
In bestimmten Ausführungsformen wird das Datenmessmodul 402 verwendet, um ein Messniveau für die Daten, die von dem ersten Elektronikgerät an das zweite Elektronikgerät bereitgestellt werden, zu bestimmen. In einigen Ausführungsformen kann das Messniveau ein hohes Datenausgabeniveau, ein mittleres Datenausgabeniveau und niedriges Datenausgabeniveau einschließen. Zum Beispiel kann ein hohes Datenausgabeniveau einen hohen Datenbandbreitengebrauch, wie für ein Streamen eines Videos, eine Applikationsinstallation, ein Web-Browsing und so weiter, ermöglichen. Ein mittleres Datenausgabeniveau kann ein Streamen von Videos blockieren, aber eine Applikationsinstallation und ein Web-Browsen ermöglichen. Ein niedriges Datenausgabeniveau kann nur ein Web-Browsen ermöglichen. Das Datenmessmodul 402 kann das Messniveau an das zweite Elektronikgerät bereitstellen oder kann den Bandbreitengebrauch des ersten Elektronikgerätes messen.
-
In einer Ausführungsform wird das Datengebrauchsüberwachungsmodul 404 verwendet, um eine Datenmenge zu überwachen, die durch das zweite Elektronikgerät genutzt wird. Das Datengebrauchsüberwachungsmodul 404 kann in dem zweiten Elektronikgerät positioniert sein, um die Datenmenge, die auf einem lokalen Niveau verwendet wird, zu überwachen, und/oder das Datengebrauchsüberwachungsmodul 404 kann in dem ersten Elektronikgerät positioniert sein, um die Datenmenge zu überwachen, die basierend auf einer Datenmenge, die zum zweiten Elektronikgerät gesendet und/oder vom zweiten Elektronikgerät empfangen wird. In bestimmten
Ausführungsformen kann das Datengebrauchsüberwachungsmodul 404 durch das erste Elektronikgerät verwendet werden, um zu überwachen wie viele Daten von seiner Netzwerkverbindung verwendet werden. In einer Ausführungsform kann das Datengebrauchsüberwachungsmodul 404 ein Anzeigen einer Größe der Datenbandbreite, die verwendet wird, und/oder einer Größe der Datenbandbreite, die zum Gebrauch zur Verfügung steht, wie in einem Web-Browser, an einen Nutzer des ersten und/oder zweiten Elektronikgerätes über ein Taskleistensymbol ein Pop-up-Menü, einem Fenster usw. ermöglichen.
-
Das Datengebrauchsbegrenzungsmodul 406 wird verwendet, um eine Datenmenge, die durch das zweite Elektronikgerät verwendet wird, zu begrenzen. Das Datengebrauchsbegrenzungsmodul 406 kann auf dem zweiten Elektronikgerät positioniert sein, um die Datenmenge, die durch ein lokales Niveau verwendet wird, zu begrenzen, und/oder das Datengebrauchsbegrenzungsmodul 406 kann auf dem ersten Elektronikgerät positioniert sein, um die Datenmenge, die wie durch das erste Elektronikgerät gemessen verwendet wird, zu begrenzen. In bestimmten Ausführungsformen kann das Datengebrauchsbegrenzungsmodul 406 das zweite Elektronikgerät begrenzen, um eine hohe Menge von Daten, eine mittlere Menge von Daten oder eine niedrige Menge von Daten zu gebrauchen.
-
5 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens 500 zur Datenbandbreitenoptimierung darstellt. In einigen Ausführungsformen wird das Verfahren 500 durch eine Vorrichtung ausgeführt, wie dem Informationshandhabungsgerät 102. In anderen Ausführungsformen kann das Verfahren 500 durch ein Modul, wie dem Datenbandbreitenoptimierungsmodul 104, ausgeführt werden. In bestimmten Ausführungsformen kann das Verfahren 500 durch einen Prozessor, der einen Programmcode ausführt, zum Beispiel einen Mikrocontroller, einen Mikroprozessor, eine CPU, eine GPU, eine Hilfverarbeitungseinheit, eine FPGA oder dergleichen ausgeführt werden.
-
Das Verfahren 500 kann bei 502 ein Bestimmen einer Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (z.B. Informationshandhabungsgerätes 102) einschließen. Zum Beispiel kann die Datenbandbreite auf eine bestimmte Größe von Daten über eine bestimmte Größe der Zeit begrenzt sein. In einigen Ausführungsformen umfasst das Bestimmen 502 der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Datenkontingents der Netzwerkverbindung des ersten Elektronikgerätes.
-
In bestimmten Ausführungsformen umfasst ein Bestimmen bei 502 der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Prozentsatzes des Datenkontingents, welcher während der Zeitspanne verwendet wurde. In einer Ausführungsform umfasst ein Berechnen des Prozentsatzes des Datenkontingents, welcher während der Zeitspanne verwendet wird, ein Berechnen des Prozentsatzes des Datenkontingents, welcher während des Abrechnungszyklus gebraucht wurde.
-
Das Verfahren 500 kann bei 504 auch ein Empfangen einer Anfrage von einem zweiten Elektronikgerät (z.B. einem anderen Informationshandhabungsgerät 102), um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen, umfassen. Das Verfahren 500 kann dem zweiten Elektronikgerät bei 506 Daten entsprechend der Datenbandbreitenbegrenzung bereitstellen, in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät, auf die Netzwerkverbindung zuzugreifen. In einer Ausführungsform umfasst ein Bereitstellen von Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät bei 506 ein Bereitstellen von Daten in einem DHCP-Paket. Dann kann das Verfahren 500 enden.
-
6 ist ein schematisches Flussdiagramm, das eine andere Ausführungsform eines Verfahrens 600 zur Datenbandbreitenoptimierung darstellt. In einigen Ausführungsformen wird das Verfahren 600 durch eine Vorrichtung, wie dem Informationshandhabungsgerät 102, ausgeführt. In anderen Ausführungsformen kann das Verfahren 600 durch ein Modul, wie dem Datenbandbreitenoptimierungsmodul 104, ausgeführt werden. In bestimmten Ausführungsformen kann das Verfahren 600 durch einen Prozessor, der einen Programmcode ausführt, ausgeführt werden, zum Beispiel einem Mikrosteuergerät, einem Mikroprozessor, einer CPU, einer GPU, einer Hilfsverarbeitungseinheit, einem PFGA oder dergleichen.
-
Das Verfahren 600 kann bei 602 ein Bestimmen einer Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (z.B. eines Informationshandhabungsgerätes 102) umfassen. Zum Beispiel kann die Datenbandbreite auf eine bestimmte Datenmenge über eine bestimmte Zeitdauer begrenzt sein. In einigen Ausführungsformen umfasst das Bestimmen bei 602 der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Datenkontingents der Netzwerkverbindung für das erste Elektronikgerät. In bestimmten Ausführungsformen umfasst das Bestimmen der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes bei 602 ein Berechnen eines Prozentsatzes des Datenkontingents, welcher während einer Zeitspanne verbraucht wird. In einer Ausführungsform umfasst das Berechnen des Prozentsatzes des Datenkontingents, welcher während der Zeitspanne verbraucht wurde, ein Berechnen des Prozentsatzes des Datenkontingents, welcher während des Abrechnungszyklus verwendet wurde.
-
Das Verfahren 600 kann bei 604 auch ein Empfangen einer Anfrage von einem zweiten Elektronikgerät (z.B. einem anderen Informationshandhabungsgerät 102), um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen, einschließen. Das Verfahren 600 kann dem zweiten Elektronikgerät bei 606 Daten entsprechend der Datenbandbreitenbegrenzung bereitstellen, in Reaktion auf das Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen. In einer Ausführungsform umfasst das Bereitstellen von Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät bei 606 ein Bereitstellen von Daten in einem DHCP-Paket.
-
Das Verfahren 600 kann bei 608 ein Bestimmen eines Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, einschließen. In einer Ausführungsform umfasst das Bestimmen des Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, bei 608 ein Vergleichen eines Prozentsatzes eines Datenkontingentes der Netzwerkverbindung, welcher während eines Abrechnungszyklus verbraucht wurde, mit einem Prozentsatz der Anzahl der Tage, die in dem Abrechnungszyklus vergangen sind.
-
Das Verfahren 600 kann bei 610 ein Überwachen einer Datenmenge, die durch das zweite Elektronikgerät verwendet wird, einschließen. Das Verfahren 600 kann bei 612 auch ein Begrenzen der Datenmenge, die durch das zweite Elektronikgerät verwendet wird, einschließen. Dann kann das Verfahren 600 enden.
-
Ausführungsformen können in anderen spezifischen Formen praktiziert werden. Die beschriebenen Ausführungsformen sollten in jeder Hinsicht nur als darstellend und nicht restriktiv betrachtet werden. Der Umfang der Erfindung ist deshalb durch die anhängenden Ansprüche eher gekennzeichnet als durch die vorhergehende Beschreibung. Alle Änderungen, welche innerhalb der Bedeutung und dem Bereich der Äquivalenz der Ansprüche liegen, sind in ihrem Umfang enthalten.