DE202016107173U1 - Automatische Datenbeschränkungen auf der Grundlage von Signalen - Google Patents

Automatische Datenbeschränkungen auf der Grundlage von Signalen Download PDF

Info

Publication number
DE202016107173U1
DE202016107173U1 DE202016107173.9U DE202016107173U DE202016107173U1 DE 202016107173 U1 DE202016107173 U1 DE 202016107173U1 DE 202016107173 U DE202016107173 U DE 202016107173U DE 202016107173 U1 DE202016107173 U1 DE 202016107173U1
Authority
DE
Germany
Prior art keywords
application
data
network
mobile device
user
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
DE202016107173.9U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202016107173U1 publication Critical patent/DE202016107173U1/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72463User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device
    • 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/803Application aware
    • 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
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/20Traffic policing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • H04M15/885Provision for limiting connection, or expenditure limit per application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • H04M15/888Provision for limiting connection, or expenditure severing connection after predetermined time or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Abstract

Ein Mobilgerät, umfassend: einen Prozessor; eine Anzeige; eine Netzkommunikationskomponente; und ein nicht-flüchtiges, computerlesbares Medium, das sich in Kommunikation mit dem Prozessor, der Anzeige und der Netzkommunikationskomponente befindet, und das Anweisungen speichert, die, wenn sie durch die Prozessor ausgeführt werden, das mobile Gerät veranlassen, Operationen auszuführen, die Folgendes umfassen: Empfangen durch eine erste Anwendung, die auf dem mobilen Gerät ausgeführt wird, von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung einer ersten Anfrage, erste Daten über die Netzkommunikationskomponente einem Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist; Bestimmen, durch die erste Anwendung, dass eine Datenbegrenzungsbedingung, die mit der zweiten Anwendung verbunden ist, erfüllt wurde; Verhindern, in Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, durch die erste Anwendung eines Zugangs der zweiten Anwendung zu der Netzkommunikationskomponente; und Bereitstellen, in Reaktion auf die Bestimmung, dass die Datenbegrenzungsbedingung erfüllt wurde, durch die erste Anwendung einer Aufforderung auf der Anzeige, um einem Benutzer zu erlauben, der zweiten Anwendung Zugang zu einem mit dem mobile Gerät verbundenen Netz zu gestatten.

