WO2023022921A1 - Satellite communication system with software defined network orchestration - Google Patents

Satellite communication system with software defined network orchestration Download PDF

Info

Publication number
WO2023022921A1
WO2023022921A1 PCT/US2022/040103 US2022040103W WO2023022921A1 WO 2023022921 A1 WO2023022921 A1 WO 2023022921A1 US 2022040103 W US2022040103 W US 2022040103W WO 2023022921 A1 WO2023022921 A1 WO 2023022921A1
Authority
WO
WIPO (PCT)
Prior art keywords
satellite
user terminal
satellites
data
rmf
Prior art date
Application number
PCT/US2022/040103
Other languages
French (fr)
Inventor
Channasandra Ravishankar
Xiaoling Huang
John E. CORRIGAN, III
Original Assignee
Hughes Network Systems, 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
Priority claimed from US17/535,823 external-priority patent/US11916654B2/en
Priority claimed from US17/565,574 external-priority patent/US20230059780A1/en
Application filed by Hughes Network Systems, Llc filed Critical Hughes Network Systems, Llc
Priority to CA3228480A priority Critical patent/CA3228480A1/en
Publication of WO2023022921A1 publication Critical patent/WO2023022921A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18521Systems of inter linked satellites, i.e. inter satellite service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18519Operations control, administration or maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18586Arrangements for data transporting, e.g. for an end to end data transport or check

