IP Library Granted Patent US 12,563,437
Granted Patent B2
US 12,563,437 · App. 18/739,919 · Granted Feb 24, 2026

Managing congestion in a satellite communications network

Inventors: George Xenakis (Tempe, AZ); Jayesh Patel (Gilbert, AZ); Hermon Pon (McKinney, TX)
Assignee: IRIDIUM SATELLITE LLC
H04W28/0247H04B7/18521H04W28/0205H04W28/0289H04W28/20
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 12,563,437
App. No.
18/739,919
Granted
Feb 24, 2026
Kind
B2
Abstract

In one implementation, congestion in a satellite communications network is managed based on current resource usage information received for a primary satellite servicing a terminal that is requesting to initiate a communications session. The current resource usage information is received within a communications session setup procedure that identifies a type of the communications session being requested by the terminal. Resources for serving the communications session are determined based on the type of the communications session being requested by the terminal. Thereafter, a determination is made as to whether sufficient resources are available at the primary satellite for servicing the communications session. In response to determining that sufficient resources are not available at the primary satellite for servicing the communications session, a congestion mitigation strategy is determined for servicing the communications session and sent to the primary satellite for implementation.

Claims (90)

1 . A method for managing a communications session in a satellite communications network, the method comprising:

executing, at a terrestrial control center for the satellite communications network, a set up process for establishing a communications session over the satellite communications network between a terminal being served by a satellite of the satellite communications network and an endpoint;

in connection with the set up process, receiving, from the satellite serving the terminal for which the communications session is being attempted to be established, resource usage information for the satellite that is indicative of current availability of resources at the satellite;

determining, based on the resource usage information received from the satellite, current availability of resources at the satellite for serving the terminal;

receiving, at the terrestrial control center, from the terminal, access information of the terminal;

defining, based on the determined current availability of resources at the satellite for serving the terminal and the access information of the terminal, one or more parameters for the communications session for the terminal;

transmitting, from the terrestrial control center to the satellite, the one or more parameters defined for the communications session; and

establishing the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session.

2 . The method of claim 1 , wherein:

the satellite is configured to provide multiple beams for serving terminals;

receiving resource usage information for the satellite that is indicative of the current availability of resources at the satellite includes receiving resource usage information indicative of the current availability of resources related to a particular beam serving the terminal;

determining current availability of resources at the satellite for serving the terminal includes determining current availability of resources related to the particular beam for serving the terminal based on the received usage information indicative of the current availability of resources related to the particular beam; and

defining one or more parameters for the communications session for the terminal includes defining one or more parameters for the communications session for the terminal based on the determined current availability of resources related to the particular beam for serving the terminal.

3 . The method of claim 2 , wherein:

determining current availability of resources related to the particular beam for serving the terminal includes determining that resources related to the particular beam are not available for serving the communications session;

defining one or more parameters for the communications session for the terminal includes identifying an alternative beam of the satellite for serving the communications session based on having determined that resources related to the particular beam are not available for serving the communications session;

transmitting the one or more parameters defined for the communications session from the terrestrial control center to the satellite includes transmitting, from the terrestrial control center to the satellite, an instruction to use the alternative beam to serve the communications session; and

establishing the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session includes establishing the communications session over the satellite communications network via the alternative beam instead of the particular beam.

4 . The method of claim 1 , wherein:

receiving resource usage information for the satellite that is indicative of current availability of resources at the satellite includes receiving resource usage information for the satellite that is indicative of the current availability of communications channels provided by the satellite for serving the terminal;

determining current availability of resources at the satellite for serving the terminal includes determining current availability of communications channels provided by the satellite for serving the terminal based on the received resource usage information for the satellite indicative of the current availability of communications channels provided by the satellite for serving the terminal; and

defining one or more parameters for the communications session for the terminal includes defining one or more parameters for the communications session for the terminal based on the determined availability of communications channels provided by the satellite for serving the terminal.

5 . The method of claim 1 , wherein:

the satellite is configured to provide multiple beams for serving terminals;

