IP Library Granted Patent US 12,647,863
Granted Patent B1
US 12,647,863 · App. 18/392,815 · Granted Jun 2, 2026

System and method for selecting among multiple satellite network paths at a user terminal

Inventors: Andrew D. Bohn (Duvall, WA); Michael Nicolls (Portola Valley, CA); Yashodhan Dandekar (Cupertino, CA)
Assignee: Space Exploration Technologies Corp.
H04W36/083H04B7/18584H04W36/30H04W72/0446
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,647,863
App. No.
18/392,815
Granted
Jun 2, 2026
Kind
B1
Abstract

A user terminal for a satellite communication system is programmed to receive data specifying candidate satellites of a plurality of satellites as being available for links during a plurality of time slots. The user terminal is assigned to a ground network point-of-presence (PoP). The candidate satellites are scheduled to communicate with different ones of a plurality of gateway terminals during each time slot. The user terminal can, during a first time slot, transmit first data requests to one of the candidate satellites; detect a deviation from a communication quality threshold on a communication path between the phased array antenna and the ground network PoP; and in response to the detection, transmit second data requests to another candidate satellite. Additionally or alternatively, the user terminal can proactively avoid a communication interruption related to obstructed lines of sight of a phased array antenna of the user terminal by switching between candidate satellites.

Claims (59)

1 . A user terminal for a satellite communication system, the satellite communication system including a plurality of satellites and a plurality of gateway terminals, the user terminal assigned to a ground network point-of-presence (POP), the user terminal comprising:

an interface device configured for electronic communication with local user computing devices;

a phased array antenna;

at least one processor; and

a computer-readable storage device storing instructions, wherein the instructions are executable to cause the at least one processor to perform operations including:

receiving, from one of the plurality of satellites via the phased array antenna and prior to an initial time slot of a plurality of time slots, topology schedule data specifying at least two candidate satellites of the plurality of satellites as being available for UT-SAT links during each of the plurality of time slots, wherein the candidate satellites are scheduled to communicate with different ones of the plurality of gateway terminals during each time slot, the plurality of gateway terminals each capable of communication with the ground network PoP;

during a first of the time slots, commanding the phased array antenna to transmit a first one or more data requests to one of the candidate satellites identified for the first time slot;

during the first time slot and subsequent to transmitting the first one or more data requests, detecting a deviation from a communication quality threshold on a communication path between the phased array antenna and the ground network PoP; and

during the first time slot and in response to detecting the deviation, commanding the phased array antenna to transmit a second one or more data requests to another of the candidate satellites identified for the first time slot.

2 . The user terminal according to claim 1 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the first time slot, repetitively pinging the ground network POP during the first time slot; and

in response to a delay time in receiving data from the one of the satellites exceeding a preset delay parameter, detecting the deviation.

3 . The user terminal according to claim 2 , wherein the instructions are executable to further cause the at least one processor to perform the repetitive pinging at a frequency less than or equal to 1 Hz.

4 . The user terminal according to claim 1 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the first time slot, tracking protocol data unit (PDU) decode errors for data received from the one of the candidate satellites during the first time slot; and

in response to the tracked decode errors exceeding a preset decode-error parameter, detecting the deviation.

5 . The user terminal according to claim 1 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the first time slot, tracking out-of-sequence service data unit (SDU) packets in data received from the one of the candidate satellites during the first time slot; and

in response to the tracked out-of-sequence packets exceeding a preset out-of-sequence parameter, detecting the deviation.

6 . The user terminal according to claim 1 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the first time slot, tracking packet loss in data received from the one of the candidate satellites during the first time slot; and

in response to the tracked packet loss exceeding a preset packet-loss parameter, detecting the deviation.

7 . The user terminal according to claim 1 , wherein the second one or more data requests includes a request for an uplink grant from the other of the satellites, and wherein the instructions are executable to further cause the at least one processor to:

subsequent to transmitting the request for the uplink grant, detect an absence of the uplink grant for the user terminal in data received from the other of the candidate satellites; and

during the first time slot and in response to detecting the absence of the uplink grant, command the phased array antenna to transmit the second one or more data requests to a third one of the candidate satellites identified for the first time slot.

8 . The user terminal according to claim 1 , wherein the topology schedule data specifies a priority sequence for the candidate satellites, and wherein the instructions are executable to further cause the at least one processor to select a primary satellite in the priority sequence as the one of the candidate satellites, and to select a backup satellite in the priority sequence as the other of the candidate satellites.

9 . The user terminal according to claim 1 , wherein the topology schedule data specifies a non-prioritized list of the candidate satellites, and wherein the instructions are executable to further cause the at least one processor to apply an algorithm to select the one of the candidate satellites and the other of the candidate satellites.

10 . The user terminal according to claim 9 , wherein the user terminal further comprises a memory, wherein the algorithm includes comparing flyover paths of the candidate satellites to an obstruction map stored in the memory, and wherein the obstruction map identifies obstructed lines of sight of the phased array antenna.

11 . A user terminal for a satellite communication system, the satellite communication system including a plurality of satellites and a plurality of gateway terminals, the user terminal assigned to a ground network point-of-presence (POP), the user terminal comprising:

an interface device configured for electronic communication with local user computing devices;

a phased array antenna;

at least one processor; and

a computer-readable storage device storing instructions, wherein the instructions are executable to cause the at least one processor to perform operations including:

storing obstruction information in a memory of the user terminal, wherein the obstruction information identifies one or more obstructed lines of sight of the phased array antenna;

