IP Library Granted Patent US 10,523,524
Granted Patent B2
US 10,523,524 · App. 15/264,066 · Granted Dec 31, 2019

Usage-based bandwidth optimization

Inventors: Bryan Adrian Lauer (Hinckley, IL); Patrick J. Walsh (Naperville, IL); Sara B. Rossio (Chicago, IL); Rachel Morris (Chicago, IL)
Assignee: GOGO LLC
H04L41/22G06F3/04842G06F16/951G06Q30/0207H04L12/1432H04L41/0896H04L41/5022H04L41/5025H04L41/5032H04L43/026H04L43/045H04L43/0852H04L43/0876H04L43/0888H04L43/16H04L47/20H04L67/10H04L67/303H04L67/36H04M15/41H04M15/58H04M15/70H04M15/725H04M15/73H04W4/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,523,524
App. No.
15/264,066
Granted
Dec 31, 2019
Kind
B2
Abstract

Systems, graphical user interfaces, and methods are provided to optimize bandwidth usage associated with a local network. As part of the bandwidth optimization techniques, a network regulation entity may maintain a plurality of usage statistics for a plurality of electronic devices. These usage statistics may be presented by an electronic device as part of a usage summary interface. In addition to displaying the usage statistics, the usage summary interface may enable a user to modify how the network regulation entity regulates traffic. Accordingly, the network regulation entity may update an access profile in accordance with the modification. Subsequently, the traffic received from the electronic device is processed based on the user-indicated modification. Thus, compliance with network neutrality principles may be maintained.

Claims (45)

1. A method for optimizing bandwidth usage, the method comprising:

maintaining, by one or more processors, an electronic record for an electronic device, the electronic record including (i) an access profile indicating a plurality of network regulation activities for a plurality of applications and an amount of bandwidth allocated to the electronic device, and (ii) a usage profile indicating a plurality of usage statistics for the plurality of applications;

causing, by the one or more processors, a usage summary user interface to be presented on a display of the electronic device, wherein the usage summary user interface presents indications of a portion of the plurality of applications and, for each of the indicated plurality of applications, the corresponding network regulation activity and a portion of the corresponding plurality of usage statistics;

receiving, from the electronic device and via the usage summary user interface, an instruction to modify a network regulation activity corresponding to a particular application, the instruction indicating a particular network regulation activity, the particular network regulation activity indicating a network priority level for the application;

updating, by the one or more processors, the access profile corresponding to the electronic device to indicate that the network regulation activity for the particular application is the indicated regulation activity;

receiving, from the electronic device, a plurality of data packets addressed to a location external to a local network;

analyzing, by the one or more processors, the plurality of data packets to identify a plurality of communication sessions within the plurality of data packets;

identifying, by the one or more processors, that the particular application corresponds to one of the plurality of communication sessions; and

performing, by the one or more processors, the indicated network regulation activity indicated to the communication session that corresponds to the particular application, wherein performing the indicated network regulation activity includes:

comparing a byte volume of the received plurality of data packets to a threshold proportion of the bandwidth allocated to the electronic device, and

based on the comparison and the indicated network priority level for the particular application, performing one of (i) routing the data packets within the communication session that corresponds to the particular application to a respective location external to the local network, or (ii) queuing the data packets within the communication session that corresponds to the particular application.

2. The method of claim 1 , wherein the network regulation activity is at least one of permit, block, prioritize, de-prioritize, or rate limit.

3. The method of claim 1 , wherein causing the usage summary interface to be presented on a display of the electronic device further comprises:

transmitting, to the electronic device, one or more computer readable instructions generated based upon the electronic record corresponding to the electronic device.

4. The method of claim 3 , wherein transmitting the computer readable instructions further comprises:

transmitting, to the electronic device, at least one of an HTML resource, a JavaScript applet, or a Cascading Style Sheets component.

5. The method of claim 3 , wherein transmitting the computer readable instructions further comprises:

detecting, by the one or more processors, that the plurality of usage statistics within the usage profile corresponding to the electronic device has changed to a plurality of updated values; and

transmitting, to the electronic device, an indication of the plurality of updated values.

6. The method of claim 1 , wherein causing the usage summary interface to be presented on a display of the electronic device further comprises:

causing, by the one or more processors, the usage summary interface to include an interface element that, when selected, enables a user of the electronic device to modify the indications presented by the usage summary interface.

7. The method of 6 , further comprising:

receiving, from the electronic device, an information request for information not previously presented by the usage summary interface;

querying, by the one or more processors, the usage profile corresponding to the electronic device to retrieve the requested information; and

transmitting, to the electronic device, the requested information.

8. The method of claim 7 , wherein the receiving the information request further comprises:

receiving, from the electronic device, the information request for at least one of the plurality of usage statistics not previously presented by the usage summary interface.

9. The method of claim 7 , wherein the receiving the information request further comprises:

receiving, from the electronic device, the information request for at least one of the plurality of applications not previously presented by the usage summary interface.

10. The method of claim 1 , wherein the plurality of usage statistics include at least one of an amount of data blocked, an amount of data used, a current latency, a current throughput, an average latency, or an average throughput.

11. A system for optimizing bandwidth usage, the system comprising:

one or more processors;

a profile database storing an electronic record corresponding to an electronic device, the electronic record including an access profile and a usage profile, wherein the access profile indicates an amount of bandwidth allocated to the electronic device; and

one or more non-transitory, computer-readable storage media storing computer-executable instructions that, when executed by the one or more processors, cause the system to:

cause, by the one or more processors, a usage summary user interface to be presented on a display of the electronic device, wherein the usage summary user interface presents indications of a plurality of applications and, for each of the indicated plurality of applications, a corresponding network regulation activity and a usage statistic;

receive, from the electronic device and via the usage summary user interface, an instruction to modify a network regulation activity corresponding to a particular application, the instruction indicating a particular network regulation activity, the particular network regulation activity indicating a network priority level for the application;

update, by the one or more processors, the access profile to indicate that the network regulation activity for the particular application is the indicated network regulation activity;

receive, from the electronic device, a plurality of data packets addressed to a location external to a local network;

analyze, by the one or more processors, the plurality of data packets to identify a plurality of communication sessions within the plurality of data packets;

identify, by the one or more processors, that the particular application corresponds to one of the plurality of communication sessions; and

perform, by the one or more processors, the indicated network regulation activity indicated to the communication session that corresponds to the particular application, wherein performing the indicated network regulation activity includes:

comparing a byte volume of the received plurality of data packets to a threshold proportion of the bandwidth allocated to the electronic device, and

based on the comparison and the indicated network priority level for the particular application, performing one of (i) routing the data packets within the communication session that corresponds to the particular application to a respective location external to the local network, or (ii) queuing the data packets within the communication session that corresponds to the particular application.

12. The system of claim 11 , wherein to cause the usage summary interface to be presented on a display of the electronic device, the computer-executable instructions, when executed by the one or more processors, cause the system to:

transmit, to the electronic device, one or more computer readable instructions generated based upon the electronic record.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Dec 3, 2024
From: GOGO BUSINESS AVIATION LLC
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 069479/0335 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL Recorded May 6, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: GOGO LLC; GOGO BUSINESS AVIATION LLC
Reel/Frame 056153/0033 →
RELEASE OF SECURITY INTEREST Recorded May 4, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOGO LLC
Reel/Frame 057252/0208 →
SECURITY INTEREST Recorded Apr 30, 2021
From: GOGO BUSINESS AVIATION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 056106/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: GOGO LLC
To: GOGO BUSINESS AVIATION LLC
Reel/Frame 053782/0669 →
SECURITY INTEREST Recorded Aug 27, 2019
From: GOGO LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050193/0797 →
SECURITY INTEREST Recorded May 2, 2019
From: GOGO LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 049074/0225 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 039381/0484 Recorded Apr 26, 2019
From: U.S. BANK NATIONAL ASSOCIATION
To: GOGO LLC
Reel/Frame 049013/0360 →
PATENT SECURITY AGREEMENT Recorded Sep 28, 2016
From: GOGO LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 040171/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2016
From: LAUER, BRYAN ADRIAN; WALSH, PATRICK J.; ROSSIO, SARA B.; MORRIS, RACHEL
To: GOGO LLC
Reel/Frame 039763/0061 →
Continuity (1)
Related Publication 20180077030A1 · Mar 15, 2018