IP Library Granted Patent US 9,954,603
Granted Patent B2
US 9,954,603 · App. 14/600,581 · Granted Apr 24, 2018

Profile-based bandwidth scheduler

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 9,954,603
App. No.
14/600,581
Granted
Apr 24, 2018
Kind
B2
Abstract

A profile-based scheduler is disclosed. In other embodiments, the profile-based scheduler may profile previously accessed websites and/or FTP sites. In doing so, the profile may compile bandwidth requirements for all such profiled websites and/or FTP sites within a lookup table. When a website and/or FTP site is accessed, the profiler may grant the bandwidth associated with the website or FTP site within the lookup table. In some embodiments, the profiler may create entries not only based on websites and/or FTP sites but may also profile users, TCP connections, web browser configurations and/or web browser types.

Claims (37)

1. A method of implementing profile-based bandwidth scheduling in a network, the method comprising:

receiving over the network at a scheduler a bandwidth request from a user terminal, wherein the bandwidth request includes a uniform resource locator (URL), wherein the network comprises a satellite link between the user terminal and the scheduler;

identifying and accessing an entry for the URL in a digital grant profile table stored in a digital memory device on a scheduler-side of the network, the entry identifying the URL and comprising a static amount of bandwidth for the URL, wherein the static amount of bandwidth comprises time intervals for which the amounts of bandwidth are required;

determining a condition associated with the network; and

granting, at the scheduler, an allocated amount of bandwidth to the user terminal according to the static amount of bandwidth accessed in the digital grant profile table and the condition; and

recording actual bandwidth usage for the URL as accessed by the user terminal.

2. A method of implementing profile-based bandwidth scheduling in a network, as in claim 1 , wherein determining the condition comprises determining congestion on the network has exceeded a congestion threshold.

3. A method of implementing profile-based bandwidth scheduling in a network, as in claim 2 , further comprising in response to the congestion on the network exceeding the congestion threshold, adjusting down according to a predetermined amount, the static amount of bandwidth for the URL.

4. A method of implementing profile-based bandwidth scheduling in a network, as in claim 3 , wherein the grant profile table includes a plurality of grant profiles, each grant profile identifying a URL of a plurality of URLs and comprising a respective static amount of bandwidth.

5. A method of implementing profile-based bandwidth scheduling in a network, as in claim 4 , further comprising adjusting down the respective static amount of bandwidth of each of the plurality of grant profiles based on the congestion on the network exceeding the congestion threshold.

6. A method of implementing profile-based bandwidth scheduling in a network as in claim 1 , wherein the condition comprises an account bandwidth allocation restriction.

7. A method of implementing profile-based bandwidth scheduling in a network, as in claim 6 , further comprising, based on the static amount of bandwidth for the URL exceeding the account bandwidth allocation restriction, adjusting down the static amount of bandwidth for the URL to at most an amount of the account bandwidth allocation restriction.

8. A method of implementing profile-based bandwidth scheduling in a network, as in claim 1 , further comprising updating the static amount of bandwidth in the entry for the URL with the recorded actual bandwidth usage.

9. A method of implementing profile-based bandwidth scheduling in a network, as in claim 1 , further comprising determining that the grant profile table does not include a static amount of bandwidth for the URL.

10. A method of implementing profile-based bandwidth scheduling in a network, as in claim 9 , further comprising in response to determining that the grant profile table does not include a static amount of bandwidth for the URL, obtaining the static amount of bandwidth from a default grant profile.

11. A method of implementing profile-based bandwidth scheduling in a network, as in claim 10 , wherein the default grant profile comprises demand assigned multiple access (DAMA) or enhanced mobile satellite services (EMSS) scheduling models.

12. A method of implementing profile-based bandwidth scheduling in a network, as in claim 10 , further comprising:

based on the actual bandwidth usage, creating a static amount of bandwidth for the URL;

creating a new entry in the grant profile table, the new entry identifying the URL; and

storing the static amount of bandwidth in the new entry in the grant profile table.

13. A method of implementing profile-based bandwidth scheduling in a network, as in claim 1 , wherein the user terminal comprises a client, and wherein the client comprises a browser which is configured to initiate the bandwidth request for the URL.

14. A method of implementing profile-based bandwidth scheduling in a network, as in claim 1 , wherein:

the bandwidth request is for bandwidth on a return link of the network, and

the return link is from the user terminal to the scheduler.

15. A system for implementing profile-based bandwidth scheduling in a network, the system comprising:

a scheduler at a gateway in communication with a user terminal via the network, the scheduler configured to receive a bandwidth request from the user terminal, wherein the bandwidth request includes a uniform resource locator (URL), wherein the network comprises a satellite link between the user terminal and the scheduler, and

a profiler at the gateway configured to identify and access an entry for the URL in a digital grant profile table stored in a digital memory device on a gateway-side of the network, the entry identifying the URL and comprising a static amount of bandwidth for the URL, determine a condition associated with the network, and grant bandwidth to the user terminal in response to the bandwidth request according to the static amount of bandwidth accessed in the digital grant profile table and the determined condition, and record actual bandwidth usage for the URL as accessed by the user terminal,

wherein the static amount of bandwidth comprises time intervals for which the amounts of bandwidth are required.

16. A system for implementing profile-based bandwidth scheduling in a network as in claim 15 , further comprising a satellite modem termination system (SMTS), which includes the scheduler.

17. A system for implementing profile-based bandwidth scheduling in a network as in claim 15 , wherein the bandwidth request is for bandwidth on a return link of the network from the user terminal to the gateway.

18. A system for implementing profile-based bandwidth scheduling in a network as in claim 15 further comprising the user terminal configured to send the bandwidth request over the network to the gateway.

19. A non-transitory computer-readable medium comprising processor-executable instructions to cause the processor to:

receive over a network at a scheduler a bandwidth request from a user terminal, wherein the bandwidth request includes a uniform resource locator (URL), wherein the network comprises a satellite link between the user terminal and the scheduler;

identify and access an entry for the URL in a digital grant profile table stored in a digital memory device on a scheduler-side of the network, the entry identifying the URL and comprising a static amount of bandwidth for the URL, wherein the static amount of bandwidth comprises time intervals for which the amounts of bandwidth are required;

determine a condition associated with the network; and

grant, at the scheduler, an allocated amount of bandwidth to the user terminal according to the static amount of bandwidth accessed in the digital grant profile table and the determined condition; and

record actual bandwidth usage for the URL as accessed by the user terminal.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48715/0589 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071638/0083 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD. (AS SUCCESSOR-IN-INTEREST TO MUFG UNION BANK, N.A.), AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0020 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 059332/0558 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2016
From: WU, XIAO; HALLSTROM, BILL
To: VIASAT, INC.
Reel/Frame 038806/0171 →
PATENT SECURITY AGREEMENT Recorded May 24, 2016
From: VIASAT, INC.
To: MUFG UNION BANK, N.A., AS AGENT
Reel/Frame 038799/0714 →