DE102016117314B4 - Vorrichtung, Verfahren und Programmprodukt zur Datenbandbreitenoptimierung - Google Patents

Vorrichtung, Verfahren und Programmprodukt zur Datenbandbreitenoptimierung Download PDF

Info

Publication number
DE102016117314B4
DE102016117314B4 DE102016117314.2A DE102016117314A DE102016117314B4 DE 102016117314 B4 DE102016117314 B4 DE 102016117314B4 DE 102016117314 A DE102016117314 A DE 102016117314A DE 102016117314 B4 DE102016117314 B4 DE 102016117314B4
Authority
DE
Germany
Prior art keywords
electronic device
data
code
network connection
bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016117314.2A
Other languages
English (en)
Other versions
DE102016117314A1 (de
Inventor
Russell Speight VanBlon
Nathan J. Peterson
John Carl Mese
Rod D. Waltermann
Arnold S. Weksler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of DE102016117314A1 publication Critical patent/DE102016117314A1/de
Application granted granted Critical
Publication of DE102016117314B4 publication Critical patent/DE102016117314B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0244Optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Abstract

Vorrichtung (102), umfassend:einen Prozessor (202);einen Speicher (204), der einen durch den Prozessor ausführbaren Code speichert, wobei der Code umfasst:einen Code (302), der eine Datenbandbreitenbegrenzung einer Netzwerkverbindung für ein erstes Elektronikgerät bestimmt;einen Code (304), der eine Anfrage von einem zweiten Elektronikgerät empfängt, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen;einen Code (306), der in Erwiderung auf die Anfrage Daten von dem ersten Elektronikgerät an das zweite Elektronikgerät bereitstellt;einen Code, der die bereitgestellten Daten verwendet, um eine Verbindungseinstellung des zweiten Elektronikgeräts auf eine gemessene Verbindung umzuschalten;einen Code, der das zweite Elektronikgerät in einen Zustand versetzt, in dem es weniger Bandbreite über die Netzwerkverbindung des ersten Elektronikgeräts verwendet; undeinen Code, der dem zweiten Elektronikgerät Daten entsprechend der Datenbandbreitenbegrenzung bereitstellt, in Reaktion auf ein Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen,wobei das zweite Elektronikgerät Bandbreite in Abhängigkeit davon gebraucht, wie viel Datenbandbreite verwendet wurde, bevor das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgeräts verwendet.

Description

  • 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.

Claims (20)

  1. Vorrichtung (102), umfassend: einen Prozessor (202); einen Speicher (204), der einen durch den Prozessor ausführbaren Code speichert, wobei der Code umfasst: einen Code (302), der eine Datenbandbreitenbegrenzung einer Netzwerkverbindung für ein erstes Elektronikgerät bestimmt; einen Code (304), der eine Anfrage von einem zweiten Elektronikgerät empfängt, um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen; einen Code (306), der in Erwiderung auf die Anfrage Daten von dem ersten Elektronikgerät an das zweite Elektronikgerät bereitstellt; einen Code, der die bereitgestellten Daten verwendet, um eine Verbindungseinstellung des zweiten Elektronikgeräts auf eine gemessene Verbindung umzuschalten; einen Code, der das zweite Elektronikgerät in einen Zustand versetzt, in dem es weniger Bandbreite über die Netzwerkverbindung des ersten Elektronikgeräts verwendet; und einen Code, der dem zweiten Elektronikgerät Daten entsprechend der Datenbandbreitenbegrenzung bereitstellt, in Reaktion auf ein Empfangen der Anfrage von dem zweiten Elektronikgerät auf die Netzwerkverbindung zuzugreifen, wobei das zweite Elektronikgerät Bandbreite in Abhängigkeit davon gebraucht, wie viel Datenbandbreite verwendet wurde, bevor das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgeräts verwendet.
  2. Vorrichtung nach Anspruch 1, wobei der Code, der die Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes bestimmt, einen Code umfasst, der ein Datenkontingent der Netzwerkverbindung des ersten Elektronikgerätes berechnet.
  3. Vorrichtung nach Anspruch 2, wobei der Code, der die Datenbandbreitenbegrenzung des Netzwerkzugriffs des ersten Elektronikgerätes berechnet, einen Code umfasst, der einen Prozentsatz des Datenkontingents, welcher während einer Zeitspanne verbraucht wurde, berechnet.
  4. Vorrichtung nach Anspruch 3, wobei der Code, der den Prozentsatz des Datenkontingents, welcher während der Zeitspanne verbraucht wurde, berechnet, einen Code, der den Prozentsatz des Datenkontingents, welcher während eines Abrechnungszyklus verwendet wird, umfasst.
  5. Vorrichtung nach Anspruch 1, ferner einen Code (402) umfassend, der ein Messniveau für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, bestimmt.
  6. Vorrichtung nach Anspruch 5, wobei das Messniveau ein hohes Datenausgabenniveau, ein mittleres Datenausgabeniveau und ein niedriges Datenausgabeniveau umfasst.
  7. Vorrichtung nach Anspruch 1, ferner einen Code (404) umfassend, der eine Datenmenge, die durch das zweite Elektronikgerät verbraucht wird, überwacht.
  8. Verfahren, umfassend: Bestimmen (502, 602), durch Gebrauch eines Prozessors, einer Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (102); Empfangen (504, 604) einer Anfrage von einem zweiten Elektronikgerät (102), um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen; in Erwiderung auf die Anfrage, Bereitstellen (506, 606) von Daten von dem ersten Elektronikgerät an das zweite Elektronikgerät, Verwenden der bereitgestellten Daten, um eine Verbindungseinstellung des zweiten Elektronikgeräts auf eine gemessene Verbindung umzuschalten; Versetzen des zweiten Elektronikgeräts in einen Zustand, in dem es weniger Bandbreite über die Netzwerkverbindung des ersten Elektronikgeräts verwendet; und 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, wobei das zweite Elektronikgerät Bandbreite in Abhängigkeit davon gebraucht, wie viel Datenbandbreite verwendet wurde, bevor das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgeräts verwendet.
  9. Verfahren nach Anspruch 8, wobei das Bestimmen der Datenbandbreitenbegrenzung der Netzwerkverbindung des ersten Elektronikgerätes ein Berechnen eines Datenkontingents der Netzwerkverbindung des ersten Elektronikgerätes umfasst.
  10. Verfahren nach Anspruch 9, wobei das Bestimmen der Datenbandbreitenbegrenzung der Netzwerkkommunikation des ersten Elektronikgerätes ein Berechnen eines Prozentsatzes des Datenkontingents, welcher während einer Zeitspanne verbraucht wurde, umfasst.
  11. Verfahren nach Anspruch 10, wobei das Berechnen des Prozentsatzes des Datenkontingents, welcher während der Zeitspanne verbraucht wurde, ein Berechnen des Prozentsatzes des Datenkontingents, welcher während eines Abrechnungszyklus verbraucht wurde, umfasst.
  12. Verfahren nach Anspruch 8, ferner ein Bestimmen (608) eines Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, umfassend.
  13. Verfahren nach Anspruch 12, wobei 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 verbraucht wurde, mit dem Prozentsatz der Anzahl der Tage, die in dem Abrechnungszyklus vergangen sind, umfasst.
  14. Verfahren nach Anspruch 8, wobei das Bereitstellen von Daten entsprechend der Datenbandbreitenbegrenzung an das zweite Elektronikgerät, ein Bereitstellen von Daten in einem Dynamic Host Configuration Protocol- („DHCP“) Paket umfasst.
  15. Verfahren nach Anspruch 8, ferner ein Überwachen (610) einer Datenmenge, die durch das zweite Elektronikgerät verbraucht wird, umfassend.
  16. Verfahren nach Anspruch 15, ferner ein Begrenzen (612) der Datenmenge, die durch das zweite Elektronikgerät verbraucht wird, umfassend.
  17. Programmprodukt, umfassend ein computerlesbares Speichermedium (204), das einen durch einen Prozessor (202) ausführbaren Code speichert, wobei der ausführbare Code einen Code umfasst, zum Ausführen: Bestimmen (502, 602) einer Datenbandbreitenbegrenzung einer Netzwerkverbindung eines ersten Elektronikgerätes (102); Empfangen (504, 604) einer Anfrage von einem zweiten Elektronikgerät (102), um auf die Netzwerkverbindung des ersten Elektronikgerätes zuzugreifen; in Erwiderung auf die Anfrage, Bereitstellen (506, 606) von Daten von dem ersten Elektronikgerät an das zweite Elektronikgerät, Verwenden der bereitgestellten Daten, um eine Verbindungseinstellung des zweiten Elektronikgeräts auf eine gemessene Verbindung umzuschalten; Versetzen des zweiten Elektronikgeräts in einen Zustand, in dem es weniger Bandbreite über die Netzwerkverbindung des ersten Elektronikgeräts verwendet; und 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, wobei das zweite Elektronikgerät Bandbreite in Abhängigkeit davon gebraucht, wie viel Datenbandbreite verwendet wurde, bevor das zweite Elektronikgerät die Netzwerkverbindung des ersten Elektronikgeräts verwendet.
  18. Programmprodukt nach Anspruch 17, wobei der Code ferner einen Code (402) umfasst, um ein Bestimmen (608) eines Messniveaus für Daten, die dem zweiten Elektronikgerät bereitgestellt werden, auszuführen.
  19. Programmprodukt nach Anspruch 17, wobei der Code ferner einen Code (404) umfasst, um ein Überwachen (610) einer Datenmenge, die durch das zweite Elektronikgerät verbraucht wird, auszuführen.
  20. Programmprodukt nach Anspruch 17, wobei der Code ferner einen Code (406) umfasst, um ein Begrenzen (612) einer Datenmenge, die durch das zweite Elektronikgerät verbraucht wird, auszuführen.
DE102016117314.2A 2015-09-15 2016-09-14 Vorrichtung, Verfahren und Programmprodukt zur Datenbandbreitenoptimierung Active DE102016117314B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/854,734 2015-09-15
US14/854,734 US20170078416A1 (en) 2015-09-15 2015-09-15 Apparatus, method, and program product for data bandwidth optimization

Publications (2)

Publication Number Publication Date
DE102016117314A1 DE102016117314A1 (de) 2017-03-16
DE102016117314B4 true DE102016117314B4 (de) 2024-02-15

Family

ID=57103792

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016117314.2A Active DE102016117314B4 (de) 2015-09-15 2016-09-14 Vorrichtung, Verfahren und Programmprodukt zur Datenbandbreitenoptimierung

Country Status (5)

Country Link
US (1) US20170078416A1 (de)
EP (1) EP3145123B1 (de)
CN (1) CN106533983B (de)
DE (1) DE102016117314B4 (de)
GB (1) GB2544387B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751924B (zh) * 2020-12-29 2022-09-02 北京奇艺世纪科技有限公司 一种数据推送方法、系统及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110084A1 (en) 2000-12-18 2002-08-15 Butt Alan B. Application based bandwidth limiting proxies

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223222B1 (en) * 1998-05-14 2001-04-24 3Com Corporation Method and system for providing quality-of-service in a data-over-cable system using configuration protocol messaging
AUPS339102A0 (en) * 2002-07-04 2002-08-01 Three Happy Guys Pty Ltd Method of monitoring volumes of data between multiple terminals and an external communication network
DE202006008633U1 (de) * 2006-05-31 2006-08-03 Burgmann Industries Gmbh & Co. Kg Gleitringdichtungsanordnung
US8031594B2 (en) * 2006-09-29 2011-10-04 At&T Intellectual Property I, L.P. System and method of providing communications services
US8953565B1 (en) * 2007-01-26 2015-02-10 Sprint Communications Company L.P. Providing adaptive network access
US10623998B2 (en) * 2007-05-31 2020-04-14 International Business Machines Corporation Price offerings for bandwidth-sharing ad hoc networks
US8526304B2 (en) * 2007-12-20 2013-09-03 Zte Corporation Processing method for resource request in NGN
US8706863B2 (en) * 2008-07-18 2014-04-22 Apple Inc. Systems and methods for monitoring data and bandwidth usage
US8631149B2 (en) * 2008-11-25 2014-01-14 Citrix Systems, Inc. Systems and methods for object rate limiting
CN101534524A (zh) * 2008-12-30 2009-09-16 海尔集团公司 数据流管理方法及无线路由器
JP5767223B2 (ja) * 2009-08-12 2015-08-19 アップル インコーポレイテッド 遅延時間を規定する拒否応答
US8234400B2 (en) * 2010-03-16 2012-07-31 Microsoft Corporation Shaping virtual machine communication traffic
US9813529B2 (en) * 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8238872B2 (en) * 2010-10-18 2012-08-07 GM Global Technology Operations LLC Vehicle data management system and method
AU2012207471B2 (en) * 2011-01-18 2016-07-28 Nomadix, Inc. Systems and methods for group bandwidth management in a communication systems network
US8544316B2 (en) * 2011-07-18 2013-10-01 Korea Institute Of Industrial Technology Micro viscometer
US9544212B2 (en) * 2012-01-27 2017-01-10 Microsoft Technology Licensing, Llc Data usage profiles for users and applications
US8949439B1 (en) * 2012-05-01 2015-02-03 Google Inc. Resource conscious tethering
US9355420B2 (en) * 2012-11-05 2016-05-31 International Business Machines Corporation Bandwidth management
CN103096384B (zh) * 2012-12-17 2016-04-06 东莞宇龙通信科技有限公司 限制从机上网流量的方法及其系统
US20140254499A1 (en) * 2013-03-11 2014-09-11 Vishwa Hassan Tethering of mobile wireless devices
US9832043B2 (en) * 2014-02-07 2017-11-28 Verizon Patent And Licensing Inc. Bandwidth boosting in shared local networks
CN103987060B (zh) * 2014-05-29 2017-04-19 清华大学 一种流量共享平台
CN104243266A (zh) * 2014-09-18 2014-12-24 小米科技有限责任公司 访问网络的方法及装置
US9526032B2 (en) * 2014-09-26 2016-12-20 Apple Inc. Network bandwidth sharing for small mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110084A1 (en) 2000-12-18 2002-08-15 Butt Alan B. Application based bandwidth limiting proxies

Also Published As

Publication number Publication date
CN106533983A (zh) 2017-03-22
GB2544387B (en) 2018-11-14
DE102016117314A1 (de) 2017-03-16
EP3145123A1 (de) 2017-03-22
CN106533983B (zh) 2021-09-03
EP3145123B1 (de) 2020-05-06
GB2544387A (en) 2017-05-17
GB201615638D0 (en) 2016-10-26
US20170078416A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
DE112017000046T5 (de) Beurteilung der Genauigkeit eines Maschinenlernmodells
DE112012005639T5 (de) Auslösen von Fensterbedingungen bei Anwendungen des Stream-Computing
DE112016006083T5 (de) Bereitstellung von Rechenressourcen für eine virtuelle Maschine, die ausgelegt ist eine Gruppe von Anwendungsprogrammen zu Hosten, die einem Benutzer zugeordnet sind
DE102012109959A1 (de) Automatische Vergrößerungs- und Auswahlbestätigung
DE112012003540T5 (de) Leistungsüberwachungsmasszahlen für Datenstromanwendung
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE202012013405U1 (de) Cloud-zu Gerät-Nachrichtenübermittlung zur Anwendungsaktivierung und Meldung
DE102012100379A1 (de) Einstellen einer Datenübermittlungsrate in einem Peer-To-Peer Betrieb
DE102012104747A1 (de) Anpassen einer Benutzerschnittstelle eines Remote Desktop Hostrechners
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE102013210891A1 (de) Dynamisches Substituieren von Übersetzungen
DE102012224492A1 (de) Auslösen von Fensterbedingungen unter Verwendung einer Ausnahmebehandlung
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
DE112017003884T5 (de) Benutzerschnittstelle für Protokollabfragen
DE102014200620A1 (de) Datenabgleichsverwaltungsverfahren und -systeme
DE112016002579T5 (de) Systeme und verfahren für das zuordnen eine scrollereignisses in einer grafischen benutzeroberfläche für unenendliches scrollen
DE202013012437U1 (de) Ausblendbarer Texteingabekasten
DE102015111820A1 (de) Auswählen eines Netzwerkes
DE112012005559T5 (de) Software-Installation
DE112015003888T5 (de) Wiederaufnahme von Sitzungszuständen
DE102016226335A1 (de) Zuordnungsmodell für Inhaltselementumwandlungen
DE102016121486A1 (de) Vorrichtung, verfahren und programmprodukt zum planen des batterieverbrauchs
DE112013000393T5 (de) Zuordnung von Webanwendungsinhalten
DE202014010950U1 (de) Das Anzeigen von dynamischen Inhalten auf einer Karte auf Basis des Standorts des Benutzers und der geplanten Aufgabe
DE102016007400A1 (de) Techniken zum Evaluieren von Anwendungen durch die Verwendung einer Hilfsanwendung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: H04L0012911000

R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012911000

Ipc: H04L0047700000

R082 Change of representative

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

R016 Response to examination communication
R018 Grant decision by examination section/examining division