receiving resource usage information for the satellite that is indicative of current availability of resources at the satellite includes receiving resource usage information for a particular beam serving the terminal that is indicative of the current availability of communications channels provided by the particular beam for serving the terminal;

determining current availability of resources at the satellite for serving the terminal includes determining current availability of communications channels provided by the particular beam for serving the terminal based on the received resource usage information for the particular beam indicative of the current availability of communications channels provided by the particular beam for serving the terminal; and

defining one or more parameters for the communications session for the terminal includes defining one or more parameters for the communications session for the terminal based on the determined availability of communications channels provided by the particular beam for serving the terminal.

6 . The method of claim 1 , wherein:

executing a set up process for establishing a communications session over the satellite communications network between the terminal and endpoint includes executing a set up process for establishing a type of communications session having a defined, standard bandwidth; and

defining one or more parameters for the communications session for the terminal includes defining a bandwidth for the communications session that is less than the defined, standard bandwidth for the type of communications session.

7 . The method of claim 1 , wherein:

determining current availability of resources at the satellite for serving the terminal includes determining that the satellite does not currently have resources available for serving the communications session;

defining one or more parameters for the communications session for the terminal includes identifying an alternative satellite from among the multiple satellites for serving the communications session based on having determined that the satellite does not currently have resources available for serving the communications session;

transmitting the one or more parameters defined for the communications session from the terrestrial control center to the satellite includes transmitting, from the terrestrial control center to the satellite, a message for relaying to the terminal that identifies the alternative satellite as available for serving the communications session; and

establishing the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session includes establishing the communications session over the satellite communications network via the alternative satellite instead of the satellite.

8 . The method of claim 1 , wherein the access information includes provisioning information.

9 . A terrestrial control center configured to manage communications sessions in a satellite communications network, the terrestrial control center comprising:

one or more processing elements; and

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

execute a set up process for establishing a communications session over the satellite communications network between a terminal being served by a satellite of the satellite communications network and an endpoint;

in connection with the set up process, process resource usage information received from the satellite serving the terminal for which the communications session is being attempted to be established that is indicative of current availability of resources at the satellite;

determine, based on the resource usage information received from the satellite, current availability of resources at the satellite for serving the terminal;

define, based on the determined current availability of resources at the satellite for serving the terminal and access information received from the terminal at the terrestrial control center, one or more parameters for the communications session for the terminal;

transmit, to the satellite, the one or more parameters defined for the communications session; and

establish the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session.

10 . The terrestrial control center of claim 9 , wherein:

the satellite is configured to provide multiple beams for serving terminals;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process the resource usage information received from the satellite that is indicative of the current availability of resources at the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of the current availability of resources related to a particular beam serving the terminal;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources related to the particular beam for serving the terminal based on the received usage information indicative of the current availability of resources related to the particular beam; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal based on the determined current availability of resources related to the particular beam for serving the terminal.

11 . The terrestrial control center of claim 10 , wherein:

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources related to the particular beam for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine that resources related to the particular beam are not available for serving the communications session;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to identify an alternative beam of the satellite for serving the communications session based on having determined that resources related to the particular beam are not available for serving the communications session;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to transmit the one or more parameters defined for the communications session from the terrestrial control center to the satellite include instructions that, when executed by the one or more processing elements, cause the processing elements to transmit, from the terrestrial control center to the satellite, an instruction to use the alternative beam to serve the communications session; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to establish the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to establish the communications session over the satellite communications network via the alternative beam instead of the particular beam.

12 . The terrestrial control center of claim 9 , wherein:

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of current availability of resources at the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of the current availability of communications channels provided by the satellite for serving the terminal;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of communications channels provided by the satellite for serving the terminal based on the received resource usage information for the satellite indicative of the current availability of communications channels provided by the satellite for serving the terminal; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal based on the determined availability of communications channels provided by the satellite for serving the terminal.

13 . The terrestrial control center of claim 9 , wherein:

the satellite is configured to provide multiple beams for serving terminals;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of current availability of resources at the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite for a particular beam serving the terminal that is indicative of the current availability of communications channels provided by the particular beam for serving the terminal;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of communications channels provided by the particular beam for serving the terminal based on the processed resource usage information for the particular beam indicative of the current availability of communications channels provided by the particular beam for serving the terminal; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal based on the determined availability of communications channels provided by the particular beam for serving the terminal.

14 . The terrestrial control center of claim 9 , wherein:

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to execute a set up process for establishing a communications session over the satellite communications network between the terminal and endpoint include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to execute a set up process for establishing a type of communications session having a defined, standard bandwidth; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define a bandwidth for the communications session that is less than the defined, standard bandwidth for the type of communications session.

15 . The terrestrial control center of claim 9 , wherein:

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine that the satellite does not currently have resources available for serving the communications session;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to identify an alternative satellite from among the multiple satellites for serving the communications session based on having determined that the satellite does not currently have resources available for serving the communications session;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to transmit the one or more parameters defined for the communications session from the terrestrial control center to the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to transmit, from the terrestrial control center to the satellite, a message for relaying to the terminal that identifies the alternative satellite as available for serving the communications session; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to establish the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to establish the communications session over the satellite communications network via the alternative satellite instead of the satellite.

16 . The terrestrial control center of claim 9 , wherein the access information includes prior usage information of the terminal.

17 . A non-transitory, computer-readable storage medium storing instructions for managing communications sessions in a satellite communications network that, when executed by one or more processing elements, cause the one or more processing elements to:

execute a set up process for establishing a communications session over the satellite communications network between a terminal being served by a satellite of the satellite communications network and an endpoint;

in connection with the set up process, process resource usage information received from the satellite serving the terminal for which the communications session is being attempted to be established that is indicative of current availability of resources at the satellite;

determine, based on the resource usage information received from the satellite, current availability of resources at the satellite for serving the terminal;

define, based on the determined current availability of resources at the satellite for serving the terminal and access information received from the terminal at the terrestrial control center, one or more parameters for the communications session for the terminal;

transmit, to the satellite, the one or more parameters defined for the communications session; and

establish the communications session over the satellite communications network between the terminal and the endpoint according to the one or more parameters defined for the communications session.

18 . The non-transitory, computer-readable storage medium of claim 17 , wherein:

the satellite is configured to provide multiple beams for serving terminals;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process the resource usage information received from the satellite that is indicative of the current availability of resources at the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of the current availability of resources related to a particular beam serving the terminal;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources related to the particular beam for serving the terminal based on the received usage information indicative of the current availability of resources related to the particular beam; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal based on the determined current availability of resources related to the particular beam for serving the terminal.

19 . The non-transitory, computer-readable storage medium of claim 17 , wherein:

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of current availability of resources at the satellite include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to process resource usage information received from the satellite that is indicative of the current availability of communications channels provided by the satellite for serving the terminal;

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of resources at the satellite for serving the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to determine current availability of communications channels provided by the satellite for serving the terminal based on the received resource usage information for the satellite indicative of the current availability of communications channels provided by the satellite for serving the terminal; and

the instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal include instructions that, when executed by the one or more processing elements, cause the one or more processing elements to define one or more parameters for the communications session for the terminal based on the determined availability of communications channels provided by the satellite for serving the terminal.

20 . The non-transitory, computer-readable storage medium of claim 17 , wherein the access information includes service level agreements of the terminal.