Description

  • HINTERGRUND
  • Die Kosten des Datenzuganges auf Mobiltelefonen können für die meisten Benutzer in der Welt unerschwinglich sein. Benutzer haben keinen Zugang zu bequemen Kontrollen, um die Nutzung von Daten durch auf ihrem Telefon installierte Anwendungen zu begrenzen. Häufig gehen Benutzer dazu über, ihren Mobil- und Wifi-Funk von Hand abzuschalten oder den Flugzeugmodus zu wählen. Jedoch beschränken diese Optionen den Datenzugang für alle Anwendungen ein, die auf ihrem Mobiltelefon installiert sind, und deaktivieren Telefoniefunktionen.
  • KURZE ZUSAMMENFASSUNG
  • Gemäß einer Implementierung der Offenbarung kann eine erste Anwendung, die auf einem mobilen Gerät ausgeführt wird, von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung eine erste Anfrage empfangen, erste Daten über eine Netzkommunikationskomponente des mobilen Gerätes einem Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist. Die erste Anwendung kann feststellen, dass eine Datenbegrenzungsbedingung, die mit der zweiten Anwendung verbunden ist, erfüllt wurde. Als Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, kann die erste Anwendung den Zugang durch die zweite Anwendung zur Netzkommunikationskomponente verhindern.
  • Gemäß einer anderen Implementierung der Offenbarung kann ein mobiles Gerät einen Prozessor, eine Anzeige, eine Netzkommunikationskomponente und ein nicht-flüchtiges, computerlesbares Medium beinhalten, das sich mit dem Prozessor, der Anzeige und der Netzkommunikationskomponente in Kommunikation befindet. Das nicht-flüchtige, computerlesbare Medium kann Anweisungen speichern, die, wenn sie durch den Prozessor ausgeführt werden, das mobile Gerät veranlassen, Operationen auszuführen. Die Operationen können ein Empfangen einer ersten Anfrage durch die erste auf dem mobilen Gerät ausgeführte Anwendung von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung beinhalten, erste Daten über die Netzkommunikationskomponente an ein Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist, und eine Feststellung durch die erste Anwendung, dass eine Datenbegrenzungsbedingung in Verbindung mit der zweiten Anwendung erfüllt wurde. Die Operationen können, als Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, ein Verhindern eines Zugangs der zweiten Anwendung zur Netzkommunikationskomponente durch die erste Anwendung beinhalten. Die Operationen können, als Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, eine Bereitstellung durch die erste Anwendung einer Aufforderung auf der Anzeige beinhalten, einem Benutzer zu ermöglichen, der zweiten Anwendung den Zugang zu einem mit dem mobile Gerät verbunenen Netz zu gestatten.
  • Gemäß einer anderen Ausführungsform der Offenbarung kann ein nicht-flüchtiges, computerlesbares Medium Anweisungen speichern, die, wenn sie durch den Prozessor eines mobilen Gerätes ausgeführt werden, das mobile Gerät veranlassen, Operationen auszuführen. Die Operationen können einen Empfang, in einer ersten Anwendung, die auf dem mobilen Gerät ausgeführt wird, von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung einer ersten Anfrage beinhalten, erste Daten über eine Netzkommunikationskomponente des mobilen Gerätes einem Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist. Die Operationen können auch ein Bestimmen durch die erste Anwendung beinhalten, dass eine Anzahl Anfragen innerhalb eines Zeitabschnitts, Daten an die und/oder von der zweiten Anwendung über die Netzkommunikationskomponente bereitzustellen, eine erste Schwelle überschreitet, und ein Bestimmen durch die erste Anwendung, dass eine Servicequalitätsbewertung eines Netzes, mit dem die Netzkommunikationskomponente verbunden ist, eine zweite Schwelle überschreitet. Die Operationen können, als Reaktion auf die Feststellung, dass die erste und die zweite Schwelle überschritten wurden, ein Verhindern eines Zugangs der zweiten Anwendung zu der Netzkommunikationskomponente durch die erste Anwendung beinhalten.
  • Eine andere Implementierung der Offenbarung kann Mittel für eine erste Anwendung, die auf einem mobilen Gerät ausgeführt wird, für den Empfang von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung einer ersten Anfrage beinhalten, erste Daten über eine Netzkommunikationskomponente des Gerätes einem Serversystem bereitzustellen, das von dem Gerät entfernt ist. Eine Implementierung kann auch Mittel für die erste Anwendung beinhalten festzustellen, dass eine Datenbegrenzungsbedingung, die mit der zweiten Anwendung verbunden ist, erfüllt wurde. Eine Implementierung kann auch, als Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, Mittel beinhalten, damit die erste Anwendung einen Zugang durch die zweite Anwendung zur Netzkommunikationskomponente verhindern kann.
  • Zusätzliche Eigenschaften, Vorteile und Implementierungen der Offenbarung können aus der Betrachtung der folgenden ausführlichen Beschreibung, der Zeichnungen und der Ansprüche ersichtlich sein. Außerdem gilt es zu verstehen, dass sowohl die vorangehende Zusammenfassung als auch die folgende ausführliche Beschreibung illustrativ und dazu gedacht sind, weitere Erklärungen bereitzustellen, ohne den Umfang der Ansprüche zu begrenzen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die dazugehörigen Zeichnungen, die beigefügt wurden, um das Verständnis der Offenbarungzu erleichtern, stellen einen festen Bestandteil dieser dar. Die Zeichnungen veranschaulichen auch Implementierungen der Offenbarung und dienen zusammen mit der ausführlichen Beschreibung dazu, die Prinzipien der Implementierungen der Offenbarung zu erklären. Es wird kein Versuch unternommen, strukturelle Details ausführlicher zu zeigen, als für ein grundlegendes Verständnis der Offenbarung und der verschiedenen Weisen notwendig ist, auf die sie umgesetzt werden kann.
  • 1 zeigt eine Systemarchitektur und die Bestandteile von Netzservicekomponenten gemäß einer Implementierung der Offenlegung.
  • 2 zeigt ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden.
  • 3 zeigt ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, um zu verhindern, dass eine Anwendung Daten sendet.
  • 4 zeigt ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden.
  • 5 zeigt ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, um zu verhindern, dass eine Anwendung Daten sendet.
  • 6 zeigt ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden.
  • 7 zeigt ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, um zu verhindern, dass eine Anwendung Daten sendet.
  • 8 zeigt Konfigurationsoptionen für Datenbegrenzungsbedingungen einer Datenmanagementanwendung gemäß einer Implementierung der Offenbarung.
  • 9 zeigt ein Flussdiagramm des Übergangs von Betriebszuständen einer Anwendung gemäß einer Implementierung der Offenbarung.
  • 10 zeigt eine Aufforderung für eine Benutzerin, den Zugang einer Anwendung zu einem Netz gemäß einer Implementierung der Offenbarung zu blockieren oder zu gestatten.
  • 11 zeigt eine Aufforderung für eine Benutzerin, den Zugang einer Anwendung zu einem Netz gemäß einer Implementierung der Offenbarung weiterhin zu blockieren oder zu gestatten.
  • 12 zeigt ein Flussdiagramm für einen Prozess, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten gemäß einer Implementierung der Offenbarung über ein Netz zu senden oder zu empfangen.
  • 13 zeigt, gemäß einer Implementierung der Offenbarung, ein Flussdiagramm für einen Prozess, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten über ein Netz zu senden oder zu empfangen, und zwar auf der Grundlage von Bedingungen, einschließlich dem Betriebszustand der Anwendung.
  • 14 zeigt, gemäß einer Implementierung der Offenbarung, ein Flussdiagramm für einen Prozess, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten über ein Netz zu senden oder zu empfangen, und zwar auf der Grundlage von Bedingungen, einschließlich der Antwort einer Benutzerin auf eine Aufforderung.
  • 15 zeigt ein Computergerät gemäß einer Implementierung der Offenbarung.
  • 16 zeigt eine Netzanordnung gemäß einer Implementierung der Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Implementierungen der Offenbarung können eine Datenmanagementanwendung bereitstellen, die den Zugang zu einem Datennetz durch bestimmte Anwendungen auf einem mobilen Gerät einschränken kann, und zwar auf der Grundlage bestimmter Bedingungen. So kann beispielsweise die Datenmanagementanwendung den Zugang durch andere Anwendungen auf einem mobilen Gerät zu einem Netzgerätetreiber kontrollieren. Der Netzgerätetreiber kann mit einer Netzkommunikationskomponente, wie Wifi oder Mobilfunk, zusammenarbeiten, die Zugang zu dem Datennetz bieten. Ein Benutzer kann die Datenmanagementanwendung so konfigurieren, dass sie den Zugang einer bestimmten Anwendung zu dem Netz auf der Grundlage bestimmter Bedingungen einschränkt. So kann beispielsweise ein Benutzer eine Konfiguration wählen, die den Zugang einer Anwendung (z. B. einer zweiten Anwendung) zum Netz verhindert, wenn sie im Hintergrund durchgeführt wird und das mobile Gerät mehr als 90% der Gesamtdaten verwendet hat, die ihm zur Verfügung stehen. Wenn die Anwendung eine Anfrage stellt, Daten zu übertragen, kann die Datenmanagementanwendung die Anfrage empfangen und feststellen, dass die anfragende Anwendung im Hintergrund durchgeführt und der Datenverbrauch sich über der 90%-Schwelle befindet. Infolgedessen kann die Datenmanagementanwendung verhindern, dass die Anfrage der anfragenden Anwendung die Netzkommunikationskomponente erreicht.
  • Implementierungen der Offenbarung können in einer Vielzahl von Komponentenarchitekturen umgesetzt werden. So zeigt 1 beispielsweise die Systemarchitektur 100 mit der Anwendungsschicht 110, der Medienschicht 120, der Primärdienstschicht 130, der Betriebssystemschicht 140 und der Kernel- und Gerätetreiberschicht 150 gemäß einer Implementierung der Offenbarung. Die Bestandteile, die in Architektur 100 dargestellt werden, können auf einem Gerät wie einem Mobiltelefon, einem Smartphone, einem Tablet-Computer, einem PC, einem Laptop, einer Smartwatch oder einem ähnlichem tragbaren Gerät und ähnlichen mobilen und nicht-mobilen Geräten implementiert werden. Architektur 100 ist nur exemplarisch, und Implementierungen dieser Offenbarung können in einer Vielzahl anderer Architekturen verwirklicht werden, die für die Zwecke dieser Offenbarung geeignet sind.
  • Anwendungsschicht 110 kann die Datenmanagementanwendung 111 enthalten, die auch als eine erste Anwendung bezeichnet werden kann. Anwendungsschicht 110 kann auch andere Anwendungen 112 enthalten, die innerhalb Architektur 100 durchgeführt werden, die alle jeweils z. B. als eine zweite Anwendung bezeichnet werden können. So können beispielsweise die Anwendungen 112 E-Mail-Anwendungen, Kalenderanwendungen, Webbrowsing-Anwendungen, Mapping-Anwendungen, Soziale-Medien-Anwendungen, Webenzyklopädie-Anwendungen, Wetteranwendungen, Bankanwendungen, Fernspeicheranwendungen, Podcasting-Anwendungen, Fotoaustauschanwendungen, Video- und Audio-Streaming-Anwendungen, Taxiservice-Anwendungen oder jegliche anderen Anwendungen beinhalten, die auf einem Computergerät ausgeführt werden können.
  • Komponenten der Medienschicht 120 können Mediendienste für Anwendungen der Anwendungsschicht 110 bereitstellen. So kann beispielsweise die Medienschicht 120 Foto-, 2D- und 3D-Zeichnungs-und Graphik-, Animations- und Audiodienstleistungen beinhalten. Die Primärdienstschicht 130 kann Dienstleistungen beinhalten, die bestimmte Kernfunktionen der Anwendungen 110 unterstützen. So können beispielsweise die Primärdienstleistungen 130 Dienstleistungen für die Validierung von und den Zugang zu Benutzerkonten beinhalten; Kontaktinformationen; den Zugang zu integrierten Cloud-Speichern und lokalen Datenbankspeichern; GPS, mobilfunk- und wifi-basierte Position; Telefonie; Management von Sozialen-Medien-Konten; Einkauf in Anwendungen; und Systemkonfiguration. Komponenten der Primärdienstschicht 130 können Netzdienste 131 für die Interaktion gemäß Netzprotokollen über Kommunikationskomponenten eines mobilen Gerätes beinhalten. So kann beispielsweise der Netzdienst 131 Dienste für die Nutzung von Berkeley Software Distribution (BSD) Sockets, die Interaktion mit HTTP-Servern, die Auflösung von DNS-Hosts und die Interaktion mit HTTP-Servern beinhalten.
  • Komponenten der Betriebssystemschicht 140 können Low-Level-Eigenschaften unterstützen, von denen andere Komponenten der Architektur 100 abhängen. So kann beispielsweise die Betriebssystemschicht 140 Dienste für die Ermöglichung der Kommunikation mit anderen Hardwaregeräten beinhalten, die die digitale Signalaufbereitung und die Hardwareoptimierung ausführen. Betriebssystemschicht 140 kann auch Dienste für eine sichere Kommunikation wie die Ausweisverwaltung, die lokale Autorisierung, die Verwaltung von Fondspolicen und die Einrichtung von Kommunikation über ein virtuelles privates Netz (VPN) beinhalten. Zum Beispiel kann Netzdienst 141 VPN-Dienste für die Erstellung verschlüsselter Verbindungen unter Verwendung von Internet Protocol Security (IPSec) 142, Layer 2 Tunneling Protocol (L2TP) 143, Secure Sockets Layer (SSL) oder Transport-Layer-Security-(TLS)Dienst 144, Point-to-Point Tunneling Protocol (PPTP) 1345 oder Secure Shell (SSH) Protocol 146 beinhalten.
  • Wenn VPN-Dienste ausgeführt werden, können sie einen Teil des oder den gesamten Netzzugang für Komponenten von Architektur 100 kontrollieren, einschließlich Zugang durch Anwendungen 112. VPN-Dienste können sich so konfigurieren lassen, dass bestimmte Anwendungen selektiv Daten über ein eingerichtetes VPN senden und empfangen müssen, und andere Anwendungen eine Netzverbindung außerhalb des VPN nutzen können, wie ein kabelloses lokales Netz (WLAN). Elemente eines VPN-Dienstes können unabhängig von der Einrichtung einer tatsächlichen VPN-Verbindung konfiguriert werden. So kann beispielsweise ein VPN-Dienst eine Anwendung veranlassen, ihren Datenverkehr über das VPN zu leiten, auch wenn es kein VPN gibt, über den der Verkehr übertragen werden kann. Daher kann der verlegte Verkehr fallengelassen werden, und infolgedessen kann der Anwendung der Netzzugang verweigert werden.
  • Die Datenmanagementanwendung 111 kann eine Abhängigkeit haben oder ansonsten mit einem VPN-Dienst interagieren, um selektiv zu wählen, welche Anwendungen veranlasst werden können, ihren Netzverkehr auf einen nicht-eingerichteten VPN zu verlegen. Auf diese Weise kann die Datenmanagementanwendung verhindern, dass eine Anwendung Daten über eine Netzverbindung sendet oder empfängt. Die Weiterleitung kann auf Datenbegrenzungsbedingungen wie den in dieser Offenbarung besprochenen basieren. Wenn die Datenbegrenzungsbedingungen nicht erfüllt werden, kann es dem Datenverkehr einer Anwendung gestattet werden, auf normale Netzkanäle zuzugreifen, wie denen über den Netzdienst 131. Weitere Aspekte der Datenmanagementanwendung 111 werden in der Offenbarung besprochen.
  • Netzdienst 141 kann auch Dienste beinhalten, die nicht mit den VPN-Dienstleistungen verbunden sind. So kann beispielsweise Netzdienst 141 einen Service beinhalten, der spezifisch so konfiguriert ist, dass der den Zugang von Daten kontrolliert, die an Netze gesendet oder von Netzen empfangen werden, die durch Implementierung von Architektur 100 mit dem Gerät verbunden sind. Ein solcher Netzdienst kann einen Satz benutzergewählte Richtlinien implementieren, die festlegen, wann jede der Anwendungen 112 auf Daten über ein Netz zugreifen kann. Statt also die Daten anhand von VPN-Anforderungen umzuleiten, kann der Netzdienst 141 den Zugang zu den Netzkommunikationskomponenten oder den Netzgerätetreibern vielmehr gemäß von einer Benutzerin ausgewählten Richtlinien verweigern. Der Netzdienst 141 kann ein Element des Betriebssystems von Architektur 100 sein, oder er kann ein Dienst sein, der eine Datenmanagementanwendung wie Datenmanagementanwendung 111 unterstützt.
  • Kernel- und Gerätetreiberschicht 150 können Ressourcen auf Systemebene beinhalten, die Aspekte des Betriebssystems von Architektur 100 unterstützen. So kann beispielsweise die Kernel- und Gerätetreiberschicht 150 das Dateisystem, die virtuelle Speicherverteilung, Threads und die Interprozesskommunikationen des Gerätes managen, das die Architektur 100 implementiert. Die Schicht 150 kann auch Gerätetreiber für Hardwarekomponenten des Gerätes beinhalten, in dem die Architektur 100 implementiert wird. Gerätetreiber können mit Hardwarekomponenten wie Videoadaptern, Tonkarten und Netzkarten zusammenarbeiten. So kann beispielsweise Netzgerätetreiber 151 eine Oberfläche zwischen Komponenten der Architektur 100, wie Netzdienst 140, und Hardware-Netzkommunikationskomponenten wie Wifi, Mobilfunk, Nahfeldkommunikation und BLUETOOTH-Technologiefunk darstellen.
  • Datenmanagementanwendung 111 kann mit Anwendungen 112, Netzdienst 131, Netzdienst 141 und den Netzgerätetreibern 151 interagieren, um den Datenverbrauch durch Anwendungen 112 zu managen. So kann beispielsweise die Datenmanagementanwendung 111 einer Benutzerin die Option der Wahl von Bedingungen darstellen, unter denen eine bestimmte Anwendung, wie eine Soziale-Medien-Anwendung, auf eine Netzverbindung zugreifen darf. Eine Soziale-Medien-Anwendung kann ständig die Soziale-Medien-Postings der Kontakte der Benutzer überwachen und ihre Postings auf das Gerät der Benutzer herunterladen. Die Benutzerin möchte ihren verbleibenden Datensaldo möglicherweise abends nicht benutzen, weil sie schläft und nicht verfügbar ist, um die Postings zu lesen. Sie möchte ihren verbleibenden Datensaldo möglicherweise nicht benutzen, wenn die Soziale-Medien-Anwendung im Hintergrundmodus läuft, weil sie sich nicht für neue Sozial-Medien-Daten interessiert, wenn sie die Anwendung nicht verwendet. Die Benutzerin möchte ihre Daten vielleicht auch nicht für die Anwendung verwenden, wenn sie mehr als 90% ihrer verfügbaren Daten verwendet hat, weil sie ihre Daten lieber für wichtigere Anwendungen wie ihre E-Mail oder Bankanwendungen verwahren möchte. Die Benutzerin kann Bedingungen auswählen, die, wenn sie erfüllt werden, den Zugang der Soziale-Medien-Anwendung zum Netz während der normalen Schlafensstunden der Benutzerin, wenn die Anwendung im Hintergrundmodus läuft, und wann immer 90 % ihres derzeitigen Datensaldos verbraucht sind, verweigern.
  • Wenn die Bedingungen, die von der Benutzerin eingestellt werden, nicht erfüllt sind, kann die Soziale-Medien-Anwendung Daten über ein Netz senden und empfangen, das an das Gerät der Benutzerin angeschlossen wird. Zum Beispiel zeigt 2 ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden. Wie gezeigt, kann Anwendung 210 die Soziale-Medien-Anwendung der Benutzerin sein. In 211 kann Anwendung 210 beim Anwendungsserver 220, der sich fernab vom Gerät der Benutzerin befinden kann, aktuelle Statusinformationen anfordern. In 212 können Komponenten des Netzdienstes 141 die Anfrage von der Anwendung 210 empfangen und der Datenmanagementanwendung 111 eine Anzeige der bereitstellen.
  • Die Datenmanagementanwendung 111 kann feststellen, dass keine Datenbegrenzungsbedingung für Anwendung 210 erfüllt wurde. So kann beispielsweise die Datenmanagementanwendung 111 die Menge der Daten anfragen, die durch das Gerät der Benutzerin verwendet wurden, den Betriebszustand von Anwendung 210 und das Datum und die Zeit der Statusaktualisierungsanfrage. Die Datenmanagementanwendung 111 kann feststellen, dass das Gerät der Benutzerin nicht mehr als 90% ihres Datensaldos verwendet hat, dass die Soziale-Medien-Anwendung im Vordergrundmodus läuft und dass es 11:30 Uhr an einem Dienstag ist. Auf Grund dieser Anfrage kann die Datenmanagementanwendung feststellen, dass die Datenbegrenzungsbedingungen der Benutzerin für diese Anwendung nicht erfüllt wurden, und folglich kann die Datenmanagementanwendung 111 bei 212 es der Anfrage von Anwendung 210 gestatten, zum Netzgerätetreiber 151 weiter zu gehen. In 213 kann der Netzgerätetreiber 151 die Anfrage einer Netzkommunikationskomponente des Benutzergerätes bereitstellen, das die Anfrage an den Anwendungsserver 220 übermitteln kann.
  • In 214 kann der Anwendungsserver 220 für die Soziale-Medien-Anwendung den aktualisierten Status für die Soziale-Medien-Kontakte der Benutzerin feststellen und bei 214 die aktualisierten Statusdaten dem Gerät der Benutzerin über den Netzgerätetreiber 151 bereitstellen. In 215 kann der Netzgerätetreiber die aktualisierten Statusdaten dem Netzdienst 141 zur Verfügung stellen, der der Datenmanagementanwendung 111 eine Anzeige der aktualisierten Statusdaten bereitstellen kann. Die Datenmanagementanwendung kann feststellen, dass keine Datenbegrenzungsbedingungen gemäß den vorstehend beschriebenen Techniken in Bezug auf die ursprüngliche Anfrage durch die Soziale-Medien-Anwendung erfüllt wurden. Infolgedessen kann die Datenmanagementanwendung 111 zulassen, dass die Antwort von Anwendungsserver 220 der Anwendung 210 bei 216 von dem Netzdienst 141 bereitgestellt wird. In einigen Implementierungen kann die Datenmanagementanwendung 111 Datenübertragungsanfragen von Anwendungen 112 nur filtern und die eingehenden Datenübertragungen wie den Statusupdate 214 nicht überwachen.
  • Zu einem späteren Zeitpunkt können die Datenbegrenzungsbedingungen für die Soziale-Medien-Anwendung erfüllt werden. Zum Beispiel zeigt 3 ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, für die Verhinderung, dass eine Anwendung Daten sendet. Wie vorstehend, kann die Soziale-Medien-Anwendung 210 bei 310 den Anwendungsserver 220 um Statusaktualisierungen bitten. Die Anfrage kann von dem Netzdienst 141 empfangen werden, der der Datenmanagementanwendung 111 eine Anzeige der Anfrage bereitstellen kann. Die Anfrage bei 310 kann um 23:30 später am selben Dienstag gestellt werden. Dieser Zeitpunkt kann in dem festgelegten Schlafzeitplan der Benutzerin liegen, und folglich kann die Datenmanagementanwendung 111 feststellen, dass eine Datenbegrenzungsbedingung für Anwendung 210 erfüllt wurde. Auf der Grundlage dieser Feststellung kann die Datenmanagementanwendung 111 den Netzdienst 141 daran hindern, die Anfrage dem Netzgerätetreiber 151 bereitzustellen. In 320 kann die Datenmanagementanwendung 111 der Soziale-Medien-Anwendung eine Antwort bereitstellen, die anzeigt, dass ihr der Zugang zum Datennetz zu diesem Zeitpunkt nicht gestattet wird.
  • In einigen Implementierungen kann eine Datenbegrenzungsbedingung für eine Anwendung erfüllt werden, und anstatt die Anwendung automatisch zu blockieren, kann die Datenmanagementanwendung der Benutzerin eine Aufforderung mit der Bitte darstellen, dass die Benutzerin den Zugang autorisiert. Zum Beispiel zeigt 4 ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden. In 410 kann die Soziale-Medien-Anwendung 210 den Anwendungsserver 220 um Statusaktualisierungen bitten. Der Netzdienst 141 kann die Anfrage empfangen und der Datenmanagementanwendung 111 eine Anzeige der Anfrage bereitstellen. Die Datenmanagementanwendung 111 kann feststellen, dass Datenbegrenzungsbedingungen erfüllt wurden, und bei 411 eine Aufforderung bereitstellen, die auf dem Gerät der Benutzerin in der Anwendung 210 erscheint oder diese überlagert. Die Benutzerin kann die Aufforderung ansehen und wählen, der Anwendung den Zugang zum Datennetz zu gestatten. In 412 kann die Auswahl der Benutzerin der Datenmanagementanwendung 111 bereitgestellt werden. Als Reaktion auf das Empfangen der Autorisierung der Benutzerin, kann die Datenmanagementanwendung 111 bei 413 es dem Netzdienst 141 gestatten, den Statusantrag dem Netzgerätetreiber 151 bereitzustellen. Der Netzgerätetreiber kann dann die Netzkommunikationskomponente des Benutzergerätes veranlassen, die Anfrage bei 414 an den Anwendungsserver 220 zu übermitteln.
  • In 415 kann der Anwendungsserver eine Antwort auf die Anfrage an den Netzgerätetreiber 151 übermitteln, der die Antwort dem Netzdienst 141 bei 416 bereitstellen kann. Die Datenmanagementanwendung 111 kann feststellen, dass die Antwort ein Resultat der zuvor autorisierten Anfrage ist. So kann beispielsweise die Datenmanagementanwendung 111 feststellen, dass eine in der Anfrage enthaltene Kennung auch in der Antwort vorhanden ist. Die Autorisierung 412 der Benutzerin kann auch einen Zeitabschnitt anzeigen, während dessen die Datenübertragung für die Soziale-Medien-Anwendung 210 gestattet werden kann. Die Datenmanagementanwendung 111 kann feststellen, dass die Antwort vom Anwendungsserver 220 innerhalb dieses Zeitabschnitts empfangen wurde. Auf der Grundlage einer dieser beiden Feststellungen oder anderen für die Zwecke der Offenbarung geeigneten Feststellungen kann die Datenmanagementanwendung 111 es dem Netzdienst 141 bei 417 gestatten, der Anwendung 210 die Statusaktualisierungen bereitzustellen.
  • Unter bestimmten Umständen können Daten einer Anwendung von einer externen Quelle bereitgestellt werden, wenn die Benutzerin die Daten nicht empfangen möchte. Zum Beispiel zeigt 5 ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, um zu verhindern, dass eine Anwendung Daten empfängt. In 510 kann der externe Anwendungsserver 220 eine Statusaktualisierung an das Benutzergerät schicken, die vom Netzgerätetreiber 151 empfangen wird. Der Netzdienst 141 kann die Aktualisierung empfangen und der Datenmanagementanwendung 111 eine Anzeige der Aktualisierung bereitstellen. Die Datenmanagementanwendung 111 kann feststellen, dass eine Datenbegrenzungsbedingung für die Anwendung erfüllt wurde, und verhindern, dass der Netzdienst 141 der Soziale-Medien-Anwendung 210 die Statusaktualisierung bereitstellt. In 512 kann die Datenmanagementanwendung den Netzdienst 141 veranlassen, eine Benachrichtigung mit der Anzeige bereitstellen, dass Anwendung 210 z.Z. nicht autorisiert ist, Daten zu empfangen. In 513 kann der Netzgerätetreiber 151 diese Nachricht über die Netzkommunikationskomponente an den Anwendungsserver 220 übermitteln.
  • Auch wenn eine Benutzerin im Allgemeinen nicht möchte, dass ihre Soziale-Medien-Anwendung Statusaktualisierungen empfängt, kann sie es der Anwendung selektiv gestatten wollen, Daten anzunehmen. So ist es beispielsweise möglich, dass anstatt allgemeiner Statusaktualisierungen einer ihrer Soziale-Medien-Kontakte ein Foto an ihr Gerät schicken möchte. Bevor sie das Herunterladen auf ihr Gerät zulässt, kann der Benutzerin eine Aufforderung mit der Bitte dargestellt werden, das Herunterladen des Fotos zu autorisieren. 6 zeigt ein Sequenzdiagramm, um es einer Anwendung zu gestatten, Daten gemäß einer Implementierung der Offenbarung zu senden. In 610 kann der Anwendungsserver 220 eine Anfrage übermitteln, die anzeigt, dass ein Soziale-Medien-Kontakt der Benutzerin ein Foto schicken möchte. Der Netzgerätetreiber 151 kann die Anfrage empfangen und bei 611 dem Netzdienst 141 die Anzeige bereitstellen. Der Netzdienst 141 kann der Datenmanagementanwendung 111 eine Anzeige der Anfrage bereitstellen, und die Datenmanagementanwendung 111 kann feststellen, dass eine Datenbegrenzungsbedingung erfüllt wurde. Infolgedessen kann die Datenmanagementanwendung 111 über die Benutzeroberfläche dem Gerät der Benutzerin eine Aufforderung 612 bereitstellen, die in der Soziale-Medien-Anwendung 210 angezeigt wird oder diese überlagert. Die Benutzerin kann wählen, dass sie das Foto herunterladen möchte, und bei 613 kann eine Anzeige mit der Auswahl der Benutzerin der Datenmanagementanwendung 111 bereitgestellt werden. In 614 kann als Reaktion auf das Empfangen der Wahl der Benutzerin die Datenmanagementanwendung 111 dem Anwendungsserver 220 eine Anfrage bereitstellen, mit dem Herunterladen des Fotos zu beginnen. Der Netzdienst 141 kann dem Netzgerätetreiber 151 bereitstellen, der die Anfrage bei 615 über eine Netzkommunikationskomponente des Benutzergerätes übermitteln kann. In 616 kann der Anwendungsserver 220 das Foto dem Benutzergerät übermitteln. Der Download kann vom Netzgerätetreiber 151 empfangen werden, der das Foto dem Netzdienst 141 bei 617 bereitstellen kann. Der Netzdienst 141 kann der Datenmanagementanwendung 111 eine Anzeige des Downloads bereitstellen, und die Datenmanagementanwendung kann feststellen, dass eine Datenbegrenzungsbedingung erfüllt wurde. Die Datenmanagementanwendung 111 kann es dem Netzdienst 141 dann gestatten, das Foto der Soziale-Medien-Anwendung 210 bei 618 bereitzustellen.
  • Als Reaktion auf das Empfangen einer Aufforderung kann eine Benutzerin auch beschließen, den Datenzugang für eine Anwendung nicht zu gestatten. Zum Beispiel zeigt 7 ein Sequenzdiagramm gemäß einer Implementierung der Offenbarung, um zu verhindern, dass eine Anwendung Daten empfängt. Der Anwendungsserver 220 kann eine Anfrage übermitteln, ein Foto auf das Gerät der Benutzerin herunterzuladen. In 710, 711 und 712 können ähnliche Prozesse wie in Bezug auf 610, 611 und 612 stattfinden. Jedoch kann die Benutzerin bei 713 wählen, das Foto von ihrem Soziale-Medien-Kontakt nicht herunterzuladen. Die Auswahl der Benutzerin kann dem Netzdienst 141 bei 713 bereitgestellt werden, und der Netzdienst 141 kann der Datenmanagementanwendung 111 eine Anzeige der Wahl bereitstellen. In 714 kann die Datenmanagementanwendung 111 den Netzdienst 141 anweisen, die Anzeige dem Anwendungsserver 220 bereitzustellen. Der Netzgerätetreiber 151 kann die Anzeige empfangen und die Benachrichtigung dem Anwendungsserver 220 bei 715 übermitteln. Auf der Grundlage der Benachrichtigung kann Anwendungsserver 220 das Übermitteln des Fotos an das Gerät der Benutzerin unterlassen.
  • Die Datenmanagementanwendung 111 kann zahlreiche Datenbegrenzungsbedingungen für zahlreiche Anwendungen bereitstellen. Zum Beispiel zeigt 8 Konfigurationsoptionen für Datenbegrenzungsbedingungen einer Datenmanagementanwendung gemäß einer Implementierung der Offenbarung. Wie gezeigt, kann die Datenmanagementanwendung 111 Konfigurationsoptionen für jede des Satzes der Anwendungen 112 enthalten. Jede Anwendung kann einen Satz Bedingungsprofile haben. So kann beispielsweise die Soziale-Medien-Anwendung 210 mit einem Satz Bedingungsprofile 800 einschließlich Bedingungsprofil 810 verbunden sein.
  • Jedes Bedingungsprofil kann verschiedene Optionen für die Konfiguration von Datenbegrenzungsbedingungen bereitstellen. So kann beispielsweise Bedingungsprofil 800 die Datenbegrenzungsbedingungen auf der Grundlage einer ausgewählten Datenbegrenzung 820, einem zeitlich festgelegten Zeitabschnitt 830, einer Datenmenge, die innerhalb eines Zeitabschnitts (Spike) 840 übertragen wird, einer Art Netz, an die das Gerät der Benutzerin 850 angeschlossen ist, einer Anzahl der Netz-Verbindungsversuche durch Anwendung 210 innerhalb eines Zeitabschnitts (Chattiness) 860 oder einer Qualität des Services von Netz 870 zulassen.
  • Jede Datenbegrenzungsoption kann weitere Bedingungsspezifikationen haben. Wenn die Benutzerin z. B. den Datenzugang auf der Grundlage der Datenbegrenzung 820 begrenzen möchte, kann die Benutzerin angeben, welcher Prozentsatz 821 des Gesamtdatensaldos der Benutzerin den Schwellenwert darstellen kann. Die Benutzerin kann wählen, ob die Begrenzung eine automatische Beschränkung auslöst, oder ob die Benutzerin ansonsten 822 aufgefordert wird. Die Benutzerin kann angeben, ob die Datenbegrenzungsbedingung erfüllt ist, wenn Anwendung 210 im Hintergrund 823, im Vordergrund 824 oder in beiden ausgeführt wird.
  • Wenn die Benutzerin den Datenzugang für die Soziale-Medien-Anwendung 210 auf der Grundlage einer Datenmenge in einem Zeitabschnitt begrenzen möchte, kann die Benutzerin angeben, dass Datenspitzenzustand 840 den Datenzugang an einer Schwelle einschränkt, wenn eine gewisse Anzahl Megabits durch die Anwendung innerhalb einer gewissen Anzahl Minuten 841 verwendet wird. Die Schwelle kann auch für den Gesamtdatenverbrauch durch einige oder alle Anwendungen auf dem Gerät innerhalb eines bestimmten Zeitabschnitts eingestellt werden. Die Benutzerin möchte die Datenbegrenzung für die Anwendung 210 vielleicht auf der Grundlage der Art des Netzes auslösen, an die das Gerät der Benutzerin angeschlossen wird. So kann beispielsweise die Benutzerin Datenbeschränkungen spezifizieren, wenn das Gerät an ein Mobilfunknetz 851 angeschlossen wird, oder das Gerät ein Roaming-Datennetz 852 benutzt. Wenn Anwendung 210 häufige Versuche unternimmt, auf das Netz zuzugreifen, dann kann die Benutzerin eine Bedingung auswählen, die den Zugang von Anwendung 210 zum Netz einschränkt, wann immer die Anwendung eine angegebene Anzahl von Zugangsversuchen in einer angegebenen Anzahl von Minuten 861 überschreitet. Die Benutzerin kann auch beschließen, den Datenzugang durch eine Anwendung zu beschränken, wenn eine gewisse Anzahl Netzzugriffsversuche von einigen oder allen Anwendungen auf dem Gerät der Benutzerin innerhalb eines bestimmten Zeitabschnitts unternommen wird. Ähnlich kann die Benutzerin spezifizieren, dass Anwendung 210 möglicherweise nicht auf das Netz zugreifen kann, wenn die Servicequalität des Netzes nicht Downloadgeschwindigkeiten von mindestens einer spezifizierten Anzahl von Megabits pro Sekunde 871 anzeigt. Implementierungen können andere Datenbegrenzungsbedingungen verwirklichen, die für die Zwecke der Offenbarung geeignet sind. So kann beispielsweise der Datenzugang für eine Anwendung auf der Grundlage einer Menge Gesamtdaten begrenzt werden, die das Netz in einem Zeitabschnitt durchlaufen, auf der Grundlage einer Anzahl Pakete, die von dem Netz in einem Zeitabschnitt gesendet werden, einer Anzahl blockierter Netzverbindungsversuche in einem Zeitabschnitt, einer Anzahl der Warteschlangenverzögerungen im Netz in einem Zeitabschnitt, einer Nettoübertragungsgeschwindigkeit des Netzes, einer Signalstärke des Netzes oder anderer Datenbegrenzungsbedingungen, die für die Zwecke der Offenbarung geeignet sind.
  • Anwendungen können innerhalb der verschiedenen Zustände in Architektur 100 ausgeführt werden. Eine Benutzerin möchte vielleicht Datenbegrenzungsbedingungen für eine Anwendung spezifizieren, die auf ihrem Betriebszustand basiert. Zum Beispiel zeigt 9 ein Flussdiagramm des Übergangs von Betriebszuständen einer Anwendung gemäß einer Implementierung der Offenbarung. Eine Anwendung, wie die Soziale-Medien-Anwendung 210, läuft anfangs vielleicht nicht und kann sich daher nicht im Betriebszustand 900 befinden. Wenn die Anwendung dann gestartet wird, kann die Anwendung in den nicht aktivierten Zustand 910 innerhalb Vordergrund 950 übergehen. Der nicht aktivierte Zustand kann nur ein kurzlebiger Übergangszustand entweder zwischen dem aktiven Zustand 920 oder dem Hintergrundmodus 930 sein. Wenn sich die Anwendung in einem aktiven Zustand 920 befindet, möchte eine Benutzerin möglicherweise den Datenzugang für die Anwendung nicht begrenzen, weil der aktive Zustand 920 der allgemeine funktionsfähige Zustand für eine Anwendung sein kann, wenn die Benutzerin mit ihr interagiert. Die Benutzerin möchte vielleicht, dass die Anwendung voll funktionsfähig ist, was den Zugang zu Daten beinhalten kann.
  • Wenn die Anwendung jedoch in den Hintergrundmodus 930 im Hintergrund 960 übergeht, möchte die Benutzerin eventuell den Datenzugang für die Anwendung begrenzen. Der Hintergrundmodus 930 kann es einer Anwendung gestatten, weiterhin Anweisungen durchzuführen, während andere Anwendungen im Vordergrund ausgeführt werden. So kann beispielsweise eine Anwendung, wie die Soziale-Medien-Anwendung 210, im Hintergrundmodus 930 ausgeführt werden, um Sozial-Media-Aktualisierungen für die Kontakte einer Benutzerin herunterzuladen, während die Benutzerin im Vordergrund 950 ihre Emails liest. Benutzer möchten Anwendungen möglicherweise keinen Zugang zu einem Datennetz gewähren, während sie im Hintergrund 960 ausgeführt werden, weil die Ausführung im Hintergrund im Allgemeinen anzeigen kann, dass die Benutzerin zu dieser Zeit nicht mit der Anwendung interagiert. Sobald eine Anwendung die Ausführung all ihrer Anweisungen abgeschlossen hat, kann sie in den Standby-Modus 940 übergehen. Die Zustandsübergangsanordnung, die in 9 gezeigt wird, dient nur als Beispiel, und Implementierungen dieser Offenbarung können mit anderen Anordnungen interagieren, die für die Zwecke dieser Offenbarung geeignet sind.
  • Wenn die Datenbegrenzungsbedingungen für eine Anwendung erfüllt sind, kann die Datenmanagementanwendung 111 den Zugang der Anwendung zu den Daten automatisch einschränken oder sie kann der Benutzerin eine Aufforderung darstellen, um es der Benutzerin zu gestatten, den Zugang der Anwendung zum Datennetz zuzulassen. So zeigen FIGS. 10 beispielsweise eine Aufforderung 1000 für eine Benutzerin, den Zugang einer Anwendung zu einem Netz zu blockieren oder zuzulassen, wenn zuerst eine Datenbegrenzungsbedingung erfüllt wurde, und 11 eine Aufforderung 1100 für eine Benutzerin, den Zugang einer Anwendung zu einem Netz auf der Grundlage der Erfüllung der bereits bestehenden Datenbegrenzungsbedingung weiterhin zu blockieren oder zuzulassen. In 1010 und 1110 kann einer Benutzerin ein Steuerschalter dargestellt werden, mit dem die Benutzerin den Datenzugang für eine Anwendung blockieren oder zulassen kann. In 1020 und 1120 kann einer Benutzerin ein Auswahlfeld dargestellt werden, um die Auswahl der Benutzerin in Bezug auf die bestimmte Datenbegrenzungsbestimmung, die erfüllt wurde, dauerhaft zu machen. Eine Aufforderung kann es der Benutzerin auch gestatten, den Datenzugang zu einer Anwendung zu blockieren oder für eine begrenzte Zeit, z. B. 5 Minuten, zuzulassen.
  • Die Techniken für das Begrenzen des Zugangs einer Anwendung zu Datennetzen kann entsprechend verschiedenen Verfahren implementiert werden. Zum Beispiel zeigt 12 ein Flussdiagramm für einen Prozess 1200, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten gemäß einer Implementierung der Offenbarung über ein Netz zu senden oder zu empfangen. Die Datenmanagementanwendung 111 kann eine Anfrage für die Übermittlung oder den Empfang von Daten durch eine Anwendung bei 1210 empfangen. So kann beispielsweise die Soziale-Medien-Anwendung 210 um Zugang bitten, um eine Statusaktualisierung für ein Konto hochzuladen, das mit der Benutzerin verbunden ist. In 1220 kann die Datenmanagementanwendung 111 Aspekte des Geräts anfragen, auf dem die Datenmanagementanwendung ausgeführt wird, um festzustellen, ob eine Datenbegrenzungsbedingung erfüllt wird. So kann beispielsweise die Datenmanagementanwendung 111 feststellen, dass die Anfrage, die Statusaktualisierung hochzuladen, auf dem Betrieb der Anwendung im Hintergrund basierte. Die Anwendung kann die Positionsdaten der Benutzerin in ihrem Soziale-Medien-Status regelmäßig auf der Grundlage von empfangenen GPS-Daten aktualisieren. Dieser Positionsaktualisierungsprozess kann im Hintergrund ausgeführt werden.
  • Wenn keine Datenbegrenzungsbedingung erfüllt wurde, kann die Datenmanagementanwendung es der Anwendung bei 1230 gestatten, Daten zu senden oder zu empfangen. Wenn eine Datenbegrenzungsbedingung erfüllt wurde, kann die Datenmanagementanwendung die Anwendung bei 1240 daran hindern, Daten zu senden oder zu empfangen. So kann beispielsweise die Datenmanagementanwendung 111 eine Datenbegrenzungsbedingung mit der Soziale-Medien-Anwendung 210 verbinden, die den Datenzugang verhindert, wenn die Soziale-Medien-Anwendung 210 im Hintergrund funktioniert. Gegründet auf der Bestimmung, dass die Statusaktualisierungsanfrage mit einem Hintergrundbetrieb verbunden war, kann die Datenmanagementanwendung 111 verhindern, dass die Anfrage eine Netzkommunikationskomponente des Benutzergerätes erreicht.
  • Die Datenmanagementanwendung 111 kann auch andere Grundlagen für die Bestimmung verwenden, ob eine Anwendung auf das Netz zugreifen darf. So kann beispielsweise die Datenmanagementanwendung 111 bestimmen, dass eine Benutzerin nicht mit einer Anwendung interagiert, die eine Anfrage auf Zugang zum Netz stellt. So kann beispielsweise die anfragende Anwendung möglicherweise keine Anweisungen durchführen, die mit der Benutzeroberfläche oder den Audiokomponenten des Benutzergerätes interagieren. Auf der Grundlage dieser Feststellung kann die Datenmanagementanwendung 111 den Zugang der Anwendung zum Datennetz einschränken. Ähnlich kann jegliche Kombination der vorstehend besprochenen Konfigurationsoptionen wie in Bezug auf 8 als Grundlage für eine Datenbegrenzungsbedingung dienen.
  • Wenn die Datenmanagementanwendung 111 den Zugang der Anwendung 210 zum Datennetz 1240 einschränkt, kann sie zu einem späteren Zeitpunkt eine zweite Anfrage von der Anwendung 210 empfangen, den Zugang zum Datennetz zuzulassen. Die Datenmanagementanwendung 111 kann feststellen, dass die spätere Anfrage mit der Benutzeroberfläche des Benutzergerätes verbunden ist. So kann beispielsweise die Datenmanagementanwendung 111 feststellen, dass die in der zweiten Anfrage angefragten Daten mit einer Aktualisierung einer optischen Anzeige auf der Benutzeroberfläche verbunden sind. Auf der Grundlage dieser Feststellung kann die Datenmanagementanwendung der Benutzerin eine Aufforderung bereitstellen, wie die, die in Bezug auf 10 und 11 beschrieben wird. Die Aufforderung kann es der Benutzerin gestatten zu wählen, ob sie die Daten übertragen möchte, die in der zweiten Anfrage angezeigt werden. Die Benutzerin kann beschließen, die Übertragung zu gestatten, indem sie ihre Präferenz über die Aufforderung anzeigt. Die Datenmanagementanwendung 111 kann diese Auswahl empfangen und es der Anwendung gestatten, die Aktualisierungsdaten anzufordern.
  • Es kann sein, dass zahlreiche Bedingungen erfüllt sein müssen, um eine einzige Datenbegrenzungsbedingung zu erfüllen. Zum Beispiel zeigt 13, gemäß einer Implementierung der Offenbarung, ein Flussdiagramm für einen Prozess 1300, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten über ein Netz zu senden oder zu empfangen, und zwar auf der Grundlage von Bedingungen mit zahlreichen Komponenten. In 1310 kann die Datenmanagementanwendung 111 eine Anfrage auf die Übermittlung oder den Empfang von Daten empfangen und bei 1320 feststellen, ob eine erste Komponente einer Datenbedingung erfüllt wurde. So kann beispielsweise die Datenmanagementanwendung 111 bestimmen, ob die Anwendung innerhalb eines spezifizierten Zeitabschnitts häufiger als eine Schwellenanzahl versucht hatte, auf das Netz zuzugreifen. Wenn die Anwendung den Schwellenwert nicht überschritten hatte, dann kann bei 1330 die Datenmanagementanwendung 111 der Anwendung den Zugang zum Netz gestatten. Wenn die Anwendung den Schwellenwert überschritten hatte, dann kann die Datenmanagementanwendung bei 1340 bestimmen, ob die zweite Datenbegrenzungskomponente erfüllt wurde. So kann beispielsweise die zweite Komponente beinhalten, ob die Anwendung zum Zeitpunkt der Anfrage im Hintergrund lief. Wenn die Anwendung nicht im Hintergrund lief, dann kann bei 1350 die Datenmanagementanwendung 111 der Anwendung den Zugang zum Netz gestatten. Wenn die zweite Komponente erfüllt wurde, dann kann bei 1360 die Anwendung am Zugang zum Netz gehindert werden.
  • Andere Kombinationen von Bedingungen, wie Komponenten einer Datenbegrenzungsbedingung, können ebenfalls erwogen werden. So kann beispielsweise eine Datenbegrenzungsbedingung sowohl eine Netzverbindungsart als auch eine Datenübertragungsgeschwindigkeit oder Empfangsgeschwindigkeit eines Netzes beinhalten, an das das mobile Gerät angeschlossen wird. Als ein anderes Beispiel kann eine Datenbegrenzungsbedingung die Bestimmung beinhalten, dass eine Anzahl Anfragen durch eine Anwendung innerhalb eines Zeitabschnitts auf Netzzugang eine spezifizierte Schwelle überschritten hat und dass eine Servicequalitätsbewertung für das Netz, an das das Benutzergerät angeschlossen wird, eine andere Schwelle überschritten hat. Als Reaktion auf diese Bestimmungen kann die Datenmanagementanwendung 111 den erbetenen Zugang der Anwendung zu einer Netzkommunikationskomponente verhindern.
  • Je nach der Art der Bedingung kann eine Schwelle überschritten werden, wenn eine gemessene Menge über oder unter einer Schwellenmenge liegt. So kann beispielsweise eine Schwelle überschritten und eine Bedingung erfüllt werden, wenn die Datenübertragungsgeschwindigkeit eines Netzes geringer als ein Schwellenwert ist, oder eine Schwelle kann überschritten und eine Bedingung erfüllt werden, wenn eine Anzahl Netzverbindungsanfragen größer als eine Schwellenanzahl ist.
  • Implementierungen der Offenbarung können ein Gerät, wie ein mobiles Gerät mit einem Prozessor, einer Anzeige, einer Netzkommunikationskomponente und einem nicht-flüchtigen, computerlesbaren Medium, beinhalten, das sich mit dem Prozessor, der Anzeige und der Netzkommunikationskomponente in Kommunikation befindet. Solche Komponenten können jegliche der hier offenbarten Verfahren implementieren. So kann beispielsweise ein mobiles Gerät das in 14 gezeigte Verfahren implementieren.
  • 14 zeigt, gemäß einer Implementierung der Offenbarung, ein Flussdiagramm für einen Prozess 1400, um eine Anwendung automatisch zu blockieren oder es ihr zu gestatten, Daten über ein Netz zu senden oder zu empfangen, und zwar auf der Grundlage der Antwort einer Benutzerin auf eine Aufforderung, einschließlich dem Betriebszustand der Anwendung. So kann beispielsweise die Datenmanagementanwendung 111 auf dem mobilen Gerät installiert sein und eine Anfrage von einer Anwendung auf dem Gerät empfangen, Daten einem externen Serversystem über die Netzkommunikationskomponente bei 1410 bereitzustellen. Die Datenmanagementanwendung 111 kann bestimmen, ob eine Datenbegrenzungsbedingung bei 1420 erfüllt wurde. Wenn keine Komponente einer Datenbegrenzungsbedingung erfüllt wurde, kann die Datenmanagementanwendung 111 es der anfragenden Anwendung gestatten, dem externen Serversystem bei 1421 Daten bereitzustellen. Wenn eine Komponente einer Datenbegrenzungsbedingung erfüllt wurde, dann kann die Datenmanagementanwendung 111 bestimmen, ob es weitere Komponenten der Datenbegrenzungsbedingung bei 1430 gibt, wie eine Benutzeraufforderung. Wenn es keine weiteren Datenbegrenzungsbedingungen gibt, dann kann die Datenmanagementanwendung 111 die Anwendung am Zugang zum Netz bei 1431 hindern. Wenn es weitere Datenbegrenzungsbedingungen, wie die Benutzeraufforderung, gibt, dann kann die Datenmanagementanwendung 111 bei 1440 die Aufforderung der Benutzerin auf der Anzeige des Gerätes darstellen und die Auswahl der Benutzerin empfangen, den Zugang der Anwendung bei 1450 entweder zuzulassen oder zu blockieren. In 1460 kann die Datenmanagementanwendung 111 bestimmen, ob die Benutzerin gewählt hat, den Datenzugang zuzulassen oder zu blockieren. Wenn die Benutzerin gewählt hat, den Zugang zuzulassen, dann kann der anfragenden Anwendung bei 1470 der Zugang zu der Netzkommunikationskomponente gestattet werden, die dadurch Daten über das Netz übertragen oder empfangen kann. Wenn die Benutzerin gewählt hat, den Zugang zu blockieren, dann kann die Datenmanagementanwendung bei 1471 den Zugang zum Netz verhindern.
  • Implementierungen der Offenbarung können mit anderen Komponenten und Geräten, sowohl im Benutzergerät als auch externen, interagieren. So kann beispielsweise die Datenmanagementanwendung 111 mit einem Serversystem interagieren, das von einem Betreiber des Netzes betrieben wird, an das das Gerät der Benutzerin angeschlossen ist. Diese Interaktion kann durch eine API geschehen, die es der Datenmanagementanwendung 111 gestattet, auf die Daten zuzugreifen, die mit dem Konto der Benutzerin bei dem Netzbetreiber verbunden sind, wie der Datensaldo für das Gerät der Benutzerin und die über das Netz in einem spezifizierten Zeitabschnitt gesendeten und empfangenen Daten. Die Datenmanagementanwendung 111 kann von dem Betreiber Daten empfangen, welche die Menge der Daten anzeigen, die von dem Benutzergerät verwendet wurden, und auf der Grundlage dieser Menge den Prozentsatz des Gesamtdatensaldos bestimmen, der von dem Gerät der Benutzerin verwendet wurde. Wenn z. B. 1 GB Daten von einer Gesamtdatenmenge von 1,2 GB verwendet wurden, dann wurden 1/1,2~84% des Gesamtdatensaldos verwendet. Die Datenmanagementanwendung 111 kann eine Datenbegrenzungsbedingung haben, die erfüllt ist, wenn 85% des Gesamtdatensaldos verwendet wurden. Infolgedessen kann die Datenmanagementanwendung den Zugang der Anwendung zum Netz zulassen.
  • In einem anderen Beispiel kann die Datenmanagementanwendung 111 auf die Kontodaten auf dem Benutzergerät zugreifen, um die Menge der Daten zu bestimmen, die für das Gerät der Benutzerin gekauft wurden. Die Datenmanagementanwendung 111 kann auch den Datenverbrauch aller Anwendungen auf dem Gerät auf der Grundlage der Summierung der Mengen überwachen, die mit der Datenanfrage jeder Anwendung zugeteilt werden. Diese Summe kann durch die gekaufte Datenmenge geteilt werden, um einen verwendeten Prozentsatz festzustellen. Die Datenmanagementanwendung kann eine Datenbegrenzungsbedingung beibehalten, die auf einem Schwellengebrauchsprozentsatz der gekauften Daten basiert. Die Datenmanagementanwendung 111 kann den errechneten Prozentsatz jedes Mal aktualisieren, wenn eine Anwendung eine Anfrage auf Datenzugang einschickt. Wenn die Menge der gesendeten und/oder von dem mobilen Gerät empfangenen Daten die Schwellenmenge überschreitet, kann die Datenmanagementanwendung den Zugang einer anfragenden Anwendung zum Datennetz einschränken.
  • Implementierungen der Offenbarung können in einer Vielzahl von Komponenten- und Netzarchitekturen umgesetzt und verwendet werden. 15 ist ein Beispielcomputergerät 1500, das für Implementierungen der Offenbarung geeignet ist. Das Computergerät 1500 kann z. B. ein Computer sein. Das Computergerät 1500 schließt einen Bus 1510 ein, der die Hauptbestandteile des Computergerätes 1500, wie einen Zentralprozessor 1520, den Speicher 1530 (gewöhnlich RAM, aber kann auch ROM, Flash-RAM oder dergleichen beinhalten), eine Eingabe/Ausgabe-(I/O)Steuereinheit 1540, eine Benutzeranzeige 1550, wie einen Anzeigebildschirm über einen Anzeigeadapter, eine Benutzereingabeoberfläche 1560, die eine oder mehrere Steuereinheiten und verbundene Benutzereingabegeräte wie eine Tastatur, Maus und dergleichen beinhalten und eng mit der Eingabe-/Ausgabesteuereinheit 1540 gekoppelt sein kann, einen Festspeicher 1570, wie ein Festplattenlaufwerk, einen Flash-Speicher, ein Fibre- Channel-Netz, ein SAN-Gerät, SCSI-Geräte und dergleichen und eine entfernbare Medienkomponente 1580, mit der optische Disketten, Flash-Laufwerke und dergleichen gesteuert und empfangen werden können.
  • Der Bus 1510 ermöglicht die Datenkommunikation zwischen dem Zentralprozessor 1520 und dem Speicher 1530, der einen Read-only-Speicher (ROM) oder Flash-Speicher (keiner von beiden wird gezeigt) und einen RAM-Speicher (RAM) (nicht gezeigt) beinhalten kann, wie vorstehend angemerkt. Der RAM ist im Allgemeinen der Hauptspeicher, in den das Betriebssystem und die Anwendungsprogramme geladen werden. Der ROM oder Flash-Speicher kann unter anderem Code, das BIOS-System enthalten, das den grundlegenden Hardwarebetrieb wie die Interaktion mit Peripheriekomponenten steuert. Die Anwendungen im Computergerät 1500 werden im Allgemeinen auf einem computerlesbaren Medium gespeichert, über das auch darauf zugriffen werden kann, wie ein Festplattenlaufwerk (z. B. Festspeicher 1570), ein optisches Laufwerk, eine Diskette oder ein anderes nicht-flüchtiges oder vorübergehendes computerlesbares Speichermedium.
  • Der Festspeicher 1570 kann ein Bestandteil des Computergerätes 1500 oder getrennt sein, mit Zugang über andere Oberflächen. Eine Netzoberfläche 1590 kann einen direkten Anschluss zu einem externen Server über eine Telefonverbindung, zum Internet über einen Internet Service Provider (ISP) oder einen direkten Anschluss zu einem externen Server über eine direkte Netzverbindung zum Internet über einen POP (Point Of Presence) oder eine andere Technik bereitstellen. Die Netzoberfläche 1590 kann Netzgerätetreiber beinhalten und kann Verbindungen mit drahtlosen Techniken, einschließlich einer digitalen Mobilfunkverbindung, einer Cellular-Digital-Packet-Data-Verbindung (CDPD), einer digitalen Satellitendatenverbindung oder dergleichen bereitstellen. So kann beispielsweise die Netzoberfläche 1590 es dem Computergerät gestatten, mit anderen Computergeräten über ein oder mehrere lokale Weitverkehrs- oder sonstige Netze zu kommunizieren, wie in 16 gezeigt.
  • Viele andere Geräte oder Komponenten (nicht gezeigt) können auf ähnliche Weise (z. B. Dokumentscanner, digitale Kameras und so weiter) angeschlossen werden. Umgekehrt brauchen nicht alle in 15 gezeigten Komponenten vorhanden sein, um die vorliegende Offenbarung auszuüben. Die Komponenten können auf andere Weise als auf die gezeigte Weise miteinander verbunden werden. Der Betrieb eines Computergerätes wie dem in 15 gezeigtem ist Fachleuten bekannt und wird in dieser Anwendung nicht im Detail besprochen. Code für die Implementierung der vorliegenden Offenbarung kann in computerlesbaren Speichermedien wie einem oder mehreren der Speicher 1530, Festspeicher 1570, entfernbaren Medien 1580 oder in einem externen Speicherstandort gespeichert werden.
  • 16 zeigt eine Beispiel-Netzanordnung 1600 gemäß einer Implementierung der Offenbarung. Ein oder mehrere Clients 1610, 1620, wie lokale Computer, Smartphones, Tablet-Computergeräte und dergleichen, können an andere Geräte über ein oder mehrere Netze 1601 angeschlossen werden. Das Netz 1601 kann ein lokales Netz, ein Weitverkehrsnetz, das Internet oder jegliches andere geeignete Kommunikationsnetz oder Netze sein und kann auf jeglicher geeigneten Plattform, einschließlich verdrahteter und/oder drahtloser Netze, implementiert werden. Die Clients können mit einem oder mehreren Servern 1640 und/oder Datenbanken 1650 kommunizieren. Die Geräte können für die Clients 1610, 1620 direkt zugänglich sein, oder ein oder mehrere andere Geräte können einen zwischenzeitlichen Zugang bereitstellen, z. B. indem ein Server 1640 Zugang zu den Ressourcen bietet, die in einer Datenbank 1650 gespeichert werden. Die Clients 1610, 1620 können auch auf die externen Plattformen 1630 oder die von den externen Plattformen 1630 bereitgestellten Dienstleistungen zugreifen, wie Cloud-Computerspeicher und Verarbeitungsdienstleistungen. Die externe Plattform 1630 kann einen oder mehrere Server 1640 und/oder Datenbanken 1650 beinhalten.
  • Allgemeiner können verschiedene Implementierungen der Offenbarung in Form von computerimplementierten Prozessen und Apparaten für die Ausübung jener Prozesse implementiert werden oder diese beinhalten. Implementierungen können auch in Form eines Computerprogrammproduktes mit einem Computerprogrammcode implementiert werden, der Anweisungen enthält, die in den nicht-flüchtigen und/oder greifbaren Medien, wie Disketten, CD-ROMs, Festplattenlaufwerken, USB-Laufwerken (Universalserienbus) oder jeglichem anderen computerlesbaren Speichermedium umgesetzt werden, wobei, wenn der Computerprogrammcode darein geladen und von einem Computergerät ausgeführt wird, das Computergerät ein Apparat für die Ausübung von Implementierungen der Offenbarung wird. Implementierungen können auch z. B. in Form von Computerprogrammcode implementiert werden, ob in einem Speichermedium gespeichert, in ein Computergerät geladen und/oder von ihm ausgeführt, oder über ein Übertragungsmedium, wie über Stromkabel, durch Faseroptik oder über elektromagnetische Strahlung übertragen, wobei, wenn der Computerprogrammcode in ein Computergerät geladen und von ihm ausgeführt wird, das Computergerät ein Apparat für die Ausübung der Implementierungen der Offenbarung wird.
  • Wenn sie auf einem Allzweck-Mikroprozessor implementiert werden, konfigurieren die Computerprogrammcodesegmente den Mikroprozessor so, dass er spezifische Logikschaltungen erzeugt. In einigen Konfigurationen kann ein Satz computerlesbare Anweisungen, die auf einem computerlesbaren Speichermedium gespeichert werden, durch einen Allzweckprozessor implementiert werden, der den Allzweckprozessor oder ein Gerät mit dem Allzweckprozessor in ein Spezialzweckgerät umwandelt, das so konfiguriert ist, dass es die Anweisungen implementiert oder ausführt.
  • Implementierungen können mit Hardware implementiert werden, die einen Prozessor, wie einen Allzweck-Mikroprozessor und/oder eine anwendungsspezifische integrierte Schaltung (ASIC) beinhalten kann, der/die die gesamten oder Teile der Techniken gemäß den Implementierungen der Offenbarung in der Hardware und/oder Firmware implementieren. Der Prozessor kann an den Speicher, wie RAM, ROM, Flash-Speicher, eine Festplatte oder jegliches andere Gerät gekoppelt werden, das zur Speicherung der elektronischen Informationen fähig ist. Der Speicher kann die Anweisungen speichern, die angepasst werden, um von dem Prozessor ausgeführt zu werden, um die Techniken entsprechend Implementierungen der Offenbarung auszuführen.
  • In Situationen, in denen die Implementierungen der Offenbarungen persönliche Informationen über Benutzer sammeln oder persönliche Informationen nutzen können, kann den Benutzern die Gelegenheit gegeben werden zu steuern, ob Programme oder Eigenschaften Benutzerinformationen sammeln (z. B. Spielstand einer Benutzerin, Arbeitsergebnis einer Benutzerin, von der Benutzerin bereitgestellte Eingaben, den geographischen Standort einer Benutzerin und andere ähnliche mit der Benutzerin verbundene Daten). Der Benutzerin kann auch die Gelegenheit gegeben werden zu steuern, ob und/oder wie sie geteilten Inhalt empfängt, der für die Benutzerin relevant sein kann. Zusätzlich können gewisse Daten auf eine oder mehrere Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, so dass personenbezogene Informationen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine persönlichen Informationen für die Benutzerin bestimmt werden können, oder ein geographischer Standort der Benutzerin, der mit den Sozialen-Netz-Informationen verbunden ist, kann verallgemeinert werden, wenn Standortinformationen erhalten werden (wie beispielsweise eine Stadt, Postleitzahl oder Bundeslandebene), so dass ein bestimmter Benutzerstandort nicht festgestellt werden kann. Daher kann die Benutzerin die Kontrolle darüber über haben, wie Informationen über die Benutzerin gesammelt werden und von Inhaltsverteilungssystemen, Soziale-Netz-Systemen, Inhaltsentwicklern oder anderen Systemen verwendet werden, die Zugang zu den persönlichen Informationen der Benutzerin haben.
  • Die vorstehende Beschreibung wurde zum Zweck der Erklärung unter Bezugnahme auf spezifische Ausführungsformen beschrieben. Jedoch sollen die vorstehend veranschaulichenden Erörterungen nicht erschöpfend sein oder die Erfindung auf die genauen offenbarten Formen beschränken. Angesichts der vorstehenden Lehren sind viele Modifikationen und Abwandlungen möglich. Die Implementierungen wurden ausgewählt und beschrieben, um die Prinzipien der Implementierungen der Offenlegung und deren praktische Anwendungen zu erklären, um dadurch andere Fachkräfte zu befähigen, sowohl diese als auch unterschiedliche Implementierungen mit verschiedenen Modifizierungen, die für den besonderen in Betracht gezogenen Nutzen geeignet sind, so gut wie möglich einsetzen zu können.