Definitions

  • Satellite systems can provide global high-speed coverage and may reach areas unserved or underserved. Thus, there is a significant need for new and improved mechanisms for providing satellite-based communication systems coverage.
  • Satellites which provide satellite-based broadband communication may be located at different altitudes above the earth. Satellites in a Low Earth Orbit (LEO) are typically about 2000 km and below. A Geostationary Orbit (GEO) satellite is 35,786 km above the earth. A Medium Earth Orbit (MEO) is greater in altitude than that of the LEO and less than that of the GEO, or about 2000 km to 35,786 km. As used herein, a constellation is a group of satellites at a given altitude.
  • LEO Low Earth Orbit
  • GEO Geostationary Orbit
  • MEO Medium Earth Orbit
  • a constellation is a group of satellites at a given altitude.
  • An example of disclosed systems herein can include a satellite communication system which includes: a satellite constellation with a plurality of satellites; and a route management function (RMF) configured to provide routing tables to the plurality of satellites; wherein the routing tables include a next hop satellite ID that indicates a desired satellite for a next hop for routing data among the plurality of satellites.
  • RMF route management function
  • An example of disclosed systems herein can include a method of communicating on a multi-satellite communication system which includes receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites; and uploading the determined routing tables to the plurality of satellites, wherein the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites.
  • An example of disclosed systems herein can include a method of communicating on a multi-satellite communication system which includes receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites based on the link status; uploading the determined routing tables to the plurality of satellites, wherein: the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites, and determining the routing tables for the plurality of satellites is performed by a route management function (RMF) located on a ground-based server; monitoring traffic flow to determine satellite IDs where data is to be sent; loading at a first satellite a satellite ID in a data header that indicates to send data to a desired satellite; a second satellite sending data to a next hop towards the desired satellite based on the satellite ID in the data header using the routing tables; providing direct user terminal to user terminal communication without traversing gateways and associated terrestrial links by an originating user terminal first querying the RMF to determine if the RMF has up-to
  • FIG. 1 is a diagram showing an example implementation of the MEO-LEO system according to the instant disclosure.
  • FIG. 2 shows LEO constellation parameters for an example constellation with 864 satellites.
  • FIG. 3 shows LEO constellation parameters for an example constellation with 432 satellites.
  • FIG. 4 shows an example of a LEO satellite that may be used with the techniques of the instant application.
  • FIG. 5 is a diagram showing the LEO Gateway Link Antenna Pattern Using Bessel Function (ES Elev. 25 degrees).
  • FIG. 6 shows MEO constellation parameters for an example constellation satellite.
  • FIG. 7 shows an example of a MEO satellite that may be used with the techniques of the instant application.
  • FIG. 8 illustrates a satellite communication system according to the prior art.
  • FIG. 9 is a diagram showing a first scenario for UT-UT connectivity.
  • FIG. 10 is a diagram showing a second scenario for UT-UT connectivity.
  • FIG. 11 illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
  • FIG. 12 is a data flow diagram for secure direct UT to UT communication in a satellite system.
  • FIG. 13A illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
  • FIG. 13B illustrates a first example of direct communication between a first user terminal and a second user terminal.
  • FIG. 13C illustrates a second example of direct communication between a first user terminal and a second user terminal.
  • FIG. 14 is a diagram showing an example implementation of an satellite system 1400 with SDN orchestration.
  • FIG. 15 illustrates an example of determining a satellite ID for placing in L2 headers to send data over a satellite system.
  • FIG. 16A illustrates an implementation of a management plane in a satellite system.
  • FIG. 16B illustrates additional management plane paths and data plane paths in a satellite system.
  • FIG 17 illustrates details of the route management function.
  • FIG. 18A illustrates an example of a routing table for flow independent routing.
  • FIG. 18B illustrates an example of a routing table for flow dependent routing.
  • FIG. 19 illustrates an example of a forwarding function on a satellite for forwarding data based on a routing table.
  • FIG. 20 illustrates a method for a satellite system with software defined network orchestration.
  • FIG. 21 illustrates an example of the RMF managing a direct UT-UT session over a satellite system.
  • FIG. 22 is a block diagram showing an example software architecture, various portions of which may be used in conjunction with various hardware architectures herein described, which may implement any of the features described herein.
  • FIG. 23 is a block diagram showing components of an example machine configured to read instructions from a machine-readable medium and perform any of the features described herein.
  • the instant disclosure describes a technical solution to the problem of providing global coverage for satellite communication systems that combines the benefits of Medium Earth Orbit (MEO) and Low Earth Orbit (LEO) satellite systems into an integrated MEO- LEO satellite communication system.
  • the MEO-LEO communication system described herein includes an LEO constellation combined with a MEO constellation where the LEO constellation may provide global coverage with broad average capacity and may support ‘hot spot’ coverage where desired.
  • the MEO constellation may provide unique advantages including backhaul to ground in remote areas (such as but not limited to deep ocean areas), higher traffic density for key locations, and a secure global backhaul for key customers.
  • SDN Software Defined Networking
  • MEO-LEO backhaul and ground access
  • LEO - LEO upstream & downstream
  • MEO - MEO crosslinks & downlinks
  • implementations described herein include secure user terminal (UT) to UT IP routing in the constellation for direct UT to UT communication.
  • the LEO and MEO constellation satellites may form a mega constellation comprising many satellites orbiting the Earth. Such a mega constellation may include hundreds or even thousands of satellites. Communications are facilitated using intraconstellation and inter-constellation cross links as described herein.
  • Technical benefits of a MEO-LEO satellite system include global consumer and enterprise Internet Protocol (IP) data, and the ability to provide secure IP data services between users and/or enterprises without traversing gateways and associated terrestrial links.
  • IP Internet Protocol
  • SDN routing capabilities that provide complete functionality at any stage of deployment. Routes are determined by a central ground controller, and routing tables are uplinked to satellites. An implementation of SDN routing is described further below with reference to the route management function (RMF).
  • RMF route management function
  • FIG. 1 is a diagram showing an example implementation of the MEO-LEO system 100 according to the instant disclosure. The specific implementation shown in FIG.
  • the example implementation of the MEO-LEO system 100 shown in FIG. 1 includes a MEO constellation 110 and a LEO constellation 112.
  • the MEO constellation 110 has a number of MEO satellites 114.
  • the MEO satellites 114 may be interconnected by MEO links 116 between the satellites as described further below.
  • the LEO constellation 112 has a number of LEO satellites 118 interconnected by LEO links 120 between the LEO satellites 118.
  • the MEO links 116 and the LEO links 120 may be optical links or RF links.
  • the LEO and MEO satellites may be connected by an MEO-LEO optical link 122 as described further below.
  • the MEO constellation 110 and the LEO constellation 112 may have any number of satellites as described further below.
  • the MEO-LEO system 100 further includes a number of user terminals (UT) that communicate with the MEO satellites 114 and the LEO satellites 118.
  • a first user terminal 124 communicates over a single beam 126, on a single Ka band, to the MEO satellites 114.
  • a second user terminal 128 communicates with two beams 130, 132 to the satellites.
  • the first beam 130 is on the Ka band and communicates with the MEO satellites 114.
  • the second beam 132 is on the Ku band and communicates with the LEO satellites 118.
  • a third user terminal 134 communicates over a single beam 136 with a single, Ku band, to the LEO satellites 118.
  • the MEO-LEO system 100 may include a number of satellite gateways that also communicate with the satellites.
  • LEO satellite gateways 138 may communicate with LEO satellites 118 over one or more beams and one or more bands.
  • the LEO gateways 138 communicate with the LEO satellites 118 over a combination of Ka and Q/V bands 140.
  • the LEO satellite gateways 138 communicate over an internet protocol (IP) core network 142 with one or more servers 144.
  • the servers 144 may include subscription, security, management and application servers.
  • the IP core network 142 may also include a border gateway 146 for connecting to external IP networks 148.
  • MEO satellite gateways 150 may communicate with MEO satellites 114 over one or more beams and one or more bands.
  • the MEO gateways 150 communicate with the MEO satellites 114 over a combination of Ka, Q/V, and E bands 152.
  • the MEO-LEO system 100 may further include a software defined network (SDN) controller 152.
  • the SDN controller 152 in the example MEO-LEO system 100 shown in FIG. 1 is located on the IP core network 142.
  • the SDN controller 152 may be located within the satellite gateways 138, 150. Since power on a satellite is limited, it is desirable to put the SDN controller function on the ground where power is more readily available. Placing the complex SDN controller function on the ground also allows for a simplified router on the satellite where the satellite router simply routes the data according to instructions received from the SDN controller 152.
  • the SDN controller 152 receives information about conditions of the various links in the MEO-LEO system 100 and calculates a route for data through the system based on the condition of the links. Examples of the MEO-LEO links and routing through these links are described further below.
  • the satellite system 100 may further include a satellite communication table 154 connected to a server 144 for storing user terminal connection data as described further below.
  • the satellites 114, 118 may also include a routing table 156 as described below.
  • the MEO-LEO system 100 may provide hot spot coverage.
  • hot spot coverage means that there are certain regions in the coverage area where there is a significantly higher demand compared to other regions and the system provides the capability to allocate commensurate satellite resources (frequency and power) to satisfy the demand.
  • FIG. 2 shows LEO constellation parameters for an example constellation with 864 LEO satellites.
  • the LEO satellites 118 have a satellite elevation 212 of 1150 km.
  • This satellite elevation 212 provides a satellite coverage footprint 214 of 1785 km on the earth’s surface.
  • the constellation Height is 1150 km with 36 planes and 24 satellites per plane.
  • the minimum UT Elevation is 45.7 degrees.
  • the satellites 118 include a Ku user link and one or more Ka and V/Q Gateway links.
  • the user link uses a phased array antenna.
  • Each satellite 118 includes optical inter-satellite links as described further below. Both left hand circular polarization (LHCP) and right hand circular polarization (RHCP) may be used in user links and Gateway Links.
  • the satellites 118 have 16 GHz user spectrum per satellite providing 32 Gbps per satellite.
  • the user data rate in the forward link is 1 Gbps per 500 MHz channel.
  • a plane is a specific orbit in which one or more satellites revolve around the earth. A plane is typically identified by altitude, inclination, longitude of ascending node etc. [0044] Table 1 summarizes some representative LEO system parameters for the example LEO constellation 112 shown in FIG. 1.
  • FIG. 3 shows representative LEO constellation parameters for an example constellation with 432 LEO satellites.
  • the LEO satellites 118 have a satellite elevation 312 of 1150 km. This satellite elevation 312 provides a satellite coverage footprint 314 of 2292 km on the earth’s surface.
  • the constellation Height is 1150 km with 18 planes and 24 satellites per plane.
  • the minimum UT Elevation is 37.4 degrees.
  • the satellites 118 include a Ku user link and one or more Ka and V/Q Gateway links.
  • the user link uses a phased array antenna.
  • Each satellite 118 includes optical inter-satellite links as described further below. Both LHCP and RHCP in user links and Gateway Links.
  • the satellites 118 have 16 GHz user spectrum per satellite providing 32 Gbps per satellite.
  • the user data rate in the forward link is 1 Gbps per 500 MHz channel.
  • Ground System deployment may be incremental based on user traffic demand. Gateways may be placed in areas where coverage is required. Inter-satellite links may be used for the backhaul. Another technical benefit of the MEO-LEO satellite system is that MEO requires fewer gateways. For example, 6-8 gateways may be sufficient for global coverage.
  • FIG. 4 shows an example of the LEO satellite 118 described above in the LEO constellation 112.
  • the LEO satellite 118 in this example is configured with link hardware to support five Inter- Satellite Links (ISLs) to adjacent LEO satellites.
  • the ISLs are preferably optical links.
  • the ISLs include a MEO-LEO optical link 410 that connects the LEO satellite 118 to a MEO satellite 114 in the MEO constellation 110 as shown in FIG. 1.
  • the MEO- LEO optical link 410 is preferably a high bandwidth to provide backhaul to LEO satellites.
  • backhaul refers to a network connection transmitting a signal from a remote site or network to another site or network.
  • the LEO satellite 118 includes east and west optical links (ISL-East 414, ISL-West 412) that connect the satellite 118 to adjacent satellites in adjacent planes to the east and west respectively.
  • the LEO satellite 118 further includes north and south optical links (ISL-North 416, ISL-South 418) that connect to adjacent satellites in the same plane to the north and south.
  • the LEO satellite 118 further includes a user link 420 and gateway links 422.
  • the user link 420 includes a Ku-band phased array user link antenna.
  • the gateway links include two Ka-band and a Q/V band gateway links for backhaul.
  • the Ku antenna can also link backhaul traffic to a gateway if needed.
  • FIG. 5 is a diagram showing the LEO gateway link antenna pattern using Bessel Function (ES Elev. 25 degrees).
  • the gateway link antenna provides beam steering to 49.710 degrees.
  • FIG. 6 shows MEO constellation parameters for an example MEO constellation with 64 MEO satellites 114.
  • the MEO satellites 114 have a satellite elevation 612 of 8000 km. This satellite elevation 612 provides a satellite coverage footprint 614 of 6523 km on the earth’s surface.
  • the constellation has 8 planes with 8 satellites per plane. The minimum UT Elevation is 41.2 degrees.
  • the MEO satellite 114 can use satellite steering to cover further north to Alaska.
  • the satellites 118 include a Ka band user link and one or more Ka, V/Q and E gateway links.
  • the user link uses a phased array antenna.
  • Each satellite 114 includes optical inter-satellite links as described further below. Both LHCP and RHCP are used in the user links and gateway links.
  • the satellites 114 have 48 GHz user spectrum per satellite providing about 100 Gbps per satellite.
  • FIG. 7 shows an example of the MEO satellite 114 described above in the MEO constellation 110.
  • the MEO satellite 114 in this example includes six ISLs to adjacent LEO satellites.
  • the ISLs include a MEO-LEO optical link 710 that connects the satellite 114 to an LEO satellite 118 in the LEO constellation 112 as shown in FIG. 1.
  • the MEO-LEO optical link 710 is preferably a high bandwidth to provide backhaul to LEO satellites.
  • the MEO satellite 114 includes east and west optical links (ISL-East 712, ISL-West 714) that connect the satellite 114 to adjacent satellites in adjacent planes to the east and west respectively.
  • the MEO satellite 114 further includes north and south optical links (ISL-North 716, ISL-South 718) that connect to adjacent satellites in the same plane to the north and south.
  • the MEO satellite 114 further includes a user link 720 and gateway links 722.
  • the user link 720 includes a Ka-band user link with a phased array antenna.
  • the gateway links include four Ka-band and a Q/V band gateway links for backhaul.
  • the Ka antenna can also link backhaul traffic to a gateway if needed.
  • the MEO satellite 114 may further include a MEO-GEO link 724 to a geosynchronous satellite.
  • the MEO-GEO link 724 may be an optical link similar to the MEO-LEO optical link 710 disposed on the satellite facing geosynchronous satellite located above the MEO satellite 114.
  • FIG. 8 shows a satellite communication system 800 which illustrates prior art communication in a satellite system.
  • a first user terminal (UT1) 810 connects to and communicates with a second user terminal 812 through the satellite system 800 and terrestrial network.
  • the satellite system may have one or more satellites shown here as satellite 816A and 816B and collectively referred to as satellites 816.
  • the first user terminal 810 connects via a user link 814 to a first satellite 816A.
  • the first satellite 816A communicates with a first satellite gateway 820 over a link 818.
  • the first satellite gateway 820 sends data through a terrestrial network to a second satellite gateway 826.
  • the first satellite gateway 820 communicates with a 5G core network 822 to the internet 824.
  • Data is sent over the internet 824 through the 5G core network 822 to the second satellite gateway 826.
  • the second satellite gateway 826 send the data over a second link 828 to satellite 816B.
  • the second satellite 816B then sends the data to the second user terminal (UT-2) 812 over a user link 832.
  • the user links 832, 814 may be similar to user links 132, 136 as described above with reference to FIG. 1.
  • the satellites 816A, 816B may be the same satellite or different satellites in either an LEO or MEO constellation 830 but not both.
  • packets originating from a first user terminal (UT1) under one satellite are brought down to a corresponding gateway on the ground and routed on terrestrial links to a second gateway under a satellite (the same satellite or a different satellite in the same or a different constellation) that is connected to a second user terminal (UT-2).
  • Traditional non-geostationary constellations are either at LEO or MEO.
  • LEO and MEO constellations can have intra-constellation optical or RF cross-links.
  • the described implementations herein provide interconnected LEO and MEO satellites with cross-links not just within a constellation but also between LEO and MEO constellations. LEO and MEO constellations can advantageously be using different frequency bands in user links.
  • Ku band for LEO and Ka band for MEO For example, Ku band for LEO and Ka band for MEO.
  • a given user terminal may be capable of Ku only, Ka only or both Ku and Ka.
  • two user terminals may directly communicate with each other regardless of their band capabilities. Direct communication between two user terminals without touching the ground has the significant advantage of providing the highest security.
  • packets originating from a first UT under one constellation can be routed to a second UT under a different constellation entirely in the constellation without being routed on any terrestrial networks.
  • FIGs. 9 and 10 illustrate two examples for data connectivity between user terminals without traversing terrestrial links.
  • Many entities such as governments, businesses, or other enterprises may benefit from a point-to-point secure data link.
  • a data link that does not traverse terrestrial data links reduces exposure to security risks of terrestrial links that are not controlled by the entity.
  • FIG. 9 presents a first example of point-to-point connectivity between user terminals without traversing terrestrial links.
  • a first user terminal (UT1) 910 connects to and communicates with a second user terminal (UT-2) 912 through the MEO-LEO system 100.
  • the user terminals 910, 912 may be physically located at virtually any point on the surface of the Earth.
  • the first user terminal 910 connects via a user link 914 to a LEO satellite 916.
  • the user link 914 may be similar to user links 132, 136 as described above with reference to FIG. 1.
  • the LEO satellite 916 is a satellite in the LEO constellation 112.
  • the LEO satellite 916 communicates over a MEO-LEO link 918 with a MEO satellite 920 in the MEO constellation 110.
  • the MEO satellite 920 communicates over a MEO link 922 to a second MEO satellite 924.
  • the second MEO satellite 924 communicates over another MEO-LEO link 926 to a LEO satellite 928.
  • the LEO satellite 928 the communicates over a user link 930 with the second user terminal 912.
  • the first MEO satellite 920 may communicate directly with the LEO satellite 928, thus not needing the MEO link 922.
  • FIG. 10 is a diagram showing a second scenario for connectivity between user terminals.
  • a first user terminal (UT1) 1010 connects to and communicates with a second user terminal (UT-2) 1012 through the MEO-LEO system 100.
  • the user terminals 1010, 1012 may be physically located at virtually any point on the surface of the Earth.
  • the first user terminal 1010 connects via a user link 1014 to a LEO satellite 1016.
  • the user link may be user links 132, 136 as described with reference to FIG. 1.
  • the LEO satellite 1016 is a satellite in the LEO constellation 112.
  • the LEO satellite 1016 communicates over a MEO- LEO link 1018 with a MEO satellite 1020 in the MEO constellation 110.
  • the MEO satellite 1020 communicates over a MEO link 1022 to a second MEO satellite 1024.
  • the second MEO satellite 1024 communicates over a user link 1026 with the second user terminal 1012.
  • the MEO-LEO system architecture lends itself to providing high availability and secure communication between two points on the earth without traversing terrestrial links.
  • Software Defined Networking (SDN) based routing will allow appropriate routing via the MEO-LEO constellation to reach the intended destination. It is noted that the data path between two user devices does not go through a gateway link and therefore does not traverse any terrestrial link or facility.
  • SDN Software Defined Networking
  • the illustration shows communication between two entities that are both Ku-band terminals, it is also possible for this type of secure connectivity between a Ku-band and Ka-band terminal. In such a case, the Ka link will be with MEO and Ku link will be with LEO.
  • a route determination algorithm can determine the most optimal route via intra- and/or inter-constellation links.
  • FIG. 11 illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
  • FIG. 11 shows the data plane routing of the UT-UT communication.
  • a first user terminal UT1 1110 is connected to a second user terminal UT-2 1112 via a LEO-MEO constellation 1114 comprising an LEO satellite 1116 and an MEO satellite 1118.
  • the first user terminal UT1 1110 includes a representation of the user plane protocol stack.
  • the user plane protocol stack includes from top to bottom, an application block 1120, a transmission control protocol/user datagram protocol (TCP/UDP) block 1122, an internet protocol (IP) block 1124, a service data adaption protocol/packet data convergence protocol block (SDAP/PDCP) block 1126, a radio link control (RLC) block 1128, a medium access control (MAC) block 1130 and a physical layer (PHY) block 1132.
  • the second user terminal 1112 includes the same user plane protocol stack with these same blocks. Each of these blocks may function as known in the prior art.
  • the LEO satellite 1116 also includes a representation of the user plane protocol stack.
  • the user plane protocol stack in the LEO satellite 1116 includes an internet protocol (IP) block 1134, a radio link control (RLC) block 1136, a medium access control (MAC) block 1138 and a physical layer (PHY) block 1140, a layer 2 (L2) block 1142 and a second physical layer (PHY) block 1144.
  • IP internet protocol
  • RLC radio link control
  • MAC medium access control
  • PHY physical layer
  • L2 layer 2
  • PHY second physical layer
  • the IP routing of UT to UT communication includes various links between the user terminals and the satellites.
  • the PHY layer 1132 of the first user terminal 1110 is connected to the PHY layer 1140 of the LEO satellite 1116 via a user link 1146.
  • the user link 1146 is a Ku band link.
  • the PHY layer 1144 of the LEO satellite 1116 is connected to the PHY layer 1148 of the MEO satellite 1118 via a LEO/MEO optical link 1150 as described above.
  • the PHY layer 1152 of the MEO satellite 1118 is connected to the PHY layer 1154 of the second user terminal 1112 via a second user link 1156.
  • the user link 1156 is a Ka band link.
  • FIG. 12 is a data flow diagram for secure direct UT to UT communication in a satellite system.
  • FIG. 12 illustrates data flow from a first user terminal UT1 to a second user terminal UT-2.
  • Data passes from UT1 through the network entities as follows: UT1 - LEO satellite - LEO Gateway - 5G Core Network - Internet - 5G Core Network - MEO gateway - MEO satellite - UT-2.
  • the top portion 1210 of the data flow diagram represents data flow in a satellite system as shown in FIG. 8.
  • encrypted data 1212 flowing from UT1 to UT2 undergoes encryption and decryption at each segment of the data path as shown.
  • the bottom portion 1214 of the data flow diagram represents direct UT-UT secure data flow in a satellite system as shown in FIGs. 9 and 10.
  • encrypted data 1216 flowing from UT1 to UT-2 undergoes encryption at UT1 and decryption at UT-2.
  • the encrypted data 1216 flowing from UT1 to UT-2 is secured using a private key which protects the data throughout the entire data route.
  • FIG. 13A illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
  • FIG. 13 shows the control plane routing of the UT-UT communication for a system similar to that of FIG. 11.
  • a first user terminal UT1 1110 is connected to a second user terminal UT-2 1112 via a LEO-MEO constellation 1114 comprising an LEO satellite 1116 and an MEO satellite 1118.
  • the first user terminal 1110 includes a representation of the control plane protocol stack.
  • the control plane protocol stack includes from top to bottom, an NAS-MM block 1310, an NAS-MM block 1312, a radio resource control gateway (RRC-G) block 1314, a radio resource control user-user (RRC-UU) block 1316, a radio link control (RLC) block 1318, a medium access control (MAC) block 1320 and a physical layer (PHY) block 1322.
  • the second user terminal 1112 includes the same control plane protocol stack with these same blocks. Each of these blocks, with the exception of RRC-UU 1316, may function as known in the prior art.
  • the LEO satellite 1116 also includes a representation of the control plane protocol stack.
  • the control plane protocol stack in the LEO satellite 1116 includes a relay block 1324, a radio link control (RLC) block 1326, a medium access control (MAC) block 1328 and a physical layer (PHY) block 1330, a L2 block 1332 and a second physical layer (PHY) 1334.
  • the MEO satellite 1118 has the same blocks in its user plane protocol stack.
  • the RRC-UU block 1314 allows direct UT-UT control plane communication 1336 between the two user terminals as described further below.
  • An advantage of some implementations herein is direct communication between user terminals as introduced above.
  • a direct connection can be achieved between a first user terminal that can communicate with an LEO satellite and a second user terminal that can communicate with MEO satellite, or other routes through a satellite constellation as described above.
  • a user terminal can initiate direct communication by knowing the IP address of another user terminal. IP packets transmitted by the first user terminal are received by the first satellite, for example an LEO-SAT.
  • the RLC layer in the first user satellite may implement Layer-2 automatic repeat (ARQ) protocols to ensure error free reception of IP packets at the LEO-SAT.
  • Layer-2 ARQ may be selectively applied based on traffic flow characteristics. For example, TCP based traffic flows undergo Layer-2 ARQ.
  • UDP based traffic flows such as conversational voice may not undergo Layer-2 ARQ.
  • the satellite may inspect the destination IP address in a received IP header and consults its routing table to determine the next-hop for this packet. Routing table in each satellite is updated based on link state information in the constellation topology. Traditional method would be for user terminals to advertise its reachability based on the satellite the user terminal is communicating with.
  • a satellite system where the satellites are moving i.e. a satellite constellation with non-geosynchronous satellites such as LEO and MEO satellites
  • user terminals need to update reachability information every time there is a satellite handover at the user terminal. Every time there is a reachability update of the user terminal to a new satellite, all other routers in constellation should update their routing tables to maintain reachability. Updating reachability information upon each handover can add significant signaling overhead in the system. In implementations described below, this signaling overhead can be completely removed where the satellites autonomously update their routing tables without explicit reachability update information.
  • the user terminals can take advantage of satellite handover signaling protocols to piggy-back reachability information to the satellite. However, this method requires updating routing tables in each satellite.
  • Using piggy-back protocols can put a significant demand on system resources due to the size of the routing table in each satellite. As an example, if there are hundreds of thousands of user terminals that wish to be engaged in direct sessions, the size of the routing tables will need to be quite large. In addition to memory requirements, the large routing table creates a demand for quick search over large routing tables.
  • satellite routers don’t have to store and search routing tables that are the size of the user terminal population. Instead, the routing table size is limited to the size of the constellation, namely the number of satellites in the constellation.
  • the first user terminal may be provided with the satellite ID that second user terminal is communicating with at the beginning of the communication session. This can be provided by the gateways.
  • the LEO and MEO gateways are constantly aware of the geo-locations of the individual user terminals that having active communications.
  • a designated server on the ground is aware of the LEO or MEO satellite that the second user terminal is in communication with.
  • the designated server may be one of servers 144 with the data of user terminals which are communicating with a satellite stored in a satellite communication table 154 as shown in FIG. 1.
  • This designated server provides the satellite ID that the second user terminal is communicating with at the beginning of the direct session - for the purposes of this discussion we call this as the egress satellite to reach the second satellite.
  • FIG. 13B illustrates a first example of direct communication between a first user terminal and a second user terminal.
  • the system uses extension IP headers to reduce the complexity and memory load required when using full routing tables as discussed above.
  • Each IP data packet includes an extension IP header that contains the egress satellite’s ID.
  • Each entity in the system routes the data packet to the next entity based on the extension header of the data packet.
  • Data may be sent through a combination of satellites and gateways to the destination user terminal. For example, data may use the point-to-point connectivity between user terminals without traversing terrestrial links as described with reference to FIG. 8 and FIG. 9.
  • data may flow between user terminals using extension IP headers by passing through a combination of satellites and ground based gateways as shown in FIG. 13B.
  • a first user terminal UT1 sends an IP packet destined to a second user terminal UT-2.
  • UT1 may inform UT-2 that it intends to communicate with UT-2 during security establishment handshake (not shown).
  • the data communication using extension IP headers is illustrated as a data flow 1350 from UT1 to UT- 2.
  • Data from UT1 is first sent to SAT-1 with extension IP headers.
  • SAT-1 receives the data IP packets from UT1 with an extension header, and simply inspects the egress satellite ID to make a determination where to send the data on the next-hop to reach egress satellite ID.
  • the data flow 1350 continues in this example by SAT-1 sending the data through gateway GW1 to SAT-2.
  • the data flow 1350 continues through SAT-3, SAT-4 and SAT-5 to user terminal UT-2.
  • the data may flow 1350 through other gateways and a software defined (SDN) controller as shown.
  • SDN software defined
  • UT-2 communicates with UT1
  • the packets generated by UT-2 will have an extension header that points to the satellite UT1 which is communicating with UT-2.
  • UT-2 directly informs UT1 of the new satellite ID which is now handing data traffic of UT-2.
  • UT1 informs UT-2 about its satellite handover.
  • the extension header is appropriately updated.
  • the satellites do not need to maintain a large table with IP addresses, they only need to maintain a table to reach a particular satellite in the constellation.
  • FIG. 13B A brief description of a handover is shown in FIG. 13B.
  • the handover may be accomplished with a sequence of handshake signals 1354.
  • a satellite handover 1352 is executed.
  • the handover handshake signals 1354 may end with handover complete signals as shown.
  • the UT-2 sends a handover update to inform UT1 of the new satellite ID it is communicating with.
  • the handover update is accomplished using RRC-G signaling 1356 to gateway GW2.
  • Router signaling 1360, 1362 can then be used to send the handover update to the next gateway GW1 via the SDN controller.
  • RRC-G signaling 1358 can then be used to forward the handover update from GW1 to UT1.
  • UT1 now having new satellite information about UT-2, updates the extension headers in data packets appropriately and again sends data 1364 to UT-2 as described above.
  • This method of direct communication between user terminals eliminates the need for large routing tables. However, this method does require complex signaling via ground elements for the handover updates.
  • FIG. 13C illustrates a second example of direct communication between a first user terminal and a second user terminal.
  • the system uses the RRC-UU 1316 introduced above for direct UT-UT control plane communication 1336 between the two user terminals.
  • data flows 1350 from UT1 to UT-2, and a handover is handled 1354 as described above.
  • UT-2 communicates with UT1 using RRC-UU layer protocol signaling 1366 to send UT1 the new egress satellite ID used by UT-2.
  • the RRC-UU layer protocol signaling 1366 uses the RRC- UU 1316 in the protocol stack of the user terminals as described above.
  • UT1 then uses the received information to update the egress router ID in the extension header for subsequent data sent 1364 to UT-2.
  • Data is sent 1364 as described above where all satellites in the constellation only need to inspect the destination IP address in the extension header to route the packets to the correct egress router. Therefore, there is no need for routers to update their routing tables when a UT executes a satellite handover since it is the responsibility of UT to update the extension header. Further, since it is the user terminal’s responsibility to populate the correct egress satellite ID in extension headers, the other satellites need not store information about individual user terminals.
  • the egress satellite must still determine the beam within the satellite where the user terminal can be reached.
  • Each satellite maintains a list of active user terminals in each beam as part of normal radio resource function. Therefore, when a packet is received at the egress satellite, the satellite is aware of which beam the UT is located.
  • Previous discussions were centered around constellation routing based on satellites inspecting destination IP address and extension headers. This implies that satellites have to implement IP layer and corresponding header checksum etc. This complexity can be eliminated taking advantage of the extension IP header concept discussed under IP Routing.
  • the user terminal inserts an extension L2 -header or a label that contains the egress satellite information rather than extension IP header.
  • the first L2 frame of a given IP packet contains the extension L2 header.
  • the satellite does not need to implement IP layer.
  • the RLC layer completes the re-assembly, it simply inspects the extension L2 -header of the first frame to route to egress satellite. This leads to a reduced complexity satellite implementation.
  • Implementations described above provide efficient techniques to establish direct UT-UT connection via LEO-LEO or LEO-MEO links.
  • the packets originate in one user terminal and reaches the destination UT without traversing through a ground network.
  • it may be required to know the volume of data (not the actual data itself) transferred during the direct UT-UT connection. For example, billing may require a determination of the volume of data sent. Another reason may be for traffic engineering.
  • this volume is easily determined by the 5G Core Network elements since all packets pass through the 5G Core.
  • packets may not pass through the 5G core network elements.
  • the ingress satellite may simply replicate IP packets (or altered IP packets) towards the ground (and hence 5G core network); but destroy the content of the IP packet so that it makes no sense to a listener on the ground infrastructure.
  • the 5G core network would simply compute volume based on these modified IP packets.
  • this method consumes resources on the satellite as well as bandwidth.
  • the ingress satellite does the volume accounting and simply sends one message to an accounting server on ground when a UT hands over to a different satellite. This method does require an application layer implementation in the satellite, but it does not consume as much satellite resources or spectrum.
  • FIG. 14 is a diagram showing an example implementation of a satellite system 1400 with SDN orchestration.
  • the specific implementation shown in FIG. 14 is one possible implementation of the MEO-LEO system 100 shown in FIG. 1.
  • the example implementation of the satellite system 1400 shown in FIG. 14 includes a satellite constellation 1410.
  • the satellite constellation 1410 may combine an MEO constellation 110 and an LEO constellation 112 as shown in FIG.l.
  • the satellite constellation 1410 may include any number of LEO and MEO satellites.
  • the satellites are represented by Satellitel 1412, Satellite2 1414, Satellites 1416 and SatelliteN 1418, where SatelliteN represents any number of satellites may be included in the satellite constellation 1410.
  • the satellite system 1400 further includes a number of user terminals (UT) that communicate with the satellites.
  • a first user terminal, UT1 1420 is shown communicating with Satellitel 1412.
  • UT1 may communicate with Satellitel as described above over a single beam or multiple beams as described above.
  • the satellite system 1400 may include a number of satellite gateways that also communicate with the satellites.
  • the satellite gateways may communicate with LEO and MEO satellites over one or more beams and one or more bands as described above.
  • GW1 1422 communicates with the satellite 1412 and GW2 communicates with Satellite2 1414.
  • the satellite gateways 1422, 1426 also communicate over an internet protocol (IP) core network 1424 which may be a private IP network.
  • IP core network 1424 includes a Route Management Function (RMF) 1436 and an Access and Mobility management Function (AMF) 1438.
  • RMF Route Management Function
  • AMF Access and Mobility management Function
  • the RMF 1436 and AMF 1438 may include executable modules that reside on a computer or server such as servers 144 shown in FIG. 1 that implement a software defined network functionality as introduced above.
  • the RMF 1436 and AMF 1438 functions may be located at another location such as on a satellite.
  • placement of the RMF 1436 and the AMF 1438 on hardware of the IP core network 142 reduces computational requirements of the satellites by offloading these functions to a ground-based computer or server.
  • the IP core network 1424 may also include a border gateway (not shown) for connecting to external IP networks 1430.
  • the external IP network 1430 is a public network such as the Internet which may connect to remote servers Serverl 1432 and Server2 1434. Serverl 1432 and Sever2 1434 represent data available over the Internet as know in the prior art.
  • Each satellite in the constellation is treated as a router in the overall network architecture.
  • the routing of data in the satellites is based on a satellite ID provided by user terminals and gateways in L2 frames transmitted to satellite.
  • the RMF 1436 in combination with routing based on the network ID portion of the destination address allows for SDN orchestration of data routing. Routing data in the satellite network in this manner significantly saves the amount of memory needed in the satellite and reduces search complexity which reduces the load on satellite computing resources.
  • a single satellite may have multiple gateway links. Each of the gateway links of a satellite is identified by a feederlink ID.
  • FIG. 15 illustrates an example of determining a satellite ID for placing in L2 headers to send data over the satellite system 1400.
  • a given UT in idle mode determines the satellite ID to include in L2 headers based on listening to Common Control Channels (CCCH) from gateways.
  • CCCH Common Control Channels
  • the CCCH is a control plane communication protocol know in the prior art. In implementations herein, additional information is added to the CCCH to enable the system to provide SDN orchestration of data routing.
  • Gateways may transmit their own IDs, a feederlink ID as well as the ID of the satellite with which it is communicating in the CCCH 1510.
  • User terminals in idle mode first listen to CCCH and determine the satellite ID through which gateway transmitted the CCCH.
  • the UT then populates a Random Access Channel (RACH) signal with the gateway’s ID (Gateway-K), feederlink ID and Sat-J ID and the satellite it is communicating with (Sat-1 in the example of FIG.15) 1512.
  • RACH Random Access Channel
  • Gateway-k then knows the satellite UT1 is communicating with (Sat-1) and UT1 knows how to reach Gateway -k via Sat-j.
  • standard mobility management procedures may be executed 1514 between UT1 and the AMF via Gateway-k.
  • the standard mobility management procedures 1514 may include establishing a security association between UT1 and Gateway-k. Based on the above CCCH and RACH exchange, UT1 knows how to reach Gateway-k and Gateway-k knows how to reach the UT1.
  • the UT1 may send an encrypted position to Gateway-k 1516.
  • the Gateway-k may then store the position of the user terminal received from UT1. Subsequently, determinations of which satellite UT1 is communicating with will be under control of Gateway-k. Therefore, Gateway-k knows how to reach UT1 for all transmissions to UT1.
  • the gateway When the Gateway-k receives an IP packet from the internet via PD 1518, the gateway includes its own gateway ID, Satellite ID, and feederlink ID in the header of data frames transmitted to the UT 1520.
  • the UT receives the IP packet and takes note of the gateway ID, satellite ID and feederlink ID to use in uplink transmissions to the gateway.
  • the gateway determines the satellite ID to be used for user downlink based on the UT’s position.
  • the gateway uses the satellite ID that is provided by user terminal in its header data.
  • the UT determines the satellite ID to be used for uplink based on gateway and satellite ID transmitted by the gateway to UT1 1522.
  • ingress satellite When a satellite receives a L2 frame from UT1 (call this satellite as ingress satellite for uplink) with a destination label pointing to a different satellite (call this as egress satellite), ingress satellite needs to determine the next hop to reach the intended egress satellite.
  • Sat-1 receives data with the next hop being Sat- j as indicated by the header containing the ID of Sat-j.
  • a UT may enter an idle mode where no data is being sent 1524.
  • a packet of data from the internet may trigger paging at the AMF.
  • gateways may determine the satellites to which a UT is listening based on the UT’s positionl526. Gateways may page via these satellites simultaneously or sequentially starting from the most likely satellite to least likely satellite until a successful response.
  • Paging is a standard mobility management procedure.
  • FIG. 16A illustrates an implementation of a management plane 1610 in a satellite system such as the satellite system 1400.
  • the management plane 1610 functions between a user terminal UT1 1420 and the RMF 1436.
  • the management plane 1610 passes from UT1 1420, through Satellitel 1412, the IP core network 1424 to the RMF 1436.
  • the management plane 1610 allows the satellite system 1400 to efficiently manage the flow of data as described herein to reduce the memory and computing resources needed on the satellites.
  • the management plane is supported by the RMF 1436 as described further below.
  • the satellite system 1400 may also include a control plane 1612 and a data plane 1614.
  • the control plane 1612 and data plane 1614 may be connected and function in a similar manner as in the prior art when communicating over a 5G core network.
  • the control plane 1612 connects the UT1 1420 with the AMF 1438 through Satellitel 1412 and GW1 1422.
  • the data plane 1614 connects UT1 1420 with serverl 1432 through Satellitel 1412, GW1 1422, IP core network 1424, and the external IP network 1430.
  • a user terminal registers with the AMF first before obtaining an IP address and communicating with entities on the external IP network such as serverl 1432.
  • the management plane 1610 may also be provided between all the satellites and the RMF 1436, as well as between all the gateways and the RMF 1436 as described below.
  • FIG. 16B illustrates additional management plane paths and data plane paths in a satellite system such as system 1400.
  • the management plane 1610 may also be provided between all the satellites and the RMF 1436, as well as between all the gateways and the RMF 1436.
  • an additional management plane path 1614 is shown from satellitel 1412 to the RMF 1436 through GW1 1422 and the IP core network 1424.
  • another management plane path 1616 is shown from FW2 1426 to the RMF1436 through the IP core network 1424.
  • FIG. 16B a user plane communication 1618 path for a specific gateway is supported between UT1 1420 and GW2 1426 by sending the data through satellitel, to satellite2, and then to GW2 1426.
  • FIG. 16B further illustrates an additional data plane paths that supports a direct UT to UT data connection.
  • a direct UT to UT data plane path supports sending encrypted data directly from a first user terminal to the second user terminal with a private key to allows highly secure communication that does not touch or pass over ground networks as described above.
  • a user plane UT-UT path 1620 is shown from UT1 1420 and UT2 1622 through satellitel 1412 and satellite3 1416. Satellitel 1412 and satellites 1416 may be either MEO or LEO satellites that communicate over one or more satellite links as described above.
  • the RMF 1436 supports the direct UT-UT path 1620 as described below.
  • Each satellite in the satellite system 1400 may have multiple links or input/output ports that allow them to communicate with user terminals, satellites in the same constellation (intra-constellation cross-links), satellites in other constellation (inter-constellation cross links), one or more gateways.
  • an LEO satellite may have links as shown in FIG. 4
  • an MEO satellite may have links as shown in FIG. 7.
  • a default routing table may be loaded to each satellite when they are initially placed into operation. This default routing table contains next-hop information for all satellites in the constellation.
  • Each satellite may report the status of all the links (except user links) to RMF periodically as well as on an as- needed basis.
  • This status information may include metrics such as link up/down, link congestion (such as queue occupancy), estimated delay to reach an adjacent node, error rate on the link, or other status information.
  • the link information may be used by the RMF to provide the routing table information to the satellites as described herein to support the management plane communication.
  • FIG 17 illustrates details of the RMF 1436.
  • the RMF 1436 provides SDN orchestration for route management of data in the MEO-LEO satellites system 1400.
  • the RMF 1436 has a satellite link status input 1710 to receive the state of links from all satellites (both MEO and GEO) in constellation.
  • the RMF 1436 also receives state of links from all gateways through the gateway link status input 1712.
  • the RMF 1436 determines routing updates for tables in the satellites based on received information and then uploads routing table updates 1714 to satellites (if changed from previous table entry).
  • the RMF also may receive satellite mapping status 1716 updates from user terminals that want to be part of Direct UT-UT session.
  • the RMF 1436 may perform a presence check 1718 of user terminals that have not performed routing updates when they are requested to be in Direct UT-UT session.
  • the RMF 1436 may also receive a UT request for gateway ID 1720 from special user terminal and provide a gateway ID 1722 to the special terminals as described further below.
  • the satellite link status input 1710, gateway link status input 1712, satellite mapping status 1716 and the request for gateway ID 1720 are management plane signals that may be sent on an appropriate protocol such as TCP.
  • the outputs routing table updates 1714, presence check 1718, and gateway ID for special UTs 1722 are also management plane signal that may be sent using TCP or another appropriate protocol.
  • FIG. 18A illustrates an example of a routing table 1800 for flow independent routing.
  • the RMF 1436 calculates next-hop for each satellite in the constellation. This determination may be accomplished using well known link state algorithms for determining the shortest path. Alternatively, for the optimal application performance and for purposes of load balancing, the RMF 1436 may also calculate multiple next-hops to reach the same satellite in the constellation that is flow dependent, where the next hop in the table depends on the type of data in the flow.
  • the flow type of delay sensitive may include data such as real time communication or critical data updates.
  • the flow type of insensitive may include streaming video or data backups.
  • the flow type of data may be determined by looking at specific fields in data headers.
  • the flow type may be determined by a combination of flow label or Differentiated Service Code Point (DSCP) in IP packet headers, and/or port numbers in transport layer headers.
  • DSCP Differentiated Service Code Point
  • FIG. 18B illustrates an example of a routing table 1810 for flow dependent routing.
  • the routing table may have multiple rows for a given satellite ID.
  • FIG. 19 illustrates an example of a forwarding function on a satellite 1912 for forwarding data based on a routing table. Data is forwarded to the next hop based on the routing table shown in FIG. 18B.
  • data from a user terminal 1910 is assumed to be bound for SAT1 when it reaches satellite 1912.
  • Data that is delay sensitive 1922 is sent on the East link 1916 as indicated in the flow dependent routing table.
  • delay insensitive data 1920 is routed to the MEO-1 link 1914 and delay tolerant data (delay sensitive, use best effort) 1924 is routed to the south link 1918.
  • the RMF 1436 uploads updated routing table information to the relevant satellites, where each satellite may receive unique routing tables similar to the examples shown in FIGs. 18A and 18B.
  • the RMF 1436 may upload only those entries that have changed from the previous upload to minimize management plane overhead.
  • Each satellite may have a pre-defined IP address and the RMF1436 may then populate an IP header carrying Flow Label or DiffServ Code Point (DSCP) to the individual satellites with appropriate priority levels to upload the routing tables. Updates that are a result of a link failure may be uploaded with Flow Label and DSCP which receives the highest priority communication treatment from the RMF 1436 to the satellite of interest.
  • DSCP DiffServ Code Point
  • FIG. 20 illustrates a method for a satellite system with software defined network orchestration as described herein.
  • the system first receives inputs from the satellites and gateways in the system (step 2010).
  • the inputs may include satellite and gateway link status from the satellites and gateways, satellite mapping status for direct UT-UT communication and request for gateway ID for special UT as described above.
  • the system may then determine routing tables for the satellite (step 2012).
  • the routing tables may be determined by the RAF described above which may be located in a ground based server.
  • the satellite tables may include next hop information for delay sensitive and delay insensitive flow types.
  • the determined routing tables are then uploaded to the satellites (step 2014). Only updated routing tables, those containing new information, may be uploaded.
  • Each satellite then monitors data traffic flow to determine satellite IDs where the data is to be sent (step 2016).
  • the UTs may then load satellite IDs in a data header to send data to a desired satellite as described above (2016). Then, send data to a next hop towards the desired destination satellite based on the satellite ID in the data header using the routing tables (step 2020). Data can be sent to a different next hop depending on the flow type of data as described above and shown in FIG. 19.
  • FIG. 21 illustrates an example of the RMF managing a direct UT-UT session over a satellite system.
  • Each UT (UT0, UT1) first attaches with the core network (CN) 2110 and obtains its own IP address 2112. Upon successful completion of the attach procedure, the user terminals register with RMF 2114.
  • a UT that wants to be in a direct UT-UT communication (the originating terminal) provides details such as the satellite ID it is communicating with, whether it is capable of communicating with only LEO, only MEO or both LEO and MEO. The UT is also obligated to update this information every time there is a satellite handover in connected mode.
  • the originating UT When the originating UT (UT0) wants to establish direct communication with a destination UT (UT1), the originating UT first queries the RMF 2116. If RMF has up-to-date information about the satellite ID with which the destination UT is communicating 2118, then RMF conveys 2120 that satellite ID information to the originating UT. Upon receipt, the originating UT (UTO) populates L2 header with destination label that includes the satellite ID with which destination is communicating 2122. [0089] When destination/originating UT executes a satellite handover during a Direct connection, the handover information is conveyed to the other party via an RRC-UU message as described above.
  • RMF transmits an application layer message to UT requesting Presence information 2124. If the destination UT has entered idle mode 2126, then the core network will page this UT 2128. Once the paging response is received successfully by the core network 2130, UPF in core network will forward the application layer message to destination user terminal (UT1) 2132. (The messages to and from the RMF (Presence Query, Update Contact Information) are application layer messages.) Destination UT responds to the Presence query from RMF to update the RMF about the satellite with which it is communicating with 2134.
  • RMF Upon receiving the response from destination UT, RMF responds to originating UT about the satellite ID with which destination UT is communicating 2136 for the direct UT-UT communication. If no response is received by RMF from destination UT for the Presence query, RMF responds to the originating UT that the destination is unreachable (not shown).
  • a user terminal determines the gateway with which it wants to communicate based on listening to transmissions from the gateway. However, there are scenarios where special user terminals require packets belonging to certain flows to only be routed via specific gateways. To facilitate this flow-specific routing, these special user terminals first register with RMF function indicating their preferred gateway or set of gateways. For example, it could be any gateway within a given country.
  • RMF determines the best path from the special UT to one of the preferred gateways. This best path is determined based on the status of the gateway links provided by the preferred gateways as well as the loading of different links in the constellation. RMF provides to the UT the above-determined gateway link ID and satellite ID with which the chosen gateway is communicating with. Once the UT receives the satellite ID for the preferred gateway, UT populates the L2 header with a destination label pointing to the egress satellite ID.
  • references to displaying or presenting an item include issuing instructions, commands, and/or signals causing, or reasonably expected to cause, a device or system to display or present the item.
  • various features described in FIGS. 1-13 are implemented in respective modules, which may also be referred to as, and/or include, logic, components, units, and/or mechanisms. Modules may constitute either software modules (for example, code embodied on a machine-readable medium) or hardware modules.
  • a hardware module may be implemented mechanically, electronically, or with any suitable combination thereof.
  • a hardware module may include dedicated circuitry or logic that is configured to perform certain operations.
  • a hardware module may include a special-purpose processor, such as a field- programmable gate array (FPGA) or an Application Specific Integrated Circuit (ASIC).
  • a hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations and may include a portion of machine- readable medium data and/or instructions for such configuration.
  • a hardware module may include software encompassed within a programmable processor configured to execute a set of software instructions. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (for example, configured by software) may be driven by cost, time, support, and engineering considerations.
  • hardware module should be understood to encompass a tangible entity capable of performing certain operations and may be configured or arranged in a certain physical manner, be that an entity that is physically constructed, permanently configured (for example, hardwired), and/or temporarily configured (for example, programmed) to operate in a certain manner or to perform certain operations described herein.
  • “hardware-implemented module” refers to a hardware module. Considering examples in which hardware modules are temporarily configured (for example, programmed), each of the hardware modules need not be configured or instantiated at any one instance in time.
  • a hardware module includes a programmable processor configured by software to become a special-purpose processor
  • the programmable processor may be configured as respectively different special-purpose processors (for example, including different hardware modules) at different times.
  • Software may accordingly configure a processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
  • a hardware module implemented using one or more processors may be referred to as being “processor implemented” or “computer implemented.”
  • Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled.
  • communications may be achieved through signal transmission (for example, over appropriate circuits and buses) between or among two or more of the hardware modules.
  • communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory devices to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output in a memory device, and another hardware module may then access the memory device to retrieve and process the stored output.
  • At least some of the operations of a method may be performed by one or more processors or processor-implemented modules.
  • the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS).
  • SaaS software as a service
  • at least some of the operations may be performed by, and/or among, multiple computers (as examples of machines including processors), with these operations being accessible via a network (for example, the Internet) and/or via one or more software interfaces (for example, an application program interface (API)).
  • the performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across several machines.
  • Processors or processor-implemented modules may be in a single geographic location (for example, within a home or office environment, or a server farm), or may be distributed across multiple geographic locations.
  • FIG. 22 is a block diagram 2200 illustrating an example software architecture 2202, various portions of which may be used in conjunction with various hardware architectures herein described, which may implement any of the above-described features.
  • FIG. 22 is a non-limiting example of a software architecture and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein.
  • the software architecture 2202 may execute on hardware such as a machine 2300 of FIG. 23 that includes, among other things, processors 2310, memory 2330, and input/output (I/O) components 2350.
  • a representative hardware layer 2204 is illustrated and can represent, for example, the machine 2300 of FIG. 23.
  • the representative hardware layer 2204 includes a processing unit 2206 and associated executable instructions 2208.
  • the executable instructions 2208 represent executable instructions of the software architecture 2202, including implementation of the methods, modules and so forth described herein.
  • the hardware layer 2204 also includes a memory/ storage 2210, which also includes the executable instructions 2208 and accompanying data.
  • the hardware layer 2204 may also include other hardware modules 2212. Instructions 2208 held by processing unit 2206 may be portions of instructions 2208 held by the memory/storage 2210.
  • the example software architecture 2202 may be conceptualized as layers, each providing various functionality.
  • the software architecture 2202 may include layers and components such as an operating system (OS) 2214, libraries 2216, frameworks 2218, applications 2220, and a presentation layer 2244.
  • OS operating system
  • the applications 2220 and/or other components within the layers may invoke API calls 2224 to other layers and receive corresponding results 2226.
  • the layers illustrated are representative in nature and other software architectures may include additional or different layers. For example, some mobile or special purpose operating systems may not provide the frameworks/middleware 2218.
  • the OS 2214 may manage hardware resources and provide common services.
  • the OS 2214 may include, for example, a kernel 2228, services 2230, and drivers 2232.
  • the kernel 2228 may act as an abstraction layer between the hardware layer 2204 and other software layers.
  • the kernel 2228 may be responsible for memory management, processor management (for example, scheduling), component management, networking, security settings, and so on.
  • the services 2230 may provide other common services for the other software layers.
  • the drivers 2232 may be responsible for controlling or interfacing with the underlying hardware layer 2204.
  • the drivers 2232 may include display drivers, camera drivers, memory/storage drivers, peripheral device drivers (for example, via Universal Serial Bus (USB)), network and/or wireless communication drivers, audio drivers, and so forth depending on the hardware and/or software configuration.
  • USB Universal Serial Bus
  • the libraries 2216 may provide a common infrastructure that may be used by the applications 2220 and/or other components and/or layers.
  • the libraries 2216 typically provide functionality for use by other software modules to perform tasks, rather than rather than interacting directly with the OS 2214.
  • the libraries 2216 may include system libraries 2234 (for example, C standard library) that may provide functions such as memory allocation, string manipulation, file operations.
  • the libraries 2216 may include API libraries 2236 such as media libraries (for example, supporting presentation and manipulation of image, sound, and/or video data formats), graphics libraries (for example, an OpenGL library for rendering 2D and 3D graphics on a display), database libraries (for example, SQLite or other relational database functions), and web libraries (for example, WebKit that may provide web browsing functionality).
  • the libraries 2216 may also include a wide variety of other libraries 2238 to provide many functions for applications 2220 and other software modules.
  • the frameworks 2218 provide a higher-level common infrastructure that may be used by the applications 2220 and/or other software modules.
  • the frameworks 2218 may provide various graphic user interface (GUI) functions, high-level resource management, or high-level location services.
  • GUI graphic user interface
  • the frameworks 2218 may provide a broad spectrum of other APIs for applications 2220 and/or other software modules.
  • the applications 2220 include built-in applications 2240 and/or third-party applications 2242.
  • built-in applications 2240 may include, but are not limited to, a contacts application, a browser application, a location application, a media application, a messaging application, and/or a game application.
  • Third-party applications 2242 may include any applications developed by an entity other than the vendor of the particular platform.
  • the applications 2220 may use functions available via OS 2214, libraries 2216, frameworks 2218, and presentation layer 2244 to create user interfaces to interact with users.
  • Some software architectures use virtual machines, as illustrated by a virtual machine 2248.
  • the virtual machine 2248 provides an execution environment where applications/modules can execute as if they were executing on a hardware machine (such as the machine 2300 of FIG. 23, for example).
  • the virtual machine 2248 may be hosted by a host OS (for example, OS 2214) or hypervisor, and may have a virtual machine monitor 2246 which manages operation of the virtual machine 2248 and interoperation with the host operating system.
  • a software architecture which may be different from software architecture 2202 outside of the virtual machine, executes within the virtual machine 2248 such as an OS 2250, libraries 2252, frameworks 2254, applications 2256, and/or a presentation layer 2258. [0103] FIG.
  • FIG. 23 is a block diagram illustrating components of an example machine 2300 configured to read instructions from a machine-readable medium (for example, a machine- readable storage medium) and perform any of the features described herein.
  • the example machine 2300 is in a form of a computer system, within which instructions 2316 (for example, in the form of software components) for causing the machine 2300 to perform any of the features described herein may be executed.
  • the instructions 2316 may be used to implement modules or components described herein.
  • the instructions 2316 cause unprogrammed and/or unconfigured machine 2300 to operate as a particular machine configured to carry out the described features.
  • the machine 2300 may be configured to operate as a standalone device or may be coupled (for example, networked) to other machines.
  • the machine 2300 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment.
  • Machine 2300 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and/or entertainment system, a smart phone, a mobile device, a wearable device (for example, a smart watch), and an Internet of Things (loT) device.
  • PC personal computer
  • STB set-top box
  • STB set-top box
  • STB set-top box
  • smart phone smart phone
  • mobile device for example, a smart watch
  • wearable device for example, a smart watch
  • an Internet of Things (loT) device an Internet of Things
  • the machine 2300 may include processors 2310, memory 2330, and I/O components 2350, which may be communicatively coupled via, for example, a bus 2302.
  • the bus 2302 may include multiple buses coupling various elements of machine 2300 via various bus technologies and protocols.
  • the processors 2310 including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereol
  • the processors 2310 may include one or more processors 2312a to 2312n that may execute the instructions 2316 and process data.
  • one or more processors 2310 may execute instructions provided or identified by one or more other processors 2310.
  • processor includes a multi-core processor including cores that may execute instructions contemporaneously.
  • FIG. 23 shows multiple processors, the machine 2300 may include a single processor with a single core, a single processor with multiple cores (for example, a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof.
  • the machine 2300 may include multiple processors distributed among multiple machines.
  • the memory /storage 2330 may include a main memory 2332, a static memory 2334, or other memory, and a storage unit 2336, both accessible to the processors 2310 such as via the bus 2302.
  • the storage unit 2336 and memory 2332, 2334 store instructions 2316 embodying any one or more of the functions described herein.
  • the memory/storage 2330 may also store temporary, intermediate, and/or long-term data for processors 2310.
  • the instructions 2316 may also reside, completely or partially, within the memory 2332, 2334, within the storage unit 2336, within at least one of the processors 2310 (for example, within a command buffer or cache memory), within memory at least one of I/O components 2350, or any suitable combination thereof, during execution thereof. Accordingly, the memory 2332, 2334, the storage unit 2336, memory in processors 2310, and memory in I/O components 2350 are examples of machine-readable media.
  • machine-readable medium refers to a device able to temporarily or permanently store instructions and data that cause machine 2300 to operate in a specific fashion, and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical storage media, magnetic storage media and devices, cache memory, network-accessible or cloud storage, other types of storage and/or any suitable combination thereof.
  • RAM random-access memory
  • ROM read-only memory
  • buffer memory flash memory
  • optical storage media magnetic storage media and devices
  • cache memory network-accessible or cloud storage
  • machine-readable medium refers to a single medium, or combination of multiple media, used to store instructions (for example, instructions 2316) for execution by a machine 2300 such that the instructions, when executed by one or more processors 2310 of the machine 2300, cause the machine 2300 to perform and one or more of the features described herein.
  • a “machine-readable medium” may refer to a single storage device, as well as “cloud-based” storage systems or storage networks that include multiple storage
  • the I/O components 2350 may include a wide variety of hardware components adapted to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on.
  • the specific I/O components 2350 included in a particular machine will depend on the type and/or function of the machine. For example, mobile devices such as mobile phones may include a touch input device, whereas a headless server or loT device may not include such a touch input device.
  • the particular examples of I/O components illustrated in FIG. 23 are in no way limiting, and other types of components may be included in machine 2300.
  • the grouping of I/O components 2350 are merely for simplifying this discussion, and the grouping is in no way limiting.
  • the I/O components 2350 may include user output components 2352 and user input components 2354.
  • User output components 2352 may include, for example, display components for displaying information (for example, a liquid crystal display (LCD) or a projector), acoustic components (for example, speakers), haptic components (for example, a vibratory motor or force-feedback device), and/or other signal generators.
  • display components for displaying information for example, a liquid crystal display (LCD) or a projector
  • acoustic components for example, speakers
  • haptic components for example, a vibratory motor or force-feedback device
  • User input components 2354 may include, for example, alphanumeric input components (for example, a keyboard or a touch screen), pointing components (for example, a mouse device, a touchpad, or another pointing instrument), and/or tactile input components (for example, a physical button or a touch screen that provides location and/or force of touches or touch gestures) configured for receiving various user inputs, such as user commands and/or selections.
  • alphanumeric input components for example, a keyboard or a touch screen
  • pointing components for example, a mouse device, a touchpad, or another pointing instrument
  • tactile input components for example, a physical button or a touch screen that provides location and/or force of touches or touch gestures
  • the I/O components 2350 may include biometric components 2356, motion components 2358, environmental components 2360, and/or position components 2362, among a wide array of other physical sensor components.
  • the biometric components 2356 may include, for example, components to detect body expressions (for example, facial expressions, vocal expressions, hand or body gestures, or eye tracking), measure biosignals (for example, heart rate or brain waves), and identify a person (for example, via voice-, retina-, fingerprint-, and/or facial-based identification).
  • the motion components 2358 may include, for example, acceleration sensors (for example, an accelerometer) and rotation sensors (for example, a gyroscope).
  • the environmental components 2360 may include, for example, illumination sensors, temperature sensors, humidity sensors, pressure sensors (for example, a barometer), acoustic sensors (for example, a microphone used to detect ambient noise), proximity sensors (for example, infrared sensing of nearby objects), and/or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment.
  • the position components 2362 may include, for example, location sensors (for example, a Global Position System (GPS) receiver), altitude sensors (for example, an air pressure sensor from which altitude may be derived), and/or orientation sensors (for example, magnetometers).
  • GPS Global Position System
  • the I/O components 2350 may include communication components 2364, implementing a wide variety of technologies operable to couple the machine 2300 to network(s) 2370 and/or device(s) 2380 via respective communicative couplings 2372 and 2382.
  • the communication components 2364 may include one or more network interface components or other suitable devices to interface with the network(s) 2370.
  • the communication components 2364 may include, for example, components adapted to provide wired communication, wireless communication, cellular communication, Near Field Communication (NFC), Bluetooth communication, Wi-Fi, and/or communication via other modalities.
  • the device(s) 2380 may include other machines or various peripheral devices (for example, coupled via USB).
  • the communication components 2364 may detect identifiers or include components adapted to detect identifiers.
  • the communication components 2364 may include Radio Frequency Identification (RFID) tag readers, NFC detectors, optical sensors (for example, one- or multi-dimensional bar codes, or other optical codes), and/or acoustic detectors (for example, microphones to identify tagged audio signals).
  • RFID Radio Frequency Identification
  • NFC detectors for example, one- or multi-dimensional bar codes, or other optical codes
  • acoustic detectors for example, microphones to identify tagged audio signals.
  • location information may be determined based on information from the communication components 1562, such as, but not limited to, geo-location via Internet Protocol (IP) address, location via Wi-Fi, cellular, NFC, Bluetooth, or other wireless station identification and/or signal triangulation.
  • IP Internet Protocol

Abstract

A satellite communication system with software defined network orchestration. Implementations include a route management function (RMF) that receives link status from the satellites and determines simple routing tables which are uploaded to the satellites. The routing tables allow the satellites to route data based on a satellite ID placed in a data header to reduce the memory and computing load on satellite resources. Further, implementations include secure user terminal (UT) to UT IP routing in the constellation for direct UT to UT communication. The satellite communication system may combine the benefits of Medium Earth Orbit (MEO) and Low Earth Orbit (LEO) satellite systems into an MEO-LEO satellite system.

Description

SATELLITE COMMUNICATION SYSTEM WITH SOFTWARE
DEFINED NETWORK ORCHESTRATION
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Patent Application No. 17/565,574, filed December 30, 2021, and entitled "SATELLITE COMMUNICATION SYSTEM WITH SOFTWARE DEFINED NETWORK ORCHESTRATION," which claims priority to U.S. Patent Application No. 17/535,823, filed November 26, 2021, and entitled “INTEGRATED MEO-LEO SATELLITE COMMUNICATION SYSTEM,” which claims priority to U.S. Provisional Patent Application No. 63/233,738, filed August 16, 2021, and entitled “SYSTEMS AND METHODS FOR INTEGRATED MEO-LEO SATELLITE SYSTEM,” the disclosures of which are hereby incorporated by reference in their entirety.
BACKGROUND
[0002] The need for high-speed broadband connections is universally important throughout the world. Many areas are not served or are underserved by fiber, cable, and/or other terrestrial systems for providing broadband coverage. Satellite systems can provide global high-speed coverage and may reach areas unserved or underserved. Thus, there is a significant need for new and improved mechanisms for providing satellite-based communication systems coverage.
[0003] Satellites which provide satellite-based broadband communication may be located at different altitudes above the earth. Satellites in a Low Earth Orbit (LEO) are typically about 2000 km and below. A Geostationary Orbit (GEO) satellite is 35,786 km above the earth. A Medium Earth Orbit (MEO) is greater in altitude than that of the LEO and less than that of the GEO, or about 2000 km to 35,786 km. As used herein, a constellation is a group of satellites at a given altitude.
SUMMARY
[0004] An example of disclosed systems herein can include a satellite communication system which includes: a satellite constellation with a plurality of satellites; and a route management function (RMF) configured to provide routing tables to the plurality of satellites; wherein the routing tables include a next hop satellite ID that indicates a desired satellite for a next hop for routing data among the plurality of satellites. An example of disclosed systems herein can include a method of communicating on a multi-satellite communication system which includes receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites; and uploading the determined routing tables to the plurality of satellites, wherein the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites.
[0005] An example of disclosed systems herein can include a method of communicating on a multi-satellite communication system which includes receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites based on the link status; uploading the determined routing tables to the plurality of satellites, wherein: the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites, and determining the routing tables for the plurality of satellites is performed by a route management function (RMF) located on a ground-based server; monitoring traffic flow to determine satellite IDs where data is to be sent; loading at a first satellite a satellite ID in a data header that indicates to send data to a desired satellite; a second satellite sending data to a next hop towards the desired satellite based on the satellite ID in the data header using the routing tables; providing direct user terminal to user terminal communication without traversing gateways and associated terrestrial links by an originating user terminal first querying the RMF to determine if the RMF has up-to-date information about the satellite a destination user terminal is communicating with, wherein the RMF does have up-to-date information with a satellite ID, then the RMF conveys the satellite ID with which the destination user terminal is communicating to the originating user terminal to be used by the originating user terminal to populate data headers.
[0006] This Summary identifies example features and aspects and is not an exclusive or exhaustive description of the disclosed subject matter. Whether features or aspects are included in or omitted from this Summary is not intended as indicative of relative importance of such features. Additional features and aspects are described, and others will become apparent to persons skilled in the art upon reading the following detailed description and viewing the drawings that form a part thereof.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The drawing figures depict one or more implementations in accord with the present teachings, by way of example only, not by way of limitation. In the figures, like reference numerals refer to the same or similar elements. Furthermore, it should be understood that the drawings are not necessarily to scale.
[0008] FIG. 1 is a diagram showing an example implementation of the MEO-LEO system according to the instant disclosure.
[0009] FIG. 2 shows LEO constellation parameters for an example constellation with 864 satellites.
[0010] FIG. 3 shows LEO constellation parameters for an example constellation with 432 satellites.
[0011] FIG. 4 shows an example of a LEO satellite that may be used with the techniques of the instant application.
[0012] FIG. 5 is a diagram showing the LEO Gateway Link Antenna Pattern Using Bessel Function (ES Elev. 25 degrees).
[0013] FIG. 6 shows MEO constellation parameters for an example constellation satellite.
[0014] FIG. 7 shows an example of a MEO satellite that may be used with the techniques of the instant application.
[0015] FIG. 8 illustrates a satellite communication system according to the prior art.
[0016] FIG. 9 is a diagram showing a first scenario for UT-UT connectivity.
[0017] FIG. 10 is a diagram showing a second scenario for UT-UT connectivity.
[0018] FIG. 11 illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
[0019] FIG. 12 is a data flow diagram for secure direct UT to UT communication in a satellite system.
[0020] FIG. 13A illustrates an implementation of IP routing in a satellite system for secure UT to UT communication.
[0021] FIG. 13B illustrates a first example of direct communication between a first user terminal and a second user terminal.
[0022] FIG. 13C illustrates a second example of direct communication between a first user terminal and a second user terminal.
[0023] FIG. 14 is a diagram showing an example implementation of an satellite system 1400 with SDN orchestration.
[0024] FIG. 15 illustrates an example of determining a satellite ID for placing in L2 headers to send data over a satellite system.
[0025] FIG. 16A illustrates an implementation of a management plane in a satellite system. [0026] FIG. 16B illustrates additional management plane paths and data plane paths in a satellite system.
[0027] FIG 17 illustrates details of the route management function.
[0028] FIG. 18A illustrates an example of a routing table for flow independent routing.
[0029] FIG. 18B illustrates an example of a routing table for flow dependent routing.
[0030] FIG. 19 illustrates an example of a forwarding function on a satellite for forwarding data based on a routing table.
[0031] FIG. 20 illustrates a method for a satellite system with software defined network orchestration.
[0032] FIG. 21 illustrates an example of the RMF managing a direct UT-UT session over a satellite system.
[0033] FIG. 22 is a block diagram showing an example software architecture, various portions of which may be used in conjunction with various hardware architectures herein described, which may implement any of the features described herein.
[0034] FIG. 23 is a block diagram showing components of an example machine configured to read instructions from a machine-readable medium and perform any of the features described herein.
DETAILED DESCRIPTION
[0035] In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it should be apparent that the present teachings may be practiced without such details. In other instances, well known methods, procedures, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.
[0036] The instant disclosure describes a technical solution to the problem of providing global coverage for satellite communication systems that combines the benefits of Medium Earth Orbit (MEO) and Low Earth Orbit (LEO) satellite systems into an integrated MEO- LEO satellite communication system. The MEO-LEO communication system described herein includes an LEO constellation combined with a MEO constellation where the LEO constellation may provide global coverage with broad average capacity and may support ‘hot spot’ coverage where desired. The MEO constellation may provide unique advantages including backhaul to ground in remote areas (such as but not limited to deep ocean areas), higher traffic density for key locations, and a secure global backhaul for key customers. Data may be routed over optical inter-satellite links using Software Defined Networking (SDN) concepts to provide: (1) MEO-LEO (backhaul and ground access); (2) LEO - LEO (upstream & downstream); and (3) MEO - MEO (crosslinks & downlinks). Further, implementations described herein include secure user terminal (UT) to UT IP routing in the constellation for direct UT to UT communication.
[0037] The LEO and MEO constellation satellites may form a mega constellation comprising many satellites orbiting the Earth. Such a mega constellation may include hundreds or even thousands of satellites. Communications are facilitated using intraconstellation and inter-constellation cross links as described herein. Technical benefits of a MEO-LEO satellite system include global consumer and enterprise Internet Protocol (IP) data, and the ability to provide secure IP data services between users and/or enterprises without traversing gateways and associated terrestrial links. Another technical benefit is SDN routing capabilities that provide complete functionality at any stage of deployment. Routes are determined by a central ground controller, and routing tables are uplinked to satellites. An implementation of SDN routing is described further below with reference to the route management function (RMF). The RMF receives link status from the satellites and determines simple routing tables which are uploaded to the satellites. The routing tables allow the satellites to route data based on a satellite ID placed in a data header. The RMF thus solves the problem of creating and maintain large routing tables to reduce the memory and computing load on satellite resources. Yet another technical benefit of the MEO-LEO satellite system is that Space-based Phased Array antenna support multiple modes to provide support for hot-spots and high-density areas, uniform density coverage, and “earth fixed” operation and “satellite fixed” operation narrowband operations with improved link margins. [0038] FIG. 1 is a diagram showing an example implementation of the MEO-LEO system 100 according to the instant disclosure. The specific implementation shown in FIG. 1 is just one possible implementation of a MEO-LEO system according to the instant disclosure. Other implementations may include additional components and/or a different number of components than those shown in FIG. 1. The example implementation of the MEO-LEO system 100 shown in FIG. 1 includes a MEO constellation 110 and a LEO constellation 112. The MEO constellation 110 has a number of MEO satellites 114. The MEO satellites 114 may be interconnected by MEO links 116 between the satellites as described further below. Similarly, the LEO constellation 112 has a number of LEO satellites 118 interconnected by LEO links 120 between the LEO satellites 118. The MEO links 116 and the LEO links 120 may be optical links or RF links. The LEO and MEO satellites may be connected by an MEO-LEO optical link 122 as described further below. The MEO constellation 110 and the LEO constellation 112 may have any number of satellites as described further below.
[0039] The MEO-LEO system 100 further includes a number of user terminals (UT) that communicate with the MEO satellites 114 and the LEO satellites 118. A first user terminal 124 communicates over a single beam 126, on a single Ka band, to the MEO satellites 114. A second user terminal 128 communicates with two beams 130, 132 to the satellites. The first beam 130 is on the Ka band and communicates with the MEO satellites 114. The second beam 132 is on the Ku band and communicates with the LEO satellites 118. A third user terminal 134 communicates over a single beam 136 with a single, Ku band, to the LEO satellites 118.
[0040] Referring again to FIG. 1, the MEO-LEO system 100 may include a number of satellite gateways that also communicate with the satellites. LEO satellite gateways 138 may communicate with LEO satellites 118 over one or more beams and one or more bands. In the illustrated examples, the LEO gateways 138 communicate with the LEO satellites 118 over a combination of Ka and Q/V bands 140. The LEO satellite gateways 138 communicate over an internet protocol (IP) core network 142 with one or more servers 144. The servers 144 may include subscription, security, management and application servers. The IP core network 142 may also include a border gateway 146 for connecting to external IP networks 148. MEO satellite gateways 150 may communicate with MEO satellites 114 over one or more beams and one or more bands. In the illustrated examples, the MEO gateways 150 communicate with the MEO satellites 114 over a combination of Ka, Q/V, and E bands 152. [0041] The MEO-LEO system 100 may further include a software defined network (SDN) controller 152. The SDN controller 152 in the example MEO-LEO system 100 shown in FIG. 1 is located on the IP core network 142. Alternatively, the SDN controller 152 may be located within the satellite gateways 138, 150. Since power on a satellite is limited, it is desirable to put the SDN controller function on the ground where power is more readily available. Placing the complex SDN controller function on the ground also allows for a simplified router on the satellite where the satellite router simply routes the data according to instructions received from the SDN controller 152. The SDN controller 152 receives information about conditions of the various links in the MEO-LEO system 100 and calculates a route for data through the system based on the condition of the links. Examples of the MEO-LEO links and routing through these links are described further below. The satellite system 100 may further include a satellite communication table 154 connected to a server 144 for storing user terminal connection data as described further below. In addition, the satellites 114, 118 may also include a routing table 156 as described below.
[0042] In some implementations, the MEO-LEO system 100 may provide hot spot coverage. As used herein, hot spot coverage means that there are certain regions in the coverage area where there is a significantly higher demand compared to other regions and the system provides the capability to allocate commensurate satellite resources (frequency and power) to satisfy the demand.
[0043] FIG. 2 shows LEO constellation parameters for an example constellation with 864 LEO satellites. In this example, the LEO satellites 118 have a satellite elevation 212 of 1150 km. This satellite elevation 212 provides a satellite coverage footprint 214 of 1785 km on the earth’s surface. The constellation Height is 1150 km with 36 planes and 24 satellites per plane. The minimum UT Elevation is 45.7 degrees. However, with a phased array antenna, it is also possible to cover Alaska (up to 71.2° N) with satellite steering of 52.76° to allow user terminals in Alaska to operate at elevation angles of ~20 degrees with parabolic dishes even with partial constellation. The satellites 118 include a Ku user link and one or more Ka and V/Q Gateway links. The user link uses a phased array antenna. Each satellite 118 includes optical inter-satellite links as described further below. Both left hand circular polarization (LHCP) and right hand circular polarization (RHCP) may be used in user links and Gateway Links. The satellites 118 have 16 GHz user spectrum per satellite providing 32 Gbps per satellite. The user data rate in the forward link is 1 Gbps per 500 MHz channel. As used herein, a plane is a specific orbit in which one or more satellites revolve around the earth. A plane is typically identified by altitude, inclination, longitude of ascending node etc. [0044] Table 1 summarizes some representative LEO system parameters for the example LEO constellation 112 shown in FIG. 1.
Table 1
Figure imgf000009_0001
Figure imgf000010_0001
[0045] FIG. 3 shows representative LEO constellation parameters for an example constellation with 432 LEO satellites. In this example, the LEO satellites 118 have a satellite elevation 312 of 1150 km. This satellite elevation 312 provides a satellite coverage footprint 314 of 2292 km on the earth’s surface. The constellation Height is 1150 km with 18 planes and 24 satellites per plane. The minimum UT Elevation is 37.4 degrees. However, with a phased array antenna, it is also possible to cover Alaska (up to 71.2° N) with satellite steering of 53.6° to allow user terminals in Alaska to operate at elevation angles of ~18 degrees with parabolic dishes even with partial constellation. The satellites 118 include a Ku user link and one or more Ka and V/Q Gateway links. The user link uses a phased array antenna. Each satellite 118 includes optical inter-satellite links as described further below. Both LHCP and RHCP in user links and Gateway Links. The satellites 118 have 16 GHz user spectrum per satellite providing 32 Gbps per satellite. The user data rate in the forward link is 1 Gbps per 500 MHz channel. [0046] Table 2 summarizes some representative MEO system parameters for the example
MEO constellation 110 shown in FIG. 3.
Table 2
Figure imgf000010_0002
Figure imgf000011_0001
[0047] Ground System deployment may be incremental based on user traffic demand. Gateways may be placed in areas where coverage is required. Inter-satellite links may be used for the backhaul. Another technical benefit of the MEO-LEO satellite system is that MEO requires fewer gateways. For example, 6-8 gateways may be sufficient for global coverage.
[0048] FIG. 4 shows an example of the LEO satellite 118 described above in the LEO constellation 112. The LEO satellite 118 in this example is configured with link hardware to support five Inter- Satellite Links (ISLs) to adjacent LEO satellites. The ISLs are preferably optical links. The ISLs include a MEO-LEO optical link 410 that connects the LEO satellite 118 to a MEO satellite 114 in the MEO constellation 110 as shown in FIG. 1. The MEO- LEO optical link 410 is preferably a high bandwidth to provide backhaul to LEO satellites. As used herein, “backhaul” refers to a network connection transmitting a signal from a remote site or network to another site or network. The LEO satellite 118 includes east and west optical links (ISL-East 414, ISL-West 412) that connect the satellite 118 to adjacent satellites in adjacent planes to the east and west respectively. The LEO satellite 118 further includes north and south optical links (ISL-North 416, ISL-South 418) that connect to adjacent satellites in the same plane to the north and south. The LEO satellite 118 further includes a user link 420 and gateway links 422. The user link 420 includes a Ku-band phased array user link antenna. In this example, the gateway links include two Ka-band and a Q/V band gateway links for backhaul. The Ku antenna can also link backhaul traffic to a gateway if needed. In this example, the total Ku-band RF transmit power 80 Watts.
[0049] FIG. 5 is a diagram showing the LEO gateway link antenna pattern using Bessel Function (ES Elev. 25 degrees). The gateway link antenna provides beam steering to 49.710 degrees.
[0050] FIG. 6 shows MEO constellation parameters for an example MEO constellation with 64 MEO satellites 114. In this example, the MEO satellites 114 have a satellite elevation 612 of 8000 km. This satellite elevation 612 provides a satellite coverage footprint 614 of 6523 km on the earth’s surface. The constellation has 8 planes with 8 satellites per plane. The minimum UT Elevation is 41.2 degrees. Like the LEO satellites described above, the MEO satellite 114 can use satellite steering to cover further north to Alaska. The satellites 118 include a Ka band user link and one or more Ka, V/Q and E gateway links. The user link uses a phased array antenna. Each satellite 114 includes optical inter-satellite links as described further below. Both LHCP and RHCP are used in the user links and gateway links. The satellites 114 have 48 GHz user spectrum per satellite providing about 100 Gbps per satellite.
[0051] FIG. 7 shows an example of the MEO satellite 114 described above in the MEO constellation 110. The MEO satellite 114 in this example includes six ISLs to adjacent LEO satellites. The ISLs include a MEO-LEO optical link 710 that connects the satellite 114 to an LEO satellite 118 in the LEO constellation 112 as shown in FIG. 1. The MEO-LEO optical link 710 is preferably a high bandwidth to provide backhaul to LEO satellites. The MEO satellite 114 includes east and west optical links (ISL-East 712, ISL-West 714) that connect the satellite 114 to adjacent satellites in adjacent planes to the east and west respectively. The MEO satellite 114 further includes north and south optical links (ISL-North 716, ISL-South 718) that connect to adjacent satellites in the same plane to the north and south. The MEO satellite 114 further includes a user link 720 and gateway links 722. The user link 720 includes a Ka-band user link with a phased array antenna. In this example, the gateway links include four Ka-band and a Q/V band gateway links for backhaul. The Ka antenna can also link backhaul traffic to a gateway if needed. In this example, the total Ka-band RF transmit power 100 Watts. The MEO satellite 114 may further include a MEO-GEO link 724 to a geosynchronous satellite. The MEO-GEO link 724 may be an optical link similar to the MEO-LEO optical link 710 disposed on the satellite facing geosynchronous satellite located above the MEO satellite 114.
[0052] FIG. 8 shows a satellite communication system 800 which illustrates prior art communication in a satellite system. A first user terminal (UT1) 810 connects to and communicates with a second user terminal 812 through the satellite system 800 and terrestrial network. The satellite system may have one or more satellites shown here as satellite 816A and 816B and collectively referred to as satellites 816. The first user terminal 810 connects via a user link 814 to a first satellite 816A. The first satellite 816A communicates with a first satellite gateway 820 over a link 818. The first satellite gateway 820 sends data through a terrestrial network to a second satellite gateway 826. In this example, the first satellite gateway 820 communicates with a 5G core network 822 to the internet 824. Data is sent over the internet 824 through the 5G core network 822 to the second satellite gateway 826. The second satellite gateway 826 send the data over a second link 828 to satellite 816B. The second satellite 816B then sends the data to the second user terminal (UT-2) 812 over a user link 832. The user links 832, 814 may be similar to user links 132, 136 as described above with reference to FIG. 1. The satellites 816A, 816B may be the same satellite or different satellites in either an LEO or MEO constellation 830 but not both.
[0053] In the prior art, as shown in FIG.8, packets originating from a first user terminal (UT1) under one satellite are brought down to a corresponding gateway on the ground and routed on terrestrial links to a second gateway under a satellite (the same satellite or a different satellite in the same or a different constellation) that is connected to a second user terminal (UT-2). Traditional non-geostationary constellations are either at LEO or MEO. LEO and MEO constellations can have intra-constellation optical or RF cross-links. The described implementations herein provide interconnected LEO and MEO satellites with cross-links not just within a constellation but also between LEO and MEO constellations. LEO and MEO constellations can advantageously be using different frequency bands in user links. For example, Ku band for LEO and Ka band for MEO. A given user terminal may be capable of Ku only, Ka only or both Ku and Ka. In implementations herein, two user terminals may directly communicate with each other regardless of their band capabilities. Direct communication between two user terminals without touching the ground has the significant advantage of providing the highest security. As described herein, packets originating from a first UT under one constellation can be routed to a second UT under a different constellation entirely in the constellation without being routed on any terrestrial networks.
[0054] FIGs. 9 and 10 illustrate two examples for data connectivity between user terminals without traversing terrestrial links. Many entities such as governments, businesses, or other enterprises may benefit from a point-to-point secure data link. A data link that does not traverse terrestrial data links reduces exposure to security risks of terrestrial links that are not controlled by the entity.
[0055] FIG. 9 presents a first example of point-to-point connectivity between user terminals without traversing terrestrial links. A first user terminal (UT1) 910 connects to and communicates with a second user terminal (UT-2) 912 through the MEO-LEO system 100. The user terminals 910, 912 may be physically located at virtually any point on the surface of the Earth. The first user terminal 910 connects via a user link 914 to a LEO satellite 916.
The user link 914 may be similar to user links 132, 136 as described above with reference to FIG. 1. The LEO satellite 916 is a satellite in the LEO constellation 112. The LEO satellite 916 communicates over a MEO-LEO link 918 with a MEO satellite 920 in the MEO constellation 110. In a first example, the MEO satellite 920 communicates over a MEO link 922 to a second MEO satellite 924. The second MEO satellite 924 communicates over another MEO-LEO link 926 to a LEO satellite 928. The LEO satellite 928 the communicates over a user link 930 with the second user terminal 912. Alternatively, in a second example, the first MEO satellite 920 may communicate directly with the LEO satellite 928, thus not needing the MEO link 922.
[0056] FIG. 10 is a diagram showing a second scenario for connectivity between user terminals. A first user terminal (UT1) 1010 connects to and communicates with a second user terminal (UT-2) 1012 through the MEO-LEO system 100. The user terminals 1010, 1012 may be physically located at virtually any point on the surface of the Earth. The first user terminal 1010 connects via a user link 1014 to a LEO satellite 1016. The user link may be user links 132, 136 as described with reference to FIG. 1. The LEO satellite 1016 is a satellite in the LEO constellation 112. The LEO satellite 1016 communicates over a MEO- LEO link 1018 with a MEO satellite 1020 in the MEO constellation 110. In this example, the MEO satellite 1020 communicates over a MEO link 1022 to a second MEO satellite 1024. The second MEO satellite 1024 communicates over a user link 1026 with the second user terminal 1012.
[0057] The MEO-LEO system architecture lends itself to providing high availability and secure communication between two points on the earth without traversing terrestrial links. Software Defined Networking (SDN) based routing will allow appropriate routing via the MEO-LEO constellation to reach the intended destination. It is noted that the data path between two user devices does not go through a gateway link and therefore does not traverse any terrestrial link or facility. Although the illustration shows communication between two entities that are both Ku-band terminals, it is also possible for this type of secure connectivity between a Ku-band and Ka-band terminal. In such a case, the Ka link will be with MEO and Ku link will be with LEO. A route determination algorithm can determine the most optimal route via intra- and/or inter-constellation links.
[0058] FIG. 11 illustrates an implementation of IP routing in a satellite system for secure UT to UT communication. FIG. 11 shows the data plane routing of the UT-UT communication. In this implementation, a first user terminal UT1 1110 is connected to a second user terminal UT-2 1112 via a LEO-MEO constellation 1114 comprising an LEO satellite 1116 and an MEO satellite 1118. The first user terminal UT1 1110 includes a representation of the user plane protocol stack. The user plane protocol stack includes from top to bottom, an application block 1120, a transmission control protocol/user datagram protocol (TCP/UDP) block 1122, an internet protocol (IP) block 1124, a service data adaption protocol/packet data convergence protocol block (SDAP/PDCP) block 1126, a radio link control (RLC) block 1128, a medium access control (MAC) block 1130 and a physical layer (PHY) block 1132. The second user terminal 1112 includes the same user plane protocol stack with these same blocks. Each of these blocks may function as known in the prior art. The LEO satellite 1116 also includes a representation of the user plane protocol stack. The user plane protocol stack in the LEO satellite 1116 includes an internet protocol (IP) block 1134, a radio link control (RLC) block 1136, a medium access control (MAC) block 1138 and a physical layer (PHY) block 1140, a layer 2 (L2) block 1142 and a second physical layer (PHY) block 1144. The MEO satellite 1118 has the same blocks in its user plane protocol stack.
[0059] Referring again to FIG. 11, the IP routing of UT to UT communication includes various links between the user terminals and the satellites. The PHY layer 1132 of the first user terminal 1110 is connected to the PHY layer 1140 of the LEO satellite 1116 via a user link 1146. In this example, the user link 1146 is a Ku band link. The PHY layer 1144 of the LEO satellite 1116 is connected to the PHY layer 1148 of the MEO satellite 1118 via a LEO/MEO optical link 1150 as described above. The PHY layer 1152 of the MEO satellite 1118 is connected to the PHY layer 1154 of the second user terminal 1112 via a second user link 1156. In this example, the user link 1156 is a Ka band link. [0060] FIG. 12 is a data flow diagram for secure direct UT to UT communication in a satellite system. FIG. 12 illustrates data flow from a first user terminal UT1 to a second user terminal UT-2. Data passes from UT1 through the network entities as follows: UT1 - LEO satellite - LEO Gateway - 5G Core Network - Internet - 5G Core Network - MEO gateway - MEO satellite - UT-2. The top portion 1210 of the data flow diagram represents data flow in a satellite system as shown in FIG. 8. In this prior art data flow, encrypted data 1212 flowing from UT1 to UT2 undergoes encryption and decryption at each segment of the data path as shown. In contrast, the bottom portion 1214 of the data flow diagram represents direct UT-UT secure data flow in a satellite system as shown in FIGs. 9 and 10. As described herein, encrypted data 1216 flowing from UT1 to UT-2 undergoes encryption at UT1 and decryption at UT-2. The encrypted data 1216 flowing from UT1 to UT-2 is secured using a private key which protects the data throughout the entire data route.
[0061] FIG. 13A illustrates an implementation of IP routing in a satellite system for secure UT to UT communication. FIG. 13 shows the control plane routing of the UT-UT communication for a system similar to that of FIG. 11. In this implementation, a first user terminal UT1 1110 is connected to a second user terminal UT-2 1112 via a LEO-MEO constellation 1114 comprising an LEO satellite 1116 and an MEO satellite 1118. The first user terminal 1110 includes a representation of the control plane protocol stack. The control plane protocol stack includes from top to bottom, an NAS-MM block 1310, an NAS-MM block 1312, a radio resource control gateway (RRC-G) block 1314, a radio resource control user-user (RRC-UU) block 1316, a radio link control (RLC) block 1318, a medium access control (MAC) block 1320 and a physical layer (PHY) block 1322. The second user terminal 1112 includes the same control plane protocol stack with these same blocks. Each of these blocks, with the exception of RRC-UU 1316, may function as known in the prior art. The LEO satellite 1116 also includes a representation of the control plane protocol stack. The control plane protocol stack in the LEO satellite 1116 includes a relay block 1324, a radio link control (RLC) block 1326, a medium access control (MAC) block 1328 and a physical layer (PHY) block 1330, a L2 block 1332 and a second physical layer (PHY) 1334. The MEO satellite 1118 has the same blocks in its user plane protocol stack. The RRC-UU block 1314 allows direct UT-UT control plane communication 1336 between the two user terminals as described further below.
[0062] An advantage of some implementations herein is direct communication between user terminals as introduced above. For example, a direct connection can be achieved between a first user terminal that can communicate with an LEO satellite and a second user terminal that can communicate with MEO satellite, or other routes through a satellite constellation as described above. A user terminal can initiate direct communication by knowing the IP address of another user terminal. IP packets transmitted by the first user terminal are received by the first satellite, for example an LEO-SAT. The RLC layer in the first user satellite may implement Layer-2 automatic repeat (ARQ) protocols to ensure error free reception of IP packets at the LEO-SAT. Layer-2 ARQ may be selectively applied based on traffic flow characteristics. For example, TCP based traffic flows undergo Layer-2 ARQ. However, UDP based traffic flows such as conversational voice may not undergo Layer-2 ARQ. The satellite (LEO-SAT) may inspect the destination IP address in a received IP header and consults its routing table to determine the next-hop for this packet. Routing table in each satellite is updated based on link state information in the constellation topology. Traditional method would be for user terminals to advertise its reachability based on the satellite the user terminal is communicating with.
[0063] In a satellite system where the satellites are moving, i.e. a satellite constellation with non-geosynchronous satellites such as LEO and MEO satellites, user terminals need to update reachability information every time there is a satellite handover at the user terminal. Every time there is a reachability update of the user terminal to a new satellite, all other routers in constellation should update their routing tables to maintain reachability. Updating reachability information upon each handover can add significant signaling overhead in the system. In implementations described below, this signaling overhead can be completely removed where the satellites autonomously update their routing tables without explicit reachability update information. The user terminals can take advantage of satellite handover signaling protocols to piggy-back reachability information to the satellite. However, this method requires updating routing tables in each satellite. Using piggy-back protocols can put a significant demand on system resources due to the size of the routing table in each satellite. As an example, if there are hundreds of thousands of user terminals that wish to be engaged in direct sessions, the size of the routing tables will need to be quite large. In addition to memory requirements, the large routing table creates a demand for quick search over large routing tables.
[0064] To mitigate the issue of updating large routing tables, in some implementations, satellite routers don’t have to store and search routing tables that are the size of the user terminal population. Instead, the routing table size is limited to the size of the constellation, namely the number of satellites in the constellation. When a user terminal intends to initiate a direct session with another user terminal, the first user terminal may be provided with the satellite ID that second user terminal is communicating with at the beginning of the communication session. This can be provided by the gateways. The LEO and MEO gateways are constantly aware of the geo-locations of the individual user terminals that having active communications. A designated server on the ground is aware of the LEO or MEO satellite that the second user terminal is in communication with. The designated server may be one of servers 144 with the data of user terminals which are communicating with a satellite stored in a satellite communication table 154 as shown in FIG. 1. This designated server provides the satellite ID that the second user terminal is communicating with at the beginning of the direct session - for the purposes of this discussion we call this as the egress satellite to reach the second satellite.
[0065] FIG. 13B illustrates a first example of direct communication between a first user terminal and a second user terminal. In this implementation, the system uses extension IP headers to reduce the complexity and memory load required when using full routing tables as discussed above. Each IP data packet includes an extension IP header that contains the egress satellite’s ID. Each entity in the system routes the data packet to the next entity based on the extension header of the data packet. Data may be sent through a combination of satellites and gateways to the destination user terminal. For example, data may use the point-to-point connectivity between user terminals without traversing terrestrial links as described with reference to FIG. 8 and FIG. 9. Alternatively, data may flow between user terminals using extension IP headers by passing through a combination of satellites and ground based gateways as shown in FIG. 13B.
[0066] In the illustrated example of FIG. 13B, a first user terminal UT1 sends an IP packet destined to a second user terminal UT-2. UT1 may inform UT-2 that it intends to communicate with UT-2 during security establishment handshake (not shown). The data communication using extension IP headers is illustrated as a data flow 1350 from UT1 to UT- 2. Data from UT1 is first sent to SAT-1 with extension IP headers. SAT-1 receives the data IP packets from UT1 with an extension header, and simply inspects the egress satellite ID to make a determination where to send the data on the next-hop to reach egress satellite ID. The data flow 1350 continues in this example by SAT-1 sending the data through gateway GW1 to SAT-2. In a like manner, the data flow 1350 continues through SAT-3, SAT-4 and SAT-5 to user terminal UT-2. The data may flow 1350 through other gateways and a software defined (SDN) controller as shown. Similarly, when UT-2 communicates with UT1, the packets generated by UT-2 will have an extension header that points to the satellite UT1 which is communicating with UT-2. [0067] When a user terminal is no longer able to be serviced by a non-stationary satellite, a handover to another satellite takes place as described above. In the illustrated implementation, when a handover of UT-2 to a different satellite takes place, UT-2 directly informs UT1 of the new satellite ID which is now handing data traffic of UT-2. Similarly, UT1 informs UT-2 about its satellite handover. Whenever a user terminal receives new satellite information about a user terminal it is communicating with, the extension header is appropriately updated. In this way, the satellites do not need to maintain a large table with IP addresses, they only need to maintain a table to reach a particular satellite in the constellation. A brief description of a handover is shown in FIG. 13B. The handover may be accomplished with a sequence of handshake signals 1354. When a handover request is received, a satellite handover 1352 is executed. The handover handshake signals 1354 may end with handover complete signals as shown. After the handover is complete, the UT-2 sends a handover update to inform UT1 of the new satellite ID it is communicating with. In this example, the handover update is accomplished using RRC-G signaling 1356 to gateway GW2. Router signaling 1360, 1362 can then be used to send the handover update to the next gateway GW1 via the SDN controller. RRC-G signaling 1358 can then be used to forward the handover update from GW1 to UT1. UT1, now having new satellite information about UT-2, updates the extension headers in data packets appropriately and again sends data 1364 to UT-2 as described above. This method of direct communication between user terminals eliminates the need for large routing tables. However, this method does require complex signaling via ground elements for the handover updates.
[0068] FIG. 13C illustrates a second example of direct communication between a first user terminal and a second user terminal. In this example implementation, the system uses the RRC-UU 1316 introduced above for direct UT-UT control plane communication 1336 between the two user terminals. In this example, data flows 1350 from UT1 to UT-2, and a handover is handled 1354 as described above. After the handover is complete, UT-2 communicates with UT1 using RRC-UU layer protocol signaling 1366 to send UT1 the new egress satellite ID used by UT-2. The RRC-UU layer protocol signaling 1366 uses the RRC- UU 1316 in the protocol stack of the user terminals as described above. UT1 then uses the received information to update the egress router ID in the extension header for subsequent data sent 1364 to UT-2. Data is sent 1364 as described above where all satellites in the constellation only need to inspect the destination IP address in the extension header to route the packets to the correct egress router. Therefore, there is no need for routers to update their routing tables when a UT executes a satellite handover since it is the responsibility of UT to update the extension header. Further, since it is the user terminal’s responsibility to populate the correct egress satellite ID in extension headers, the other satellites need not store information about individual user terminals.
[0069] It should be noted that once the packet reaches the intended egress satellite, the egress satellite must still determine the beam within the satellite where the user terminal can be reached. Each satellite maintains a list of active user terminals in each beam as part of normal radio resource function. Therefore, when a packet is received at the egress satellite, the satellite is aware of which beam the UT is located. Previous discussions were centered around constellation routing based on satellites inspecting destination IP address and extension headers. This implies that satellites have to implement IP layer and corresponding header checksum etc. This complexity can be eliminated taking advantage of the extension IP header concept discussed under IP Routing. Here the user terminal inserts an extension L2 -header or a label that contains the egress satellite information rather than extension IP header. The first L2 frame of a given IP packet contains the extension L2 header. In this framework, the satellite does not need to implement IP layer. When the RLC layer completes the re-assembly, it simply inspects the extension L2 -header of the first frame to route to egress satellite. This leads to a reduced complexity satellite implementation.
[0070] Paragraphs above describe efficient methods for routing in constellation with the aim of reduced complexity at individual satellites. This entailed the two user terminals to inform each other when it executes a satellite handover. Depending on the delay in communication between the two user terminals, it is possible that some packets are in transit with the old egress satellite ID. These packets will not reach the destination user terminal since the user terminal has completed handover to a new satellite. This can result in packet losses during satellite handover. To mitigate this and achieve lossless handover, implementations herein may incorporate a packet data convergence protocol (PDCP) Lite function in the individual user terminals. PDCP-Lite function introduces a sequence number to individual IP packets. When the destination UT PDCP-Lite layer finds a missing PDCP during handover, it requests the originating PDCP-Lite function to retransmit PDCP.
[0071] Implementations described above provide efficient techniques to establish direct UT-UT connection via LEO-LEO or LEO-MEO links. As described, the packets originate in one user terminal and reaches the destination UT without traversing through a ground network. In some systems, it may be required to know the volume of data (not the actual data itself) transferred during the direct UT-UT connection. For example, billing may require a determination of the volume of data sent. Another reason may be for traffic engineering. In an indirect UT-UT connection, this volume is easily determined by the 5G Core Network elements since all packets pass through the 5G Core. In the direct UT-UT connection approach described above, packets may not pass through the 5G core network elements. Two methods are introduced herein to address this issue of measuring the volume of data in a direct UT-UT connection. In the first method, the ingress satellite may simply replicate IP packets (or altered IP packets) towards the ground (and hence 5G core network); but destroy the content of the IP packet so that it makes no sense to a listener on the ground infrastructure. The 5G core network would simply compute volume based on these modified IP packets. However, this method consumes resources on the satellite as well as bandwidth. In a second method, the ingress satellite does the volume accounting and simply sends one message to an accounting server on ground when a UT hands over to a different satellite. This method does require an application layer implementation in the satellite, but it does not consume as much satellite resources or spectrum.
[0072] FIG. 14 is a diagram showing an example implementation of a satellite system 1400 with SDN orchestration. The specific implementation shown in FIG. 14 is one possible implementation of the MEO-LEO system 100 shown in FIG. 1. The example implementation of the satellite system 1400 shown in FIG. 14 includes a satellite constellation 1410. The satellite constellation 1410 may combine an MEO constellation 110 and an LEO constellation 112 as shown in FIG.l. The satellite constellation 1410 may include any number of LEO and MEO satellites. In the illustrated implementation, the satellites are represented by Satellitel 1412, Satellite2 1414, Satellites 1416 and SatelliteN 1418, where SatelliteN represents any number of satellites may be included in the satellite constellation 1410. The satellite system 1400 further includes a number of user terminals (UT) that communicate with the satellites. A first user terminal, UT1 1420 is shown communicating with Satellitel 1412. UT1 may communicate with Satellitel as described above over a single beam or multiple beams as described above.
[0073] The satellite system 1400 may include a number of satellite gateways that also communicate with the satellites. The satellite gateways may communicate with LEO and MEO satellites over one or more beams and one or more bands as described above. In the illustrated example, GW1 1422 communicates with the satellite 1412 and GW2 communicates with Satellite2 1414. The satellite gateways 1422, 1426 also communicate over an internet protocol (IP) core network 1424 which may be a private IP network. In this implementation, the IP core network 1424 includes a Route Management Function (RMF) 1436 and an Access and Mobility management Function (AMF) 1438. The RMF 1436 and the AMF 1438 are function modules that perform the functions and operations as described further herein. The RMF 1436 and AMF 1438 may include executable modules that reside on a computer or server such as servers 144 shown in FIG. 1 that implement a software defined network functionality as introduced above. Alternatively, the RMF 1436 and AMF 1438 functions may be located at another location such as on a satellite. However, placement of the RMF 1436 and the AMF 1438 on hardware of the IP core network 142 reduces computational requirements of the satellites by offloading these functions to a ground-based computer or server. The IP core network 1424 may also include a border gateway (not shown) for connecting to external IP networks 1430. In this implementation, the external IP network 1430 is a public network such as the Internet which may connect to remote servers Serverl 1432 and Server2 1434. Serverl 1432 and Sever2 1434 represent data available over the Internet as know in the prior art.
[0074] Each satellite in the constellation is treated as a router in the overall network architecture. However, unlike traditional IP routers that determine a next-hop based on network ID portion of the destination IP address, the routing of data in the satellites is based on a satellite ID provided by user terminals and gateways in L2 frames transmitted to satellite. The RMF 1436 in combination with routing based on the network ID portion of the destination address allows for SDN orchestration of data routing. Routing data in the satellite network in this manner significantly saves the amount of memory needed in the satellite and reduces search complexity which reduces the load on satellite computing resources. A single satellite may have multiple gateway links. Each of the gateway links of a satellite is identified by a feederlink ID.
[0075] FIG. 15 illustrates an example of determining a satellite ID for placing in L2 headers to send data over the satellite system 1400. A given UT in idle mode determines the satellite ID to include in L2 headers based on listening to Common Control Channels (CCCH) from gateways. The CCCH is a control plane communication protocol know in the prior art. In implementations herein, additional information is added to the CCCH to enable the system to provide SDN orchestration of data routing. Gateways may transmit their own IDs, a feederlink ID as well as the ID of the satellite with which it is communicating in the CCCH 1510. User terminals in idle mode first listen to CCCH and determine the satellite ID through which gateway transmitted the CCCH. The UT then populates a Random Access Channel (RACH) signal with the gateway’s ID (Gateway-K), feederlink ID and Sat-J ID and the satellite it is communicating with (Sat-1 in the example of FIG.15) 1512. When this signal is received, Gateway-k then knows the satellite UT1 is communicating with (Sat-1) and UT1 knows how to reach Gateway -k via Sat-j. After exchanging IDs, standard mobility management procedures may be executed 1514 between UT1 and the AMF via Gateway-k. The standard mobility management procedures 1514 may include establishing a security association between UT1 and Gateway-k. Based on the above CCCH and RACH exchange, UT1 knows how to reach Gateway-k and Gateway-k knows how to reach the UT1. The UT1 may send an encrypted position to Gateway-k 1516. The Gateway-k may then store the position of the user terminal received from UT1. Subsequently, determinations of which satellite UT1 is communicating with will be under control of Gateway-k. Therefore, Gateway-k knows how to reach UT1 for all transmissions to UT1.
[0076] When the Gateway-k receives an IP packet from the internet via PD 1518, the gateway includes its own gateway ID, Satellite ID, and feederlink ID in the header of data frames transmitted to the UT 1520. The UT receives the IP packet and takes note of the gateway ID, satellite ID and feederlink ID to use in uplink transmissions to the gateway. In connected mode, the gateway determines the satellite ID to be used for user downlink based on the UT’s position. Until the UT provides position information to the gateway, the gateway uses the satellite ID that is provided by user terminal in its header data. In connected mode, the UT determines the satellite ID to be used for uplink based on gateway and satellite ID transmitted by the gateway to UT1 1522. When a satellite receives a L2 frame from UT1 (call this satellite as ingress satellite for uplink) with a destination label pointing to a different satellite (call this as egress satellite), ingress satellite needs to determine the next hop to reach the intended egress satellite. In this example, Sat-1 receives data with the next hop being Sat- j as indicated by the header containing the ID of Sat-j. Using the above method of finding the next satellite hop eliminates the need for the ingress satellite to construct and update routing tables which is computationally very expensive since it requires knowledge of all links in constellation.
[0077] At various times, a UT may enter an idle mode where no data is being sent 1524. A packet of data from the internet may trigger paging at the AMF. In the idle mode, gateways may determine the satellites to which a UT is listening based on the UT’s positionl526. Gateways may page via these satellites simultaneously or sequentially starting from the most likely satellite to least likely satellite until a successful response. Paging is a standard mobility management procedure.
[0078] FIG. 16A illustrates an implementation of a management plane 1610 in a satellite system such as the satellite system 1400. The management plane 1610 functions between a user terminal UT1 1420 and the RMF 1436. In this example, the management plane 1610 passes from UT1 1420, through Satellitel 1412, the IP core network 1424 to the RMF 1436. The management plane 1610 allows the satellite system 1400 to efficiently manage the flow of data as described herein to reduce the memory and computing resources needed on the satellites. The management plane is supported by the RMF 1436 as described further below. The satellite system 1400 may also include a control plane 1612 and a data plane 1614. The control plane 1612 and data plane 1614 may be connected and function in a similar manner as in the prior art when communicating over a 5G core network. In this example implementation, the control plane 1612 connects the UT1 1420 with the AMF 1438 through Satellitel 1412 and GW1 1422. The data plane 1614 connects UT1 1420 with serverl 1432 through Satellitel 1412, GW1 1422, IP core network 1424, and the external IP network 1430. A user terminal registers with the AMF first before obtaining an IP address and communicating with entities on the external IP network such as serverl 1432. The management plane 1610 may also be provided between all the satellites and the RMF 1436, as well as between all the gateways and the RMF 1436 as described below.
[0079] FIG. 16B illustrates additional management plane paths and data plane paths in a satellite system such as system 1400. The management plane 1610 may also be provided between all the satellites and the RMF 1436, as well as between all the gateways and the RMF 1436. In the illustrated implementation, an additional management plane path 1614 is shown from satellitel 1412 to the RMF 1436 through GW1 1422 and the IP core network 1424. Further, another management plane path 1616 is shown from FW2 1426 to the RMF1436 through the IP core network 1424. These additional management paths allow the RMF 1436 to receive links and determine route updates as described below. FIG. 16B further illustrates additional data plane paths useful for specific circumstances. For example, in some scenarios it may be required or useful to have data flow for specific user terminals to land on gateways in a specific country or region. The need for placing the data on the ground in a specific location may be dictated by political, government or security reasons. Routing data to a specific gateway allows the system to provide users with data that meets these political, government or security needs. In the illustrated implementation shown in FIG. 16B, a user plane communication 1618 path for a specific gateway is supported between UT1 1420 and GW2 1426 by sending the data through satellitel, to satellite2, and then to GW2 1426. [0080] FIG. 16B further illustrates an additional data plane paths that supports a direct UT to UT data connection. A direct UT to UT data plane path supports sending encrypted data directly from a first user terminal to the second user terminal with a private key to allows highly secure communication that does not touch or pass over ground networks as described above. In the illustrated implementation, a user plane UT-UT path 1620 is shown from UT1 1420 and UT2 1622 through satellitel 1412 and satellite3 1416. Satellitel 1412 and satellites 1416 may be either MEO or LEO satellites that communicate over one or more satellite links as described above. The RMF 1436 supports the direct UT-UT path 1620 as described below.
[0081] Each satellite in the satellite system 1400 may have multiple links or input/output ports that allow them to communicate with user terminals, satellites in the same constellation (intra-constellation cross-links), satellites in other constellation (inter-constellation cross links), one or more gateways. For example, an LEO satellite may have links as shown in FIG. 4, and an MEO satellite may have links as shown in FIG. 7. A default routing table may be loaded to each satellite when they are initially placed into operation. This default routing table contains next-hop information for all satellites in the constellation. Each satellite may report the status of all the links (except user links) to RMF periodically as well as on an as- needed basis. This status information may include metrics such as link up/down, link congestion (such as queue occupancy), estimated delay to reach an adjacent node, error rate on the link, or other status information. The link information may be used by the RMF to provide the routing table information to the satellites as described herein to support the management plane communication.
[0082] FIG 17 illustrates details of the RMF 1436. The RMF 1436 provides SDN orchestration for route management of data in the MEO-LEO satellites system 1400. The RMF 1436 has a satellite link status input 1710 to receive the state of links from all satellites (both MEO and GEO) in constellation. The RMF 1436 also receives state of links from all gateways through the gateway link status input 1712. The RMF 1436 determines routing updates for tables in the satellites based on received information and then uploads routing table updates 1714 to satellites (if changed from previous table entry). The RMF also may receive satellite mapping status 1716 updates from user terminals that want to be part of Direct UT-UT session. The RMF 1436 may perform a presence check 1718 of user terminals that have not performed routing updates when they are requested to be in Direct UT-UT session. The RMF 1436 may also receive a UT request for gateway ID 1720 from special user terminal and provide a gateway ID 1722 to the special terminals as described further below. The satellite link status input 1710, gateway link status input 1712, satellite mapping status 1716 and the request for gateway ID 1720 are management plane signals that may be sent on an appropriate protocol such as TCP. Similarly, the outputs routing table updates 1714, presence check 1718, and gateway ID for special UTs 1722 are also management plane signal that may be sent using TCP or another appropriate protocol.
[0083] Data can be routed based on the data flow using the uploaded routing tables. FIG. 18A illustrates an example of a routing table 1800 for flow independent routing. Based on link status received from multiple satellites and gateways, the RMF 1436 calculates next-hop for each satellite in the constellation. This determination may be accomplished using well known link state algorithms for determining the shortest path. Alternatively, for the optimal application performance and for purposes of load balancing, the RMF 1436 may also calculate multiple next-hops to reach the same satellite in the constellation that is flow dependent, where the next hop in the table depends on the type of data in the flow. The flow type of delay sensitive may include data such as real time communication or critical data updates. The flow type of insensitive may include streaming video or data backups. The flow type of data may be determined by looking at specific fields in data headers. For example, the flow type may be determined by a combination of flow label or Differentiated Service Code Point (DSCP) in IP packet headers, and/or port numbers in transport layer headers. In the example routing table shown in FIG. 18 A, for example, the next hop for data to satellite ID =1 is East and the next hop for data to satellite ID=2 is MEO-1.
[0084] FIG. 18B illustrates an example of a routing table 1810 for flow dependent routing. For flow dependent routing, the routing table may have multiple rows for a given satellite ID. In this example implementation, the table 1810 has multiple rows for satellite ID=1. Each row provides a next hop for satellite ID=1 depending on the flow type. Data is forwarded through the MEO-LEO satellite system based on the routing tables as shown in FIG. 19.
[0085] FIG. 19 illustrates an example of a forwarding function on a satellite 1912 for forwarding data based on a routing table. Data is forwarded to the next hop based on the routing table shown in FIG. 18B. Here data from a user terminal 1910 is assumed to be bound for SAT1 when it reaches satellite 1912. Data that is delay sensitive 1922 is sent on the East link 1916 as indicated in the flow dependent routing table. Similarly, delay insensitive data 1920 is routed to the MEO-1 link 1914 and delay tolerant data (delay sensitive, use best effort) 1924 is routed to the south link 1918.
[0086] Once the entries of the routing table are determined, the RMF 1436 uploads updated routing table information to the relevant satellites, where each satellite may receive unique routing tables similar to the examples shown in FIGs. 18A and 18B. The RMF 1436 may upload only those entries that have changed from the previous upload to minimize management plane overhead. Each satellite may have a pre-defined IP address and the RMF1436 may then populate an IP header carrying Flow Label or DiffServ Code Point (DSCP) to the individual satellites with appropriate priority levels to upload the routing tables. Updates that are a result of a link failure may be uploaded with Flow Label and DSCP which receives the highest priority communication treatment from the RMF 1436 to the satellite of interest.
[0087] FIG. 20 illustrates a method for a satellite system with software defined network orchestration as described herein. The system first receives inputs from the satellites and gateways in the system (step 2010). The inputs may include satellite and gateway link status from the satellites and gateways, satellite mapping status for direct UT-UT communication and request for gateway ID for special UT as described above. The system may then determine routing tables for the satellite (step 2012). The routing tables may be determined by the RAF described above which may be located in a ground based server. The satellite tables may include next hop information for delay sensitive and delay insensitive flow types. The determined routing tables are then uploaded to the satellites (step 2014). Only updated routing tables, those containing new information, may be uploaded. Each satellite then monitors data traffic flow to determine satellite IDs where the data is to be sent (step 2016). The UTs may then load satellite IDs in a data header to send data to a desired satellite as described above (2018). Then, send data to a next hop towards the desired destination satellite based on the satellite ID in the data header using the routing tables (step 2020). Data can be sent to a different next hop depending on the flow type of data as described above and shown in FIG. 19.
[0088] FIG. 21 illustrates an example of the RMF managing a direct UT-UT session over a satellite system. Each UT (UT0, UT1) first attaches with the core network (CN) 2110 and obtains its own IP address 2112. Upon successful completion of the attach procedure, the user terminals register with RMF 2114. A UT that wants to be in a direct UT-UT communication (the originating terminal) provides details such as the satellite ID it is communicating with, whether it is capable of communicating with only LEO, only MEO or both LEO and MEO. The UT is also obligated to update this information every time there is a satellite handover in connected mode. When the originating UT (UT0) wants to establish direct communication with a destination UT (UT1), the originating UT first queries the RMF 2116. If RMF has up-to-date information about the satellite ID with which the destination UT is communicating 2118, then RMF conveys 2120 that satellite ID information to the originating UT. Upon receipt, the originating UT (UTO) populates L2 header with destination label that includes the satellite ID with which destination is communicating 2122. [0089] When destination/originating UT executes a satellite handover during a Direct connection, the handover information is conveyed to the other party via an RRC-UU message as described above. If RMF does not have up-to-date information about the destination UT, RMF transmits an application layer message to UT requesting Presence information 2124. If the destination UT has entered idle mode 2126, then the core network will page this UT 2128. Once the paging response is received successfully by the core network 2130, UPF in core network will forward the application layer message to destination user terminal (UT1) 2132. (The messages to and from the RMF (Presence Query, Update Contact Information) are application layer messages.) Destination UT responds to the Presence query from RMF to update the RMF about the satellite with which it is communicating with 2134. Upon receiving the response from destination UT, RMF responds to originating UT about the satellite ID with which destination UT is communicating 2136 for the direct UT-UT communication. If no response is received by RMF from destination UT for the Presence query, RMF responds to the originating UT that the destination is unreachable (not shown). [0090] As described above, a user terminal determines the gateway with which it wants to communicate based on listening to transmissions from the gateway. However, there are scenarios where special user terminals require packets belonging to certain flows to only be routed via specific gateways. To facilitate this flow-specific routing, these special user terminals first register with RMF function indicating their preferred gateway or set of gateways. For example, it could be any gateway within a given country. When these special UTs invoke flow-specific routing, they query the RMF first. RMF determines the best path from the special UT to one of the preferred gateways. This best path is determined based on the status of the gateway links provided by the preferred gateways as well as the loading of different links in the constellation. RMF provides to the UT the above-determined gateway link ID and satellite ID with which the chosen gateway is communicating with. Once the UT receives the satellite ID for the preferred gateway, UT populates the L2 header with a destination label pointing to the egress satellite ID.
[0091] The detailed examples of systems, devices, and techniques described in connection with FIGS. 1-21 are presented herein for illustration of the disclosure and its benefits. Such examples of use should not be construed to be limitations on the logical process embodiments of the disclosure, nor should variations of user interface methods from those described herein be considered outside the scope of the present disclosure. It is understood that references to displaying or presenting an item (such as, but not limited to, presenting an image on a display device, presenting audio via one or more loudspeakers, and/or vibrating a device) include issuing instructions, commands, and/or signals causing, or reasonably expected to cause, a device or system to display or present the item. In some embodiments, various features described in FIGS. 1-13 are implemented in respective modules, which may also be referred to as, and/or include, logic, components, units, and/or mechanisms. Modules may constitute either software modules (for example, code embodied on a machine-readable medium) or hardware modules.
[0092] In some examples, a hardware module may be implemented mechanically, electronically, or with any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is configured to perform certain operations. For example, a hardware module may include a special-purpose processor, such as a field- programmable gate array (FPGA) or an Application Specific Integrated Circuit (ASIC). A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations and may include a portion of machine- readable medium data and/or instructions for such configuration. For example, a hardware module may include software encompassed within a programmable processor configured to execute a set of software instructions. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (for example, configured by software) may be driven by cost, time, support, and engineering considerations.
[0093] Accordingly, the phrase “hardware module” should be understood to encompass a tangible entity capable of performing certain operations and may be configured or arranged in a certain physical manner, be that an entity that is physically constructed, permanently configured (for example, hardwired), and/or temporarily configured (for example, programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering examples in which hardware modules are temporarily configured (for example, programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module includes a programmable processor configured by software to become a special-purpose processor, the programmable processor may be configured as respectively different special-purpose processors (for example, including different hardware modules) at different times. Software may accordingly configure a processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time. A hardware module implemented using one or more processors may be referred to as being “processor implemented” or “computer implemented.” [0094] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (for example, over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory devices to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output in a memory device, and another hardware module may then access the memory device to retrieve and process the stored output.
[0095] In some examples, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by, and/or among, multiple computers (as examples of machines including processors), with these operations being accessible via a network (for example, the Internet) and/or via one or more software interfaces (for example, an application program interface (API)). The performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across several machines. Processors or processor-implemented modules may be in a single geographic location (for example, within a home or office environment, or a server farm), or may be distributed across multiple geographic locations.
[0096] FIG. 22 is a block diagram 2200 illustrating an example software architecture 2202, various portions of which may be used in conjunction with various hardware architectures herein described, which may implement any of the above-described features. FIG. 22 is a non-limiting example of a software architecture and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 2202 may execute on hardware such as a machine 2300 of FIG. 23 that includes, among other things, processors 2310, memory 2330, and input/output (I/O) components 2350. A representative hardware layer 2204 is illustrated and can represent, for example, the machine 2300 of FIG. 23. The representative hardware layer 2204 includes a processing unit 2206 and associated executable instructions 2208. The executable instructions 2208 represent executable instructions of the software architecture 2202, including implementation of the methods, modules and so forth described herein. The hardware layer 2204 also includes a memory/ storage 2210, which also includes the executable instructions 2208 and accompanying data. The hardware layer 2204 may also include other hardware modules 2212. Instructions 2208 held by processing unit 2206 may be portions of instructions 2208 held by the memory/storage 2210.
[0097] The example software architecture 2202 may be conceptualized as layers, each providing various functionality. For example, the software architecture 2202 may include layers and components such as an operating system (OS) 2214, libraries 2216, frameworks 2218, applications 2220, and a presentation layer 2244. Operationally, the applications 2220 and/or other components within the layers may invoke API calls 2224 to other layers and receive corresponding results 2226. The layers illustrated are representative in nature and other software architectures may include additional or different layers. For example, some mobile or special purpose operating systems may not provide the frameworks/middleware 2218.
[0098] The OS 2214 may manage hardware resources and provide common services. The OS 2214 may include, for example, a kernel 2228, services 2230, and drivers 2232. The kernel 2228 may act as an abstraction layer between the hardware layer 2204 and other software layers. For example, the kernel 2228 may be responsible for memory management, processor management (for example, scheduling), component management, networking, security settings, and so on. The services 2230 may provide other common services for the other software layers. The drivers 2232 may be responsible for controlling or interfacing with the underlying hardware layer 2204. For instance, the drivers 2232 may include display drivers, camera drivers, memory/storage drivers, peripheral device drivers (for example, via Universal Serial Bus (USB)), network and/or wireless communication drivers, audio drivers, and so forth depending on the hardware and/or software configuration.
[0099] The libraries 2216 may provide a common infrastructure that may be used by the applications 2220 and/or other components and/or layers. The libraries 2216 typically provide functionality for use by other software modules to perform tasks, rather than rather than interacting directly with the OS 2214. The libraries 2216 may include system libraries 2234 (for example, C standard library) that may provide functions such as memory allocation, string manipulation, file operations. In addition, the libraries 2216 may include API libraries 2236 such as media libraries (for example, supporting presentation and manipulation of image, sound, and/or video data formats), graphics libraries (for example, an OpenGL library for rendering 2D and 3D graphics on a display), database libraries (for example, SQLite or other relational database functions), and web libraries (for example, WebKit that may provide web browsing functionality). The libraries 2216 may also include a wide variety of other libraries 2238 to provide many functions for applications 2220 and other software modules.
[0100] The frameworks 2218 (also sometimes referred to as middleware) provide a higher-level common infrastructure that may be used by the applications 2220 and/or other software modules. For example, the frameworks 2218 may provide various graphic user interface (GUI) functions, high-level resource management, or high-level location services. The frameworks 2218 may provide a broad spectrum of other APIs for applications 2220 and/or other software modules.
[0101] The applications 2220 include built-in applications 2240 and/or third-party applications 2242. Examples of built-in applications 2240 may include, but are not limited to, a contacts application, a browser application, a location application, a media application, a messaging application, and/or a game application. Third-party applications 2242 may include any applications developed by an entity other than the vendor of the particular platform. The applications 2220 may use functions available via OS 2214, libraries 2216, frameworks 2218, and presentation layer 2244 to create user interfaces to interact with users. [0102] Some software architectures use virtual machines, as illustrated by a virtual machine 2248. The virtual machine 2248 provides an execution environment where applications/modules can execute as if they were executing on a hardware machine (such as the machine 2300 of FIG. 23, for example). The virtual machine 2248 may be hosted by a host OS (for example, OS 2214) or hypervisor, and may have a virtual machine monitor 2246 which manages operation of the virtual machine 2248 and interoperation with the host operating system. A software architecture, which may be different from software architecture 2202 outside of the virtual machine, executes within the virtual machine 2248 such as an OS 2250, libraries 2252, frameworks 2254, applications 2256, and/or a presentation layer 2258. [0103] FIG. 23 is a block diagram illustrating components of an example machine 2300 configured to read instructions from a machine-readable medium (for example, a machine- readable storage medium) and perform any of the features described herein. The example machine 2300 is in a form of a computer system, within which instructions 2316 (for example, in the form of software components) for causing the machine 2300 to perform any of the features described herein may be executed. As such, the instructions 2316 may be used to implement modules or components described herein. The instructions 2316 cause unprogrammed and/or unconfigured machine 2300 to operate as a particular machine configured to carry out the described features. The machine 2300 may be configured to operate as a standalone device or may be coupled (for example, networked) to other machines. In a networked deployment, the machine 2300 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. Machine 2300 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and/or entertainment system, a smart phone, a mobile device, a wearable device (for example, a smart watch), and an Internet of Things (loT) device. Further, although only a single machine 2300 is illustrated, the term “machine” includes a collection of machines that individually or jointly execute the instructions 2316.
[0104] The machine 2300 may include processors 2310, memory 2330, and I/O components 2350, which may be communicatively coupled via, for example, a bus 2302. The bus 2302 may include multiple buses coupling various elements of machine 2300 via various bus technologies and protocols. In an example, the processors 2310 (including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereol) may include one or more processors 2312a to 2312n that may execute the instructions 2316 and process data. In some examples, one or more processors 2310 may execute instructions provided or identified by one or more other processors 2310. The term “processor” includes a multi-core processor including cores that may execute instructions contemporaneously. Although FIG. 23 shows multiple processors, the machine 2300 may include a single processor with a single core, a single processor with multiple cores (for example, a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, the machine 2300 may include multiple processors distributed among multiple machines.
[0105] The memory /storage 2330 may include a main memory 2332, a static memory 2334, or other memory, and a storage unit 2336, both accessible to the processors 2310 such as via the bus 2302. The storage unit 2336 and memory 2332, 2334 store instructions 2316 embodying any one or more of the functions described herein. The memory/storage 2330 may also store temporary, intermediate, and/or long-term data for processors 2310. The instructions 2316 may also reside, completely or partially, within the memory 2332, 2334, within the storage unit 2336, within at least one of the processors 2310 (for example, within a command buffer or cache memory), within memory at least one of I/O components 2350, or any suitable combination thereof, during execution thereof. Accordingly, the memory 2332, 2334, the storage unit 2336, memory in processors 2310, and memory in I/O components 2350 are examples of machine-readable media.
[0106] As used herein, “machine-readable medium” refers to a device able to temporarily or permanently store instructions and data that cause machine 2300 to operate in a specific fashion, and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical storage media, magnetic storage media and devices, cache memory, network-accessible or cloud storage, other types of storage and/or any suitable combination thereof. The term “machine-readable medium” applies to a single medium, or combination of multiple media, used to store instructions (for example, instructions 2316) for execution by a machine 2300 such that the instructions, when executed by one or more processors 2310 of the machine 2300, cause the machine 2300 to perform and one or more of the features described herein. Accordingly, a “machine-readable medium” may refer to a single storage device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term “machine- readable medium” excludes signals per se.
[0107] The I/O components 2350 may include a wide variety of hardware components adapted to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I/O components 2350 included in a particular machine will depend on the type and/or function of the machine. For example, mobile devices such as mobile phones may include a touch input device, whereas a headless server or loT device may not include such a touch input device. The particular examples of I/O components illustrated in FIG. 23 are in no way limiting, and other types of components may be included in machine 2300. The grouping of I/O components 2350 are merely for simplifying this discussion, and the grouping is in no way limiting. In various examples, the I/O components 2350 may include user output components 2352 and user input components 2354. User output components 2352 may include, for example, display components for displaying information (for example, a liquid crystal display (LCD) or a projector), acoustic components (for example, speakers), haptic components (for example, a vibratory motor or force-feedback device), and/or other signal generators. User input components 2354 may include, for example, alphanumeric input components (for example, a keyboard or a touch screen), pointing components (for example, a mouse device, a touchpad, or another pointing instrument), and/or tactile input components (for example, a physical button or a touch screen that provides location and/or force of touches or touch gestures) configured for receiving various user inputs, such as user commands and/or selections.
[0108] In some examples, the I/O components 2350 may include biometric components 2356, motion components 2358, environmental components 2360, and/or position components 2362, among a wide array of other physical sensor components. The biometric components 2356 may include, for example, components to detect body expressions (for example, facial expressions, vocal expressions, hand or body gestures, or eye tracking), measure biosignals (for example, heart rate or brain waves), and identify a person (for example, via voice-, retina-, fingerprint-, and/or facial-based identification). The motion components 2358 may include, for example, acceleration sensors (for example, an accelerometer) and rotation sensors (for example, a gyroscope). The environmental components 2360 may include, for example, illumination sensors, temperature sensors, humidity sensors, pressure sensors (for example, a barometer), acoustic sensors (for example, a microphone used to detect ambient noise), proximity sensors (for example, infrared sensing of nearby objects), and/or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 2362 may include, for example, location sensors (for example, a Global Position System (GPS) receiver), altitude sensors (for example, an air pressure sensor from which altitude may be derived), and/or orientation sensors (for example, magnetometers).
[0109] The I/O components 2350 may include communication components 2364, implementing a wide variety of technologies operable to couple the machine 2300 to network(s) 2370 and/or device(s) 2380 via respective communicative couplings 2372 and 2382. The communication components 2364 may include one or more network interface components or other suitable devices to interface with the network(s) 2370. The communication components 2364 may include, for example, components adapted to provide wired communication, wireless communication, cellular communication, Near Field Communication (NFC), Bluetooth communication, Wi-Fi, and/or communication via other modalities. The device(s) 2380 may include other machines or various peripheral devices (for example, coupled via USB).
[0110] In some examples, the communication components 2364 may detect identifiers or include components adapted to detect identifiers. For example, the communication components 2364 may include Radio Frequency Identification (RFID) tag readers, NFC detectors, optical sensors (for example, one- or multi-dimensional bar codes, or other optical codes), and/or acoustic detectors (for example, microphones to identify tagged audio signals). In some examples, location information may be determined based on information from the communication components 1562, such as, but not limited to, geo-location via Internet Protocol (IP) address, location via Wi-Fi, cellular, NFC, Bluetooth, or other wireless station identification and/or signal triangulation.
[oni] While various embodiments have been described, the description is intended to be exemplary, rather than limiting, and it is understood that many more embodiments and implementations are possible that are within the scope of the embodiments. Although many possible combinations of features are shown in the accompanying figures and discussed in this detailed description, many other combinations of the disclosed features are possible.
Any feature of any embodiment may be used in combination with or substituted for any other feature or element in any other embodiment unless specifically restricted. Therefore, it will be understood that any of the features shown and/or discussed in the present disclosure may be implemented together in any suitable combination. Accordingly, the embodiments are not to be restricted except in light of the attached claims and their equivalents. Also, various modifications and changes may be made within the scope of the attached claims.
[0112] While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.
[0113] Unless otherwise stated, all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification, including in the claims that follow, are approximate, not exact. They are intended to have a reasonable range that is consistent with the functions to which they relate and with what is customary in the art to which they pertain.
[0114] The scope of protection is limited solely by the claims that now follow. That scope is intended and should be interpreted to be as broad as is consistent with the ordinary meaning of the language that is used in the claims when interpreted in light of this specification and the prosecution history that follows and to encompass all structural and functional equivalents. Notwithstanding, none of the claims are intended to embrace subject matter that fails to satisfy the requirement of Sections 101, 102, or 103 of the Patent Act, nor should they be interpreted in such a way. Any unintended embracement of such subject matter is hereby disclaimed.
[0115] Except as stated immediately above, nothing that has been stated or illustrated is intended or should be interpreted to cause a dedication of any component, step, feature, object, benefit, advantage, or equivalent to the public, regardless of whether it is or is not recited in the claims.
[0116] It will be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. Relational terms such as first and second and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a” or “an” does not, without further constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0117] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various examples for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed example. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

Claims

WHAT IS CLAIMED IS:
1. A satellite communication system comprising: a satellite constellation with a plurality of satellites; and a route management function (RMF) configured to provide routing tables to the plurality of satellites; wherein the routing tables include a next hop satellite ID that indicates a desired satellite for a next hop for routing data among the plurality of satellites.
2. The satellite communication system of claim 1, wherein the route management function is located on a ground-based server.
3. The satellite communication system of claim 1, wherein the plurality of satellites monitor traffic flow to determine satellite IDs where data is to be sent.
4. The satellite communication system of claim 3, wherein a first satellite loads a satellite ID in a data header that indicates to send data to a destination satellite.
5. The satellite communication system of claim 4, wherein a second satellite sends data to a next hop towards the desired satellite based on the satellite ID in the data header using the routing tables.
6. The satellite communication system of claim 1, wherein the RMF is further configured to provide direct user terminal to user terminal communication without traversing gateways and associated terrestrial links.
7. The satellite communication system of claim 6, wherein an originating user terminal first queries the RMF to determine if the RMF has up-to-date information about the satellite a destination user terminal is communicating with, where the RMF does have up-to-date information with a satellite ID, then the RMF conveys the satellite ID with which the destination user terminal is communicating to the originating user terminal to be used by the originating user terminal to populate data headers.
36
8. The satellite communication system of claim 1, wherein the RMF is configured to support a special user terminal communicating to a preferred gateway.
9. The satellite communication system of claim 8, wherein the RMF provides to the special user terminal a determined gateway ID for the preferred gateway to allow the user terminal to populate data headers with a destination label pointing to the preferred gateway.
10. The satellite communication system of claim 1, wherein the plurality of satellites comprises MEO satellites and LEO satellites.
11. A method of communicating on a multi-satellite communication system comprising: receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites; and uploading the determined routing tables to the plurality of satellites, wherein the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites.
12. The method of communicating on a multi-satellite communication system of claim 11, wherein determining the routing tables for the plurality of satellites is performed by a route management function (RMF) located on a ground-based server.
13. The method of communicating on a multi-satellite communication system of claim 11, further comprising monitoring traffic flow to determine satellite IDs where data is to be sent.
14. The method of communicating on a multi-satellite communication system of claim 13, further comprising a first satellite loading a satellite ID in a data header that indicates to send data to a desired satellite.
15. The method communicating on a multi-satellite communication system of claim 14, further comprising a second satellite sending data to a next hop towards the desired satellite based on the satellite ID in the data header using the routing tables.
37
16. The method communicating on a multi-satellite communication system of claim 12, further comprising providing direct user terminal to user terminal communication without traversing gateways and associated terrestrial links.
17. The method communicating on a multi-satellite communication system of claim 16, wherein an originating user terminal first queries the RMF to determine if the RMF has up- to-date information about the satellite a destination user terminal is communicating with, where the RMF does have up-to-date information with a satellite ID, then the RMF conveys the satellite ID with which the destination user terminal is communicating to the originating user terminal to be used by the originating user terminal to populate data headers.
18. The method communicating on a multi-satellite communication system of claim 12, further comprising supporting a special user terminal communicating to a preferred gateway.
19. The method communicating on a multi-satellite communication system of claim 18, wherein the RMF provides to the special user terminal a determined gateway ID for the preferred gateway to allow the user terminal to populate data headers with a destination label pointing to the preferred gateway.
20. A method of communicating on a multi-satellite communication system comprising: receiving link status information from a plurality of satellites; determining routing tables for the plurality of satellites based on the link status; uploading the determined routing tables to the plurality of satellites, wherein: the routing tables include a next hop satellite ID that indicates a satellite for a next hop for routing data among the plurality of satellites, and determining the routing tables for the plurality of satellites is performed by a route management function (RMF) located on a ground-based server; monitoring traffic flow to determine satellite IDs where data is to be sent; loading at a first satellite a satellite ID in a data header that indicates to send data to a desired satellite; a second satellite sending data to a next hop towards the desired satellite based on the satellite ID in the data header using the routing tables; providing direct user terminal to user terminal communication without traversing gateways and associated terrestrial links by an originating user terminal first querying the RMF to determine if the RMF has up-to-date information about the satellite a destination user terminal is communicating with, wherein the RMF does have up-to-date information with a satellite ID, then the RMF conveys the satellite ID with which the destination user terminal is communicating to the originating user terminal to be used by the originating user terminal to populate data headers.
PCT/US2022/040103 2021-08-16 2022-08-11 Satellite communication system with software defined network orchestration WO2023022921A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA3228480A CA3228480A1 (en) 2021-08-16 2022-08-11 Satellite communication system with software defined network orchestration

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202163233738P 2021-08-16 2021-08-16
US63/233,738 2021-08-16
US17/535,823 2021-11-26
US17/535,823 US11916654B2 (en) 2021-08-16 2021-11-26 Integrated MEO-LEO satellite communication system
US17/565,574 2021-12-30
US17/565,574 US20230059780A1 (en) 2021-08-16 2021-12-30 Satellite communication system with software defined network orchestration

Publications (1)

Publication Number Publication Date
WO2023022921A1 true WO2023022921A1 (en) 2023-02-23

Family

ID=83193264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/040103 WO2023022921A1 (en) 2021-08-16 2022-08-11 Satellite communication system with software defined network orchestration

Country Status (1)

Country Link
WO (1) WO2023022921A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263042A1 (en) * 2010-10-04 2012-10-18 Telcordia Technologies, Inc. Method and system for determination of routes in leo satellite networks with bandwidth and priority awareness and adaptive rerouting
US9763167B2 (en) * 2014-08-03 2017-09-12 Hughes Network Systems, Llc Centralized ground-based route determination and traffic engineering for software defined satellite communications networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263042A1 (en) * 2010-10-04 2012-10-18 Telcordia Technologies, Inc. Method and system for determination of routes in leo satellite networks with bandwidth and priority awareness and adaptive rerouting
US9763167B2 (en) * 2014-08-03 2017-09-12 Hughes Network Systems, Llc Centralized ground-based route determination and traffic engineering for software defined satellite communications networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI SHUKUN ET AL: "Load-Balanced Cooperative Transmission in MEO-LEO Satellite Network", 2018 IEEE 32ND INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS (AINA), IEEE, 16 May 2018 (2018-05-16), pages 564 - 571, XP033383555, DOI: 10.1109/AINA.2018.00088 *

Similar Documents

Publication Publication Date Title
US11342987B2 (en) Satellite edge networks
WO2022160739A1 (en) Satellite network routing method, apparatus, device, and system, and readable storage medium
US20180309508A1 (en) Providing Continuous Two-Way High-Speed Data Transfer for Leo Based Satellites
US10674379B2 (en) Simultaneous channel switching within a mesh network
WO2015101203A1 (en) A method, a device, and a data transmission system for data transmission in a network system
US9485321B2 (en) Method and apparatus for brokering server and device communications and computer-readable storage medium for executing the method
US11916654B2 (en) Integrated MEO-LEO satellite communication system
CN112740723B (en) Low latency messaging service for 5GC
US10455564B2 (en) Simultaneous channel switching within a mesh network
US20210306206A1 (en) System for implementing a data protocol enabled application
US20230059780A1 (en) Satellite communication system with software defined network orchestration
WO2023022921A1 (en) Satellite communication system with software defined network orchestration
US20230075345A1 (en) Interference mitigation across multiple constellations in a satellite communication system
WO2023022920A1 (en) Integrated meo-leo satellite communication system
WO2022217613A1 (en) Data transmission method, device, and storage medium
US11963059B2 (en) Non-geostationary orbit (NGSO) and geostationary orbit (GEO) hybrid network for uninterrupted communications
US11875687B2 (en) Multipathing for unmanned aerial vehicle traffic
US9178604B2 (en) Last mile data delivery systems and methods
US11870865B2 (en) Distributed proxy for encrypted transport protocol with efficient multi-priority multiplexed transport for improving user's traffic QoS
US20210218631A1 (en) System for implementing a data link layer protocol in a compute host
US20240048470A1 (en) Network Performance Monitoring Devices
US20230147410A1 (en) Relating to access to services after a disaster condition
WO2024015986A1 (en) Space communication protocols
US20240049012A1 (en) Systems and Methods for Network Performance Monitoring
US20230344764A1 (en) Cost-effective control of multiple transports of an sd-wan gateway

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22765313

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 3228480

Country of ref document: CA

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112024002738

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2022765313

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022765313

Country of ref document: EP

Effective date: 20240318