Assignments (2)
SECURITY AGREEMENT Recorded Jul 30, 2024
From: SATELLES, INC.; IRIDIUM SATELLITE LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH AS COLLATERAL AGENT
Reel/Frame 068192/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2024
From: XENAKIS, GEORGE; PATEL, JAYESH; PON, HERMON
To: IRIDIUM SATELLITE LLC
Reel/Frame 067690/0874 →
Continuity (3)
Continuation 16715230 · Dec 16, 2019
Continuation 15698011 · Sep 7, 2017
Related Publication 20240414584A1 · Dec 12, 2024
References Cited (57)
US 5920804A · Armbruster et al. · 1999 [cited by applicant]
US 6185409B1 · Threadgill et al. · 2001 [cited by applicant]
US 6198907B1 · Torkington · 2001 [cited by applicant]
US 6317584B1 · Abu-Amara et al. · 2001 [cited by applicant]
US 6343205B1 · Threadgill et al. · 2002 [cited by applicant]
US 6711129B1 · Bauer et al. · 2004 [cited by applicant]
US 6738350B1 · Gao et al. · 2004 [cited by applicant]
US 6738363B1 · Best et al. · 2004 [cited by applicant]
US 6904265B1 · Valdivia et al. · 2005 [cited by applicant]
US 7940713B2 · Jin et al. · 2011 [cited by applicant]
US 8068827B2 · Miller et al. · 2011 [cited by applicant]
US 8712321B1 · Dankberg · 2014 [cited by applicant]
US 9055405B2 · Ling et al. · 2015 [cited by applicant]
US 9198077B2 · Park · 2015 [cited by applicant]
US 9246775B2 · Esserman et al. · 2016 [cited by applicant]
US 9680559B1 · Freedman et al. · 2017 [cited by applicant]
US 9699088B2 · Roy et al. · 2017 [cited by applicant]
US 9736844B2 · Tayrac et al. · 2017 [cited by applicant]
US 9749035B2 · Vasavada et al. · 2017 [cited by applicant]
US 9750079B1 · Mitchell · 2017 [cited by applicant]
US 9763167B2 · Gopal et al. · 2017 [cited by applicant]
US 10110300B2 · Xu et al. · 2018 [cited by applicant]
US 10367677B2 · Parkvall et al. · 2019 [cited by applicant]
US 12035170B2 · Xenakis · 2024 [cited by examiner]
US 20020003776A1 · Gokhale et al. · 2002 [cited by applicant]
US 20020147992A1 · King et al. · 2002 [cited by applicant]
US 20020174136A1 · Cameron et al. · 2002 [cited by applicant]
US 20050143003A1 · Lee et al. · 2005 [cited by applicant]
US 20060143444A1 · Malkamaki et al. · 2006 [cited by applicant]
US 20070014289A1 · Settle · 2007 [cited by applicant]
US 20080092181A1 · Britt · 2008 [cited by applicant]
US 20100118765A1 · Agarwal · 2010 [cited by applicant]
US 20100120359A1 · Agarwal · 2010 [cited by applicant]
US 20100309839A1 · Goldshtein · 2010 [cited by examiner]
US 20110019626A1 · Karaoguz et al. · 2011 [cited by applicant]
US 20110075655A1 · Sahin et al. · 2011 [cited by applicant]
US 20120190353A1 · Harwell · 2012 [cited by applicant]
US 20120197752A1 · Robinson et al. · 2012 [cited by applicant]
US 20130215746A1 · Bhooma · 2013 [cited by applicant]
US 20130244570A1 · Park · 2013 [cited by applicant]
US 20130301521A1 · Abdi · 2013 [cited by applicant]
US 20130315164A1 · Arur et al. · 2013 [cited by applicant]
US 20140162582A1 · Daly et al. · 2014 [cited by applicant]
US 20150282003A1 · Noerpel et al. · 2015 [cited by applicant]
US 20160037434A1 · Gopal et al. · 2016 [cited by applicant]
US 20160072691A1 · Xu et al. · 2016 [cited by applicant]
US 20160377730A1 · Drescher et al. · 2016 [cited by applicant]
US 20170012878A1 · Rahman · 2017 [cited by applicant]
US 20170195483A1 · Gault · 2017 [cited by applicant]
US 20170245185A1 · Chuberre et al. · 2017 [cited by applicant]
US 20170353871A1 · Tatum · 2017 [cited by applicant]
US 20180218240A1 · Kumar et al. · 2018 [cited by applicant]
US 20180270284A1 · Lee et al. · 2018 [cited by applicant]
US 20180343587A1 · Condeixa · 2018 [cited by applicant]
US 20190082481A1 · Ravishankar et al. · 2019 [cited by applicant]
US 20190103913A1 · Cooper et al. · 2019 [cited by applicant]
US 20190121665A1 · Clancy et al. · 2019 [cited by applicant]