Claims (9)

  1. Ein Mobilgerät, umfassend: einen Prozessor; eine Anzeige; eine Netzkommunikationskomponente; und ein nicht-flüchtiges, computerlesbares Medium, das sich in Kommunikation mit dem Prozessor, der Anzeige und der Netzkommunikationskomponente befindet, und das Anweisungen speichert, die, wenn sie durch die Prozessor ausgeführt werden, das mobile Gerät veranlassen, Operationen auszuführen, die Folgendes umfassen: Empfangen durch eine erste Anwendung, die auf dem mobilen Gerät ausgeführt wird, von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung einer ersten Anfrage, erste Daten über die Netzkommunikationskomponente einem Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist; Bestimmen, durch die erste Anwendung, dass eine Datenbegrenzungsbedingung, die mit der zweiten Anwendung verbunden ist, erfüllt wurde; Verhindern, in Reaktion auf die Feststellung, dass die Datenbegrenzungsbedingung erfüllt wurde, durch die erste Anwendung eines Zugangs der zweiten Anwendung zu der Netzkommunikationskomponente; und Bereitstellen, in Reaktion auf die Bestimmung, dass die Datenbegrenzungsbedingung erfüllt wurde, durch die erste Anwendung einer Aufforderung auf der Anzeige, um einem Benutzer zu erlauben, der zweiten Anwendung Zugang zu einem mit dem mobile Gerät verbundenen Netz zu gestatten.
  2. Mobiles Gerät nach Anspruch 1, wobei die Operationen des Weiteren umfassen: Empfangen, durch die erste Anwendung, einer Auswahl eines Benutzers, einen Zugang der zweiten Anwendung zu dem mit dem mobile Gerät verbundenen Netz zu blockieren.
  3. Mobiles Gerät nach Anspruch 1, wobei die Operationen des Weiteren umfassen: Empfangen, durch die erste Anwendung, einer Auswahl des Benutzers, den Zugang der zweiten Anwendung zu einem mit dem mobile Gerät verbunenen Netz zu blockieren; und Zulassen, in Reaktion auf den Empfang der Auswahl des Benutzers, durch die erste Anwendung, dass die zweite Anwendung dem Serversystem über die Netzkommunikationskomponente die zweiten Daten bereitstellt.
  4. Mobiles Gerät nach Anspruch 1, wobei die Operationen des Weiteren umfassen: Empfangen, durch die erste Anwendung, von zweiten Daten über eine Anwendungsprogrammoberfläche, die sich in Kommunikation mit einem Server des Netzes befindet; Bestimmen, durch die erste Anwendung basierend auf den zweiten Daten, einer von dem mobilen Gerät über das Netz übertragenen oder empfangenen Datenmenge, wobei das Bestimmen, dass die Datenbegrenzungsbedingung erfüllt wurde, auf der Datenmenge basiert.
  5. Mobiles Gerät nach Anspruch 1, wobei die Operationen weiterhin umfassen: Empfangen, vor dem Empfangen der ersten Anfrage, durch die erste Anwendung, eines Anzeigers einer von einem Benutzer des mobilen Gerätes erworbenen Datenmenge; und Bestimmen einer Schwellenmenge, die auf dem Anzeiger basiert, wobei das Bestimmen, dass die Datenbegrenzungsbedingung erfüllt wurde, ein Bestimmen umfasst, dass eine von dem mobilen Gerät gesendete und/oder empfangene Datenmenge die Schwellenmenge überschreitet.
  6. Mobiles Gerät nach Anspruch 1, wobei die erste Anwendung eine Abhängigkeit von einem Service hat, der so konfiguriert ist, dass er eine Verbindung über ein virtuelles privates Netzwerk für das mobile Gerät bereitstellt.
  7. Mobiles Gerät nach Anspruch 1, wobei die erste Anwendung einen Vorgabenservice eines Betriebssystems umfasst, das auf dem mobilen Gerät ausgeführt wird.
  8. Nicht-flüchtiges, computerlesbares Medium, das Anweisungen speichert, die, wenn sie von einem Prozessor eines mobilen Gerätes ausgeführt werden, dazu führen, dass das mobile Gerät Operationen ausführt, umfassend: Empfangen, in einer ersten Anwendung, die auf dem mobilen Gerät ausgeführt wird, von einer zweiten auf dem mobilen Gerät ausgeführten Anwendung einer ersten Anfrage, erste Daten über eine Netzkommunikationskomponente des mobilen Gerätes einem Serversystem bereitzustellen, das von dem mobilen Gerät entfernt ist; Bestimmung, durch die erste Anwendung, dass eine Anzahl Anfragen innerhalb eines Zeitabschnitts, Daten an die und/oder von der zweiten Anwendung über die Netzkommunikationskomponente bereitzustellen, eine erste Schwelle überschreitet; Bestimmen, durch die erste Anwendung, dass eine Servicequalitätsbewertung eines Netzes, an das die Netzkommunikationskomponenten angeschlossen ist, eine zweite Schwelle überschreitet; Verhindern, in Reaktion auf die Feststellung, dass die erste und die zweite Schwelle überschritten wurden, durch die erste Anwendung, eines Zugangs der zweiten Anwendung zur Netzkommunikationskomponente.
  9. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 8, wobei die Servicequalitätsbewertung mindestens eine Auswahl aus der Gruppe, bestehend aus Folgendem umfasst: eine Menge Gesamtdaten, die das Netz in einem Zeitabschnitt durchlaufen, eine Anzahl Pakete, die von dem Netz in einem Zeitabschnitt gesendet werden, eine Anzahl blockierter Netzverbindungsversuche in einem Zeitabschnitt, eine Anzahl Warteschlangenverzögerungen im Netz in einem Zeitabschnitt, eine Nettobitrate des Netzes und eine Signalstärke des Netzes.