receiving, from one of the plurality of satellites via the phased array antenna and prior to an initial time slot of a plurality of time slots, topology schedule data specifying at least two candidate satellites of the plurality of satellites as being available for UT-SAT links during each of the plurality of time slots, wherein the candidate satellites are scheduled to communicate with different ones of the plurality of gateway terminals during each time slot, the plurality of gateway terminals each capable of communication with the ground network POP;

determining, based on the obstruction information and prior to a first of the time slots, that one of the candidate satellites identified for the first time slot will become obstructed for at least one portion of the first time slot;

during portions of the first time slot other than the at least one portion, commanding the phased array antenna to transmit a first one or more data requests to the one of the candidate satellites identified for the first time slot; and

during the at least one portion of the first time slot, commanding the phased array antenna to transmit a second one or more data requests to another of the candidate satellites identified for the first time slot.

12 . The user terminal according to claim 11 , wherein the topology schedule data specifies a priority sequence for the candidate satellites, and wherein the instructions are executable to further cause the at least one processor to select a primary satellite in the priority sequence as the one of the candidate satellites, and to select a backup satellite in the priority sequence as the other of the candidate satellites.

13 . The user terminal according to claim 11 , wherein the topology schedule data specifies a non-prioritized list of the candidate satellites, wherein the instructions are executable to further cause the at least one processor to apply an algorithm to select the one of the candidate satellites and the other of the candidate satellites, and wherein the algorithm includes comparing flyover paths of the candidate satellites to the obstruction information.

14 . The user terminal according to claim 11 , wherein the instructions are executable to further cause the at least one processor to:

during the portions of the first time slot other than the at least one portion and subsequent to transmitting the first one or more data requests, detect a deviation from a communication quality threshold on a communication path between the phased array antenna and the ground network PoP; and

during the portions of the first time slot other than the at least one portion and in response to detecting the deviation, command the phased array antenna to transmit a third one or more data requests to either the other of the candidate satellites identified for the first time slot, or a third candidate satellite of the plurality of satellites.

15 . The user terminal according to claim 14 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the portions of the first time slot other than the at least one portion, repetitively pinging the ground network POP associated with the one of the gateway terminals scheduled for communication with the one of the candidate satellites during the first time slot; and

in response to a delay time in receiving data from the one of the satellites exceeding a preset delay parameter, detecting the deviation.

16 . The user terminal according to claim 15 , wherein the instructions are executable to further cause the at least one processor to perform the repetitive pinging at a frequency less than or equal to 1 Hz.

17 . The user terminal according to claim 14 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the portions of the first time slot other than the at least one portion, tracking protocol data unit (PDU) decode errors for data received from the one of the candidate satellites during the first time slot; and

in response to the tracked decode errors exceeding a preset decode-error parameter, detecting the deviation.

18 . The user terminal according to claim 14 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the portions of the first time slot other than the at least one portion, tracking out-of-sequence service data unit (SDU) packets in data received from the one of the candidate satellites during the first time slot; and

in response to the tracked out-of-sequence packets exceeding a preset out-of-sequence parameter, detecting the deviation.

19 . The user terminal according to claim 14 , wherein the instructions are executable to further cause the at least one processor to detect the deviation by:

during the portions of the first time slot other than the at least one portion, tracking packet loss in data received from the one of the candidate satellites during the first time slot; and

in response to the tracked packet loss exceeding a preset packet-loss parameter, detecting the deviation.

20 . The user terminal according to claim 14 , wherein the second one or more data requests includes a request for an uplink grant from the other of the satellites, and wherein the instructions are executable to further cause the at least one processor to:

subsequent to transmitting the request for the uplink grant, detect an absence of the uplink grant for the user terminal in data received from the other of the candidate satellites; and

during the first time slot and in response to detecting the absence of the uplink grant, command the phased array antenna to transmit the second one or more data requests to a third one of the candidate satellites identified for the first time slot.

Assignments (2)
CERTIFICATE OF CONVERSION (STATE OF DELAWARE TO STATE OF TEXAS; NEW FILE NO.: 805421124; FILED: 02-14-2024) Recorded Feb 28, 2025
From: SPACE EXPLORATION TECHNOLOGIES CORP.
To: SPACE EXPLORATION TECHNOLOGIES CORP.
Reel/Frame 070765/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: BOHN, ANDREW D.; NICOLLS, MICHAEL; DANDEKAR, YASHODHAN
To: SPACE EXPLORATION TECHNOLOGIES CORP.
Reel/Frame 066266/0689 →
Continuity (1)
Provisional Application 63435120 · Dec 23, 2022
References Cited (14)
US 6157621A · Brown · 2000 [cited by examiner]
US 7142521B2 · Haugli · 2006 [cited by examiner]
US 11336364B1 · Masoomzadeh · 2022 [cited by applicant]
US 11411640B2 · Rothaar et al. · 2022 [cited by applicant]
US 11595113B1 · Dickinson et al. · 2023 [cited by applicant]
US 11664877B1 · Wang et al. · 2023 [cited by applicant]
US 11671850B1 · Jayasimha et al. · 2023 [cited by applicant]
US 11729633B2 · Smoot et al. · 2023 [cited by applicant]
US 11791873B1 · Chopra et al. · 2023 [cited by applicant]
US 12035150B2 · Smoot et al. · 2024 [cited by applicant]
US 12081252B1 · Xue et al. · 2024 [cited by applicant]
US 12218816B2 · Wang · 2025 [cited by examiner]
US 20210314057A1 · Gazelle · 2021 [cited by applicant]
US 20230164089A1 · Greene · 2023 [cited by examiner]