DE202016107173.9U 2016-01-06 2016-12-20 Automatische Datenbeschränkungen auf der Grundlage von Signalen Active DE202016107173U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/988,960 2016-01-06
US14/988,960 US20170195250A1 (en) 2016-01-06 2016-01-06 Automatic data restrictions based on signals

Publications (1)

Publication Number Publication Date
DE202016107173U1 true DE202016107173U1 (de) 2017-04-10

Family

ID=57822087

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102016225601.7A Pending DE102016225601A1 (de) 2016-01-06 2016-12-20 Automatische Datenbeschränkungen auf der Grundlage von Signalen
DE202016107173.9U Active DE202016107173U1 (de) 2016-01-06 2016-12-20 Automatische Datenbeschränkungen auf der Grundlage von Signalen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102016225601.7A Pending DE102016225601A1 (de) 2016-01-06 2016-12-20 Automatische Datenbeschränkungen auf der Grundlage von Signalen

Country Status (5)

Country Link
US (1) US20170195250A1 (de)
CN (1) CN107026936A (de)
DE (2) DE102016225601A1 (de)
GB (1) GB2546169B (de)
WO (1) WO2017120075A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6069553B1 (ja) * 2016-02-04 2017-02-01 京セラ株式会社 通信装置、通信制御方法、およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968147B (zh) * 2006-11-27 2010-04-14 华为技术有限公司 业务处理方法、网络设备及业务处理系统
CN101203052B (zh) * 2007-12-24 2012-06-27 华为技术有限公司 一种防范恶意业务请求的方法和设备
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8706863B2 (en) * 2008-07-18 2014-04-22 Apple Inc. Systems and methods for monitoring data and bandwidth usage
US8055266B1 (en) * 2008-08-26 2011-11-08 Sprint Spectrum L.P. System and method for reducing interference and noise to improve wireless communications
US8577329B2 (en) * 2009-05-04 2013-11-05 Bridgewater Systems Corp. System and methods for carrier-centric mobile device data communications cost monitoring and control
US8533780B2 (en) * 2009-12-22 2013-09-10 Cisco Technology, Inc. Dynamic content-based routing
CN102118828A (zh) * 2009-12-30 2011-07-06 华为技术有限公司 用户设备接入控制的方法和装置
CN101873640B (zh) * 2010-05-27 2013-04-24 华为终端有限公司 流量处理方法、装置和移动终端
CN102404762B (zh) * 2010-09-19 2016-07-06 联想(北京)有限公司 一种访问管理的方法及装置
KR101337724B1 (ko) * 2010-12-27 2013-12-06 주식회사 팬택 어플리케이션별 데이터 사용량을 표시하는 이동 단말기 및 그 제어방법
US8880022B2 (en) * 2011-11-10 2014-11-04 Microsoft Corporation Providing per-application resource usage information
US9369589B2 (en) * 2012-01-27 2016-06-14 Microsoft Technology Licensing, Llc Updating dynamic data usage plans and statistics
WO2014024917A1 (ja) * 2012-08-10 2014-02-13 京セラ株式会社 携帯端末装置および携帯端末装置の制御方法
FR3004047A1 (fr) * 2013-03-29 2014-10-03 France Telecom Technique de cooperation entre une pluralite d'entites clientes
US9246918B2 (en) * 2013-05-10 2016-01-26 Airwatch Llc Secure application leveraging of web filter proxy services
CN104346137B (zh) * 2013-07-24 2019-05-14 腾讯科技(深圳)有限公司 一种应用联网的管理方法、系统和计算机可读存储介质
US9167104B2 (en) * 2013-07-25 2015-10-20 Airwatch Llc Telecommunications data usage management
ES2844404T3 (es) * 2014-05-26 2021-07-22 Huawei Tech Co Ltd Método y dispositivo para control de tráfico
CN105101303B (zh) * 2014-12-03 2017-07-14 深圳平安讯科技术有限公司 移动无源设备、流量控制方法及开放供源系统
CN104486505A (zh) * 2014-12-16 2015-04-01 深圳市中兴移动通信有限公司 一种移动终端及其防止流量浪费的方法和装置
US9977911B2 (en) * 2014-12-30 2018-05-22 Facebook, Inc. Methods and systems for managing permissions to access mobile device resources

Also Published As

Publication number Publication date
WO2017120075A1 (en) 2017-07-13
GB201621387D0 (en) 2017-02-01
DE102016225601A1 (de) 2017-07-06
CN107026936A (zh) 2017-08-08
US20170195250A1 (en) 2017-07-06
GB2546169A (en) 2017-07-12
GB2546169B (en) 2020-04-22

Similar Documents

Publication Publication Date Title
DE112018003482B4 (de) Serveranfrageverwaltung
DE112016006080B4 (de) Verwaltung von virtuellen desktopinstanzenpools
DE102016102434A1 (de) Selektives Bereitstellen von Inhalten an innerhalb einer virtuellen Umfangslinie befindlicher Benutzer
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112015005889T5 (de) Betriebssystem-dongle
DE102008030523A1 (de) System und Verfahren zur sicheren Dateiübertragung
DE10296682T5 (de) Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern
DE112015003686T5 (de) Umgang mit drahtlosem Verkehr auf Benutzerbasis
DE102014114005A1 (de) Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation
DE202015002394U1 (de) Einstellen von Attributen für ein System für On-Demand-Dienste basierend auf Echtzeitinformation
DE202020005693U1 (de) Externe berechtigungsnachweisfreie Stufen für Datenbankintegrationen
DE112016000290T5 (de) Techniken zum Teilen von Anwendungen
DE102013108899B4 (de) Kontenmanagement für cloudbasierte Applikationen
DE102014107571A1 (de) Verfahren und System zum Erzeugen und Verfeinern von Regeln zur personalisierten Bereitstellung von Inhalten auf der Grundlage physischer Aktivitäten von Benutzern
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE112021002201T5 (de) Datenschutzorientierte Datensicherheit in einer Cloud-Umgebung
DE112015003955T5 (de) Örtlichkeitsspezifische Wi-Fi-Verbindungsfähigkeitsbenachrichtigungen
DE112016002207T5 (de) Erstellung und verwaltung von ladenbesuchsdaten
DE112021002487T5 (de) Teilen einer geografisch konzentrierten arbeitslast zwischen benachbarten mec-hosts mehrerer netzbetreiber
DE202014010838U1 (de) System zur Bereitstellung von gefilterten raumbezogenen Vermögenswerten
DE102015103357A1 (de) Verbindung von personen und dingen über mobile-messaging-privatsphäre/sicherheit-brokersystem
DE112018004385B4 (de) Steuern des betriebs von datenverarbeitungseinheiten
DE202012012333U1 (de) Verwaltung einer Anwendungsausführung und eines Datenzugriffs auf einer Vorrichtung
WO2013017394A1 (de) Zugangsregelung für daten oder applikationen eines netzwerks
DE112021004695T5 (de) Umgang mit zurückstellbaren netzwerkanforderungen

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years