Dynamic spectrum allocation in satellite data networks
The system dynamically allocates satellite spectrum to optimize utilization, addressing inefficiencies by enabling real-time availability determination and allocation, thereby enhancing connectivity and quality of service for new users.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- RBC SIGNALS LLC
- Filing Date
- 2025-12-09
- Publication Date
- 2026-06-18
AI Technical Summary
Satellite spectrum allocation is inefficient due to fixed licensing and underutilization, leading to spectrum holes and congestion, limiting new user access and hindering optimal spectrum use.
A system for dynamically allocating satellite spectrum through real-time availability determination, optimization, and allocation, ensuring primary user protection and quality of service, using a user input module, front-end module, and control module to manage and direct resources in a satellite data network.
Enhances spectrum utilization by allowing users to opportunistically access unused or underutilized spectrum, improving service connectivity and quality, and facilitating faster market entry for new users.
Smart Images

Figure US2025058814_18062026_PF_FP_ABST
Abstract
Description
Atty Dkt No.: 67907-701601DYNAMIC SPECTRUM ALLOCATION IN SATELLITE DATA NETWORKSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of Greek Application No. 20240100870, filed December 10, 2024, which is incorporated by reference herein in its entirety.BACKGROUND
[0002] Satellite spectrum can often be unused or underutilized at certain times or locations while heavily used at other times or locations thus creating both spectrum holes and congestion across space and time. At least 20%-40% of satellite spectrum may be unused or underutilized at any time, time period, or location. The fixed allocation and licensing of spectrum to incumbent users based on historic limitations of regulatory actions has created inefficient rigidity in spectrum allocation. Such rigidity has led to an inefficient and ineffective use of spectrum in an increasingly congested market. Existing users that hold or occupy spectrum that they may never use or use only occasionally can limit new user access to spectrum.
[0003] Recognized herein is a need for systems and methods that can dynamically allocate spectrum to or between users thereby allowing users to dynamically exploit unused or underutilized spectrum.SUMMARY
[0004] Systems and methods herein can provide technical solutions for dynamically allocating unused or underutilized satellite spectrum (or spectrum) in satellite data networks, which can include direct-to-device (D2D) networks. For example, technical solutions herein can determine and provide allocated spectrum to users while ensuring primary users and networks are protected from interference and delivering a guaranteed quality of service (QoS). Technical solutions herein can provide dynamic spectrum access to solve spectrum inefficiency problems by allowing users to opportunistically access unused or underutilized spectrum at optimal or user-defined times. Technical solutions herein can provide access to satellite terminals with wider spectrum capacity to capture service connectivity via a heterogeneous satellite data network of network spectra and technologies. Technical solutions herein can provide user access to spectrum according to the user’s desired usage patterns and service characteristics thereby capturing spectrum more efficiently and effectively in a transparent way. Technical solutions herein can provide simpler and accelerated time-to-market for new users thereby expanding internet of things (loT) service connectivity and spectrum access for loT ecosystems. In some cases, systems and methods hereinAtty Dkt No.: 67907-701601 may be interchangeably referred to as Spectrum Trade Orchestration and Resource Management (STORM).
[0005] In an aspect, disclosed herein is a system for dynamically allocating spectrum in a satellite data network, the system comprising: a user input module configured to receive a request by a user for spectrum access; a front-end module configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters; a back-end module configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders; and a control module configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network. In some embodiments, data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof. In some embodiments, the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal. In some embodiments, the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user. In some embodiments, the plurality of time periods comprises time periods that are continuous, noncontiguous, or any combination thereof. In some embodiments, the plurality of locations comprises locations that are geo-located, geographically distributed, or any combination thereof. In some embodiments, the plurality of channels comprises channels that are intra-channel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof. In some embodiments, the plurality of channels comprises channels in the VHF-band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band. In some embodiments, any channel of the plurality of channels has a utilization rate of less than about 95%. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters. In some embodiments, the system is operative as a cloud-based, ground station as a service (GSaaS) system. In some embodiments, the system is operative as an internet of things (loT) system. In some embodiments, the system is operative to communicate data during emergencies. In some embodiments, the system is operative in a direct-to-device (D2D) communication network. In some embodiments, the system is operative in a bidirectionalAtty Dkt No.: 67907-701601 intersatellite connection. In some embodiments, the user input module further comprises: a filter module configured to filter the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels; a mapping module configured to map the filtered spectrum availability to the optimized spectrum availability; and an analytics module configured to generate and display at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum. In some embodiments, the front-end module further comprises: a management module configured to determine and control user access to the allocated spectrum; an interference module configured to deconflict the user access to the allocated spectrum with a plurality of other users; and an analytics module configured to generate and display at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum. In some embodiments, the front-end module further comprises a channel optimization model configured to predict an impact of future channel usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the front-end module further comprises a location optimization model configured to predict an impact of future location usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the back-end module further comprises: a gateway processing module configured to automate communication of data in the satellite data network; an interference analysis module configured to determine anomalies in (i) the data or (ii) spectrum attributes associated with the data; a modem optimization module configured to automatically correct the determined anomalies; and an integration module configured to operatively couple the system to a plurality of nodes of the satellite data network, wherein the modules collectively operate to ensure regulatory compliance during the communication of the data in the satellite data network. In some embodiments, the control module further comprises: a measurement module configured to determine spectrum attributes associated with the allocated spectrum or use of the allocated spectrum; an alarm module configured to detect changes in the spectrum attributes that exceed a predetermined threshold; and a network topology module configured to process the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold. In some embodiments, the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
[0006] In another aspect, disclosed herein is a method for dynamically allocating spectrum in a satellite data network, the method comprising: (a) receiving a request by a user for spectrum access; (b) processing the request by determining spectrum availability in real time for a pluralityAtty Dkt No.: 67907-701601 of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels; (c) optimizing the spectrum availability based at least on using a set of parameters; and (d) allocating spectrum to the user based at least on processing the optimized spectrum availability. In some embodiments, data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof. In some embodiments, the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal. In some embodiments, the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user. In some embodiments, the plurality of time periods comprises time periods that are continuous, noncontiguous, or any combination thereof. In some embodiments, the plurality of locations comprises locations that are geo-located, geographically distributed, or any combination thereof. In some embodiments, the plurality of channels comprises channels that are intra-channel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof. In some embodiments, the plurality of channels comprises channels in the VHF-band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band. In some embodiments, any channel of the plurality of channels has a utilization rate of less than about 95%. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters. In some embodiments, the method is operative as a cloud-based, ground station as a service (GSaaS) system. In some embodiments, the method is operative as an internet of things (loT) system. In some embodiments, the method is operative to communicate data during emergencies. In some embodiments, the method is operative in a direct-to-device (D2D) communication network. In some embodiments, the method is operative in a bidirectional intersatellite connection. In some embodiments, the method further comprises: (a) filtering the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels; (b) mapping the filtered spectrum availability to the optimized spectrum availability; and (c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum. In some embodiments, the method further comprises: (a) determining and controlling user access to the allocated spectrum; (b) deconflicting the user access to the allocated spectrum with a plurality of other users; and (c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or theAtty Dkt No.: 67907-701601 allocated spectrum. In some embodiments, the method further comprises predicting an impact of future channel usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the method further comprises predicting an impact of future location usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the method further comprises: (a) automating communication of data in the satellite data network; (b) determining anomalies in (i) the data or (ii) spectrum attributes associated with the data; (c) automatically correcting the determined anomalies; and (d) operatively coupling to a plurality of nodes of the satellite data network, wherein performing (a) - (d) ensures regulatory compliance during the communication of the data in the satellite data network. In some embodiments, the method further comprises: (a) determining spectrum attributes associated with the allocated spectrum or use of the allocated spectrum; (b) detecting changes in the spectrum attributes that exceed a predetermined threshold; and (c) processing the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold. In some embodiments, the method further comprises: (a) determining a topology of the satellite data network for providing the allocated spectrum to the user; and (b) directing a plurality of resources to implement the topology of the satellite data network, wherein the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
[0007] In another aspect, disclosed herein is a computer program product for dynamically allocating spectrum in a satellite data network, the computer program product comprising at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising: an executable portion configured to receive a request by a user for spectrum access; an executable portion configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters; an executable portion configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders; and an executable portion configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network.
[0008] In another aspect, disclosed herein is a method for dynamically allocating spectrum in a satellite data network. In some embodiments, the method comprises (a) receiving a request by aAtty Dkt No.: 67907-701601 user for spectrum access. In some embodiments, the method comprises (b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and optimizing the spectrum availability based at least on using a set of parameters. In some embodiments, the method comprises (c) allocating spectrum to the user based at least on processing the optimized spectrum availability and displaying the allocated spectrum to the user or the plurality of spectrum holders. In some embodiments, the method comprises (d) determining a topology of the satellite data network for providing the allocated spectrum to the user and directing a plurality of resources to implement the topology of the satellite data network.
[0009] In another aspect, disclosed herein is a system comprising at least one processor and instructions executable by the at least one processor to cause the at least one processor to perform operations. In some embodiments, the operations comprise (a) receiving a request by a user for spectrum access. In some embodiments, the operations comprise (b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and optimizing the spectrum availability based at least on using a set of parameters. In some embodiments, the operations comprise (c) allocating spectrum to the user based at least on processing the optimized spectrum availability and displaying the allocated spectrum to the user or the plurality of spectrum holders. In some embodiments, the operations comprise (d) determining a topology of the satellite data network for providing the allocated spectrum to the user and directing a plurality of resources to implement the topology of the satellite data network.
[0010] Additional aspects and advantages of the present disclosure will become readily apparent from the following detailed description, wherein only illustrative embodiments of the present disclosure are shown and described. As will be realized, the present disclosure is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the present disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature and not as restrictive.INCORPORATION BY REFERENCE
[0011] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. To the extent publications and patents or patent applications incorporated by reference contradict theAtty Dkt No.: 67907-701601 present disclosure contained in the specification, the specification is intended to supersede and / or take precedence over any such contradictory material.BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The novel features of the present disclosure are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present disclosure will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the present disclosure are utilized, and the accompanying drawings of which:
[0013] FIG. 1 depicts an example high-level overview of a satellite data network configured with systems and methods herein (or Spectrum Trade Orchestration and Resource Management (STORM)) for capturing unused or underutilized spectrum, in some embodiments.
[0014] FIG. 2 depicts an example of unused or underutilized spectrum across different channels (or frequencies) and times that can be captured by systems and methods herein (or STORM), in some embodiments.
[0015] FIG. 3 depicts an example high-level flow of data between different users using systems and methods herein (or STORM), in some embodiments.
[0016] FIGs. 4A-4E depict an example architecture of systems herein (or STORM) configured to perform certain methods for dynamically allocating spectrum to a user in a satellite data network. FIG. 4A depicts an example high-level architecture of systems and methods herein, which can include: a portal, a front-end module, a back-end module, or a ground station as a service (GSaaS). FIG. 4B depicts an example architecture of the user input module (or portal) of systems and methods herein, which can include modules configured to: receive user inputs via a user interface (UI), review input requirements, view filtering history, perform data services, or store data in databases. FIG. 4C depicts an example architecture of the front-end module of systems and methods herein, which can include modules configured to: process user applications, manage user access and permissions, process spectrum licenses, optimize frequency resources, optimize location resources, perform security checks for access to data, audit data or records in databases, process data or records in databases, processing commercial transactions, determine regulatory compliance, process complaints by users, perform interference checks for access to spectrum, analyze data and generate reports, and enable security protocols. FIG. 4D depicts an example architecture of the back-end module of systems and methods herein, which can include modules configured to: perform gateway processing for flow of data to or from a ground station, control network switches in a ground station, optimize modems in a ground station, perform spectrumAtty Dkt No.: 67907-701601 resource management, optimize use of spectrum based on location of ground stations, satellites, or user terminals, integrate data with other ground stations or satellites, analyze or characterize spectrum interference, determine time-scheduling of spectrum, and enable security protocols. FIG. 4E depicts an example architecture of the control module of systems and methods herein, which can include modules configured to: control antennas of ground stations, control power and modulation parameters of modems of ground stations, control frequencies of modulators across different ground stations, synchronize time of operation of modulators across different ground stations, direct emergency response and disaster recovery efforts, determine or receive measurements related to operation of STORM, and determine alerts or warnings related to operation of STORM.
[0017] FIGs. 5A-5D depict an example use of operating systems and methods herein (or STORM) for dynamically allocating spectrum to a user. FIG. 5A depicts an example secure high-level flow of data between satellite operators or operations, STORM, a testing ground station, and a modulator. FIG. 5B depicts that the satellite operators or operations can be configured to (i) generate a spectrum schedule and (ii) transmit the spectrum schedule to STORM using a secure internet protocol (IP) tunnel. FIG. 5C depicts that systems and methods and be configured to (i) receive the spectrum schedule through the secure IP tunnel, (ii) generate a ground station configuration from the spectrum schedule, and (iii) transmit the ground station configuration to the testing ground station using a secure IP tunnel. FIG. 5D depicts that the testing ground station can be configured to (i) receive the ground station configuration through the secure IP tunnel and (ii) load the ground station configuration for operating during a time window. FIG. 5D further depicts that the modulator can be configured to (i) receive commands or controls from the testing ground station through a secure virtual private network (VPM) and (ii) generate a modulated waveform and monitor the modulated waveform during the time window.
[0018] FIG. 6 depicts example commands during operation of systems and methods herein (or STORM), in some embodiments.
[0019] FIG. 7 depicts an example architecture of systems herein (or STORM) configured to perform certain methods for performing a global on-demand bidirectional intersatellite connection (or Go. BIC) service.
[0020] FIG. 8 depicts example high-level workflows for use cases associated with a Go. BIC service.
[0021] FIG. 9 depicts a non-limiting example of a computing device configured to perform methods herein, in some embodiments.Atty Dkt No.: 67907-701601
[0022] FIG. 10 depicts a non-limiting example of a web / mobile application provision system configured to perform methods herein, in some embodiments.
[0023] FIG. 11 depicts a non-limiting example of a cloud-based web / mobile application provision system configured to perform methods herein, in some embodiments.DETAILED DESCRIPTION
[0024] While various embodiments of the present disclosure have been shown and described herein, such embodiments are provided by way of example only. Numerous variations, changes, or substitutions may occur without departing from the present disclosure. It should be understood that various alternatives to the embodiments of the present disclosure described herein may be employed.Overview
[0025] Typical systems and methods for allocating spectrum in a satellite data network are deficient. For example, satellite spectrum can often be unused or underutilized at certain times or locations while heavily used at other times or locations thus creating both spectrum holes (or white space) and congestion across space and time. The fixed allocation of spectrum to incumbent users based on historic limitations of regulatory auctions has created inefficient rigidity in spectrum allocation. Such rigidity has led to an inefficient and ineffective use of spectrum in an increasingly congested market. Existing users that hold or occupy spectrum that they may never use or use only occasionally can limit new user access to spectrum.
[0026] Recognized herein is a need for systems and methods that can provide technical solutions for at least managing spectrum, allocating or trading spectrum, ensuring interoperability with satellite data networks, optimizing spectrum use, and complying with international standards or regulatory bodies. For example, spectrum management can be enabled by managing spectrum allocation and utilization of spectrum resources based on demand, usage patterns, and other criteria. Spectrum allocation or trading can be enabled by automating the process of negotiating and executing spectrum transactions thereby making it easier for users to acquire or swap the spectrum they need to power satellite connectivity. Interoperability can be enabled by using different types of RF radios and other spectrum management services thereby allowing users to manage spectrum resources across heterogeneous communication networks and technologies. Optimizing spectrum use can be enabled by optimizing use of available spectrum resources to increase capacity, improve coverage, and deliver better quality of service. International standards and regulatory compliance can be enabled by monitoring and reporting spectrum usage to keepAtty Dkt No.: 67907-701601 users within their allocated spectrum bands or channels and adhere to other regulatory requirements.
[0027] Systems and methods herein can transform static or stagnant spectrum allocation into a framework that can dynamically allocate spectrum to users. For example, software-defined radios (SDR) can be used to improve management and allocation of radio frequency (RF) resources in satellite data networks. Allocation of unused or underutilized RF spectrum can be optimized using methods herein to make spectrum resources available to more users. In some cases, systems and methods herein can include, e.g., both space components and ground components to manage spectrum services for users. For example, space or ground components can include satellites across different orbits, ground stations and gateways, user terminals, data streaming, data services, and the like. Services can include, e.g., data streaming services, network management services, and the like. For example, systems and methods herein can combine terrestrial networks and satellite networks, e.g., a direct-to-device (D2D) network, into an efficient and effective solution for users. For example, systems and methods herein can provide mobile solutions that allow users to access satellite data networks anywhere in the range of relevant cellular (or terrestrial) networks. Such mobile solutions can support communications when users move within a cellular site area and between cellular site areas. For example, systems and methods herein can enable more efficient use of limited and valuable electromagnetic (EM) spectrum. The EM spectrum can be viewed as an increasingly congested and finite resource especially as demand for wireless services continues to grow.
[0028] Compared to systems and methods herein, typical spectrum allocation can be static and limit wireless service providers from accessing spectrum resources thereby resulting in spectrum scarcity, inefficiency, and underutilization. In contrast, systems and methods herein can provide a technical solution for allocating unused or underutilized spectrum thereby effectively increasing spectrum availability and resources through a more flexible and adaptive approach to spectrum management. For example, enabling multiple users to share the same spectrum resources based on their changing requirements can improve access to spectrum resources. Systems and methods herein can create new opportunities for innovation and competition in the wireless industry. Such opportunities can enable new users to access spectrum resources and compete with established (or incumbent) users. This can lead to more diverse and innovative wireless services and ultimately benefit consumers by improving service quality and lowering costs. For example, systems and methods herein can provide significant economic and social benefits. Enabling deployment of newAtty Dkt No.: 67907-701601 wireless technologies and services that can drive economic growth, improve public safety and emergency response, and enhance the quality of life for people around the world.
[0029] For example, FIG. 1 depicts an example high-level overview of a satellite data network configured with systems and methods herein (or Spectrum Trade Orchestration and Resource Management (STORM)) for capturing unused or underutilized spectrum. For example, systems and methods herein can dynamically track different satellites at different times in different locations to provide short window bursts of connectivity to spectrum. Different satellites can occupy different orbits. In some cases, systems and methods herein integrate with at least 1, 10, 100, 1000, and increments therein, or more satellites. Different satellites can be located in different locations around Earth. In some embodiments, the plurality of locations comprises locations that are geo-located, geographically distributed, or any combination thereof. Each satellite may transmit or receive data over different channels (or frequencies). In some embodiments, the plurality of channels comprises channels in the VHF-band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band.
[0030] In some embodiments, data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof. The data may be used in different industries. The data may be used at different scales or segments, e.g., regional segments and global segments. The data may be useable in an internet of things (loT) ecosystem. Different ground stations on Earth can be configured to transmit or receive data to or from the different satellites. In some cases, systems and methods herein can integrate with at least 1, 10, 100, 1000, and increments therein, or more ground stations. Data received by a ground station from different satellites over different periods of time can be shared with other ground stations through a cloud computing platform. The shared data can be processed to optimize spectrum availability and spectrum allocation to different users in a continuous and transparent way. In some embodiments, the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user. In some cases, the continuous data link can include, e.g., voice communications, video communication, telemetry data, mission-critical information, and the like.
[0031] For example, FIG. 2 depicts an example of unused or underutilized spectrum across different channels (or frequencies) and times that can be captured by systems and methods herein (or STORM). Systems and methods herein can determine unused or underutilized spectrum (or white space) across different channels (or frequencies) and times. By operatively stitching together the unused or underutilized spectrum, systems and methods herein can provide an extensive virtualAtty Dkt No.: 67907-701601 network of continuous spectrum availability with sufficient usable coverage across heterogeneous satellite spectrum services. In some cases, systems and methods herein can dynamically allocate at least 5%, 10%, 20%, and increments therein, or more of the unused or underutilized spectrum to users. In some cases, additional spectrum may be set aside as a minimum channel (or frequency) separation between neighboring channels (or frequencies) to minimize or buffer interference that may otherwise degrade neighboring services. Said minimum frequency separation can further create inefficiencies in allocating spectrum. For example, inefficiencies can include unused or underutilized spectrum. Systems and methods herein can determine spectrum allocation in view of technical or operational rules designed to minimize or buffer said interference thereby improving or increasing available spectrum for users.
[0032] In some embodiments, the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user. For example, different satellites may operate at different times, locations, orbits, and channels to transmit or receive data to or from different ground stations. The different satellites may only transmit or receive data at certain times, locations, or channels. The certain times, locations, or channels can result in unused or underutilized spectrum. In some embodiments, the plurality of channels comprises channels in the VHF-band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band. Different ground stations may operate at different times, locations, and channels to transmit or receive data to or from the different satellites. Systems and methods herein can determine unused or underutilized spectrum as satellites and ground stations operate at the different times, locations, orbits, and channels to transmit or receive the data. The unused or underutilized spectrum can be allocated to users to provide a continuous data link for users.
[0033] In some embodiments, the plurality of time periods comprises time periods that are continuous, non-contiguous, or any combination thereof. In some embodiments, the plurality of channels comprises channels that are intra-channel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof. In some embodiments, any channel of the plurality of channels has a utilization rate of less than about 95%. In some cases, the utilization rate can be 90%, 80%, 70%, 60%, 50%, and increments therein, or less. For example, a satellite data network may include any number of satellites (e.g., satellite, 1, 2, 3, and so on). Each satellite may transmit or receive data over a certain channel (or frequency) at certain times. Satellite 1 may transmit or receive data over frequency 1 at time periods ti. i, ti.2, and so on thereby creating unused or underutilized spectrum (or white space) for satellite 1. Satellite 2 may transmit or receive dataAtty Dkt No.: 67907-701601 over frequency 2 at time periods t2.i and so on thereby creating unused or underutilized spectrum (or white space) for satellite 2. Satellite 3 may transmit or receive data over frequency 3 at time periods ts.i, t3.2, t3.3, t3.4, and so on thereby creating unused or underutilized spectrum (or white space) for satellite 3. Satellite n may transmit or receive data over frequency n at time periods tn.i, tn.2, tn.3, and so on thereby creating unused or underutilized spectrum (or white space) for satellite n. Systems and methods herein can determine the unused or underutilized spectrum for dynamically allocating spectrum to different users in a continuous way.
[0034] For example, FIG. 3 depicts an example high-level flow of data between different users using systems and methods herein (or STORM). Users can include, e.g., spectrum holders who hold a license for spectrum but may not continuously use said spectrum. Users can include, e.g., spectrum users who have a need for said spectrum. Systems and methods herein can allocate unused or underutilized spectrum to spectrum users from spectrum holders. In some embodiments, the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal. In some cases, spectrum holders or spectrum users can include, e.g., satellite operators, internet of things (loT) operators, terrestrial telecommunication network operators, satellite network operators, intersatellite communication operators, low earth orbit (LEO) operators, telemetry, tracking, and command (T&TC) services, command and control (C&C) services to launch industry, and the like. In some cases, systems and methods herein can dynamically allocate spectrum between a number of spectrum holders and spectrum users. For example, the number of spectrum holders or spectrum users can include at least 1, 10, 1000, 10,000, 100,000, and increments therein, or more.
[0035] For example, as further depicted in FIG. 3, systems and methods herein can receive or determine contributions (or spectrum availability or spectrum schedules) from spectrum holders. The spectrum availability can be processed in times, locations, or channels to optimize the spectrum availability for dynamic allocation to spectrum users. Systems and methods herein can receive or determine requests (or requests for spectrum) from spectrum users. The requests for spectrum can be processed in times, locations, or channels to dynamically allocate spectrum to the spectrum users based at least the optimized spectrum availability. Based on the allocated spectrum, systems and methods herein can request resources (or available spectrum) from the spectrum holders for providing the allocated spectrum to the spectrum users. Systems and methods herein can determine hardware configurations (or configurations of ground stations or satellites) to ensure tracking appropriate satellites for transmitting and receiving the data over the allocated spectrum. In some cases, configuring ground stations can include, e.g., directing or controlling a plurality ofAtty Dkt No.: 67907-701601 resources at a ground station. For example, the plurality of resources can include satellite modems, signal modulators, satellite antennas, and the like.Systems for dynamically allocating spectrum
[0036] In an aspect, disclosed herein is a system 400 for dynamically allocating spectrum in a satellite data network. In some embodiments, the system 400 comprises a user input module 410 configured to receive a request by a user for spectrum access. In some embodiments, the system 400 comprises a front-end module 420 configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters. In some embodiments, the system 400 comprises a back-end module 430 configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders. In some embodiments, the system 400 comprises a control module 440 configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network.
[0037] FIGs. 4A-4E depict an example architecture of system 400 (or STORM) configured to perform certain methods for dynamically allocating spectrum to a user in a satellite data network. For example, FIG. 4A depicts system 400, which can include: a user input module 410 (or portal), a front-end module 420, a back-end module 430, or a control module 440. Each module can include submodules, features, or services for performing methods herein.
[0038] In some cases, user input module 410 can be configured to: receive requests for spectrum from users; determine user requirements from the requests; allow users to filter and search available spectrum; allow users to manage spectrum resources; process and use historical data related to spectrum resources; allow users to renew spectrum resources; and automatically generate advanced analytics and reports for users.
[0039] In some cases, front-end module 420 can be configured to: process requests for spectrum from users; manage user access and permissions; process new spectrum licenses or renewal of spectrum licenses; optimize channel (or frequency) resources; optimize location resources; perform role-based access control; process transactions associated with allocating spectrum between users; manage transactions associated with allocating spectrum between users; perform utility services for database resources; determine compliance with international standards orAtty Dkt No.: 67907-701601 regulatory bodies; process complaints by users; determine frequency or location interference; automatically generate advanced analytics and reports for users; and implement security protocols.
[0040] In some cases, back-end module 430 can be configured to: manage the flow of data through a ground station or between ground stations; control network switches for the flow of data; optimize modem configurations for transmitting or receiving data over channels (or frequencies); manage spectrum resources; determine or process locations of ground stations, satellites, and user terminals; integrate with other ground stations, satellites, and user terminals; determine actions to address channel (or frequency) interference; determine time-scheduling of allocated spectrum; and implement security protocols.
[0041] In some cases, control module 440 can be configured to: remotely control antennas at ground stations to communicate with satellites; remotely control power and modulation parameters to communicate with satellites; remotely control channels (or frequencies) of modulators used in ground stations to communicate with satellites; remotely control time of operation of modulators in ground stations to communicate with satellites; support emergency response and disaster recovery efforts; determine measurements related to satellite communication and signal quality; modify network topologies of satellite data networks; and provide alarms and alerts for events related to satellite communication and spectrum management. In some cases, control module 440 can be configured as a ground station as a service (GSaaS). A GSaaS can include a cloud-based service that allows users to remotely access and control ground stations using internet protocols. The GSaaS can be configured to control antennas for tracking satellites, provide backhaul loT connectivity, or distribute data streams to cloud services or on-premise data centers.
[0042] In some cases, system 400 comprises a certified system using independent certifications. For example, system 400 may be certified to IS027001, CyberEssentials+, or ISO22301 standards. The IS027001 standard can include certification for establishing and maintaining an information security management system (ISMS). The CyberEssentials+ standard can include certification for demonstrating an ability to protect against common cyberattacks. The ISO22301 can include certification for business continuity and disaster preparedness. In some cases, system 400 comprises a regulatory compliant system. For example, system 400 may be in regulatory compliance with regulatory bodies. Regulatory bodies can include national regulatory bodies such as the United Kingdom Space Agency (UKSA) and the UK Office of Communications (OFCOM). Regulatory bodies can include international bodies like the European Space Agency (ESA) or the International Telecommunication Union (ITU).
[0043] A further description of different aspects of system 400 is now provided.Atty Dkt No.: 67907-701601User input module (or portal)
[0044] In some embodiments, the user input module 410 further comprises a filter module configured to filter the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels. In some embodiments, the user input module 410 further comprises a mapping module configured to map the filtered spectrum availability to the optimized spectrum availability. In some embodiments, the user input module 410 further comprises and an analytics module configured to generate and display at least spectrum attributes associated with, e.g., the user, the plurality of spectrum holders, or the allocated spectrum.
[0045] User input module 410 can provide technical solutions for users to understand, navigate, and acquire available spectrum at scale for dynamically allocating spectrum to users. User input module 410 can include a graphical user interface (GUI) configured with operable or mani pulable menus, dashboards, maps, visualizations (e.g., graphical reports), and the like. For example, FIG. 4B depicts an example architecture of user input module 410 of system 400, which can include submodules, features, or services (not all shown) configured to: receive requests for spectrum from users; determine user requirements from the requests; allow users to filter and search available spectrum; allow users to manage spectrum resources; process and use historical data related to spectrum resources; allow users to renew spectrum resources, and automatically generate advanced analytics and reports for users.
[0046] As further depicted in FIG. 4B, user input module 410 can include at least submodules, features, or services 411, 412, 413, 414, and 415. Collectively, the submodules, features, or services can be configured to implement certain methods of user input module 410. For example, user input module 410 can be configured to receive inputs from users (e.g., requests for spectrum). Inputs can be analytically prepared by time or channels (or frequencies) of requested spectrum. Users can be authenticated using multi-factor authentication or single sign-on. Users can be authenticated by providing identifying information, satisfying legal requirements, using know your customer (KYC) information. Users can nominate other users as trusted users thereby permitting other users to access user input module 410.
[0047] For example, user input module 410 can be configured to process inputs (e.g., requests for spectrum by users). Inputs can be processed to capture user requirements and confirm a user need for spectrum. User requirements or needs can include requirements or needs, e.g., an amount of spectrum, frequency bands, power limits, locations, modulation schemes, technical specifications, and the like. User input module 410 can process user requirements or needs using an algorithmAtty Dkt No.: 67907-701601(e.g., a filtering, searching, or matching algorithm) for determining or matching requests for spectrum with available spectrum.
[0048] For example, user input module 410 can be configured to filter and search spectrum resources thereby allowing users to efficiently explore, navigate, and manage available spectrum or allocated spectrum. Filtering options can include, e.g., channels (or frequencies), times or time periods, locations, power levels, modulation schemes, channel interference, and the like. User input module 410 can process filtered user requirements or needs using an algorithm for determining or matching filtered requests for spectrum with available spectrum.
[0049] For example, user input module 410 can be configured to provide users with a centralized and customizable interface for managing spectrum resources. The interface can provide important insights through presentation or display of advanced data analytics and reporting. The interface can allow users to view or control spectrum resources, spectrum demand, spectrum used the user, spectrum interference, advance data analytics and reporting, user management, user notifications, and the like.
[0050] For example, user input module 410 can be configured to provide users with historical data and audit trails on various aspects or use of spectrum resources, available spectrum, and allocated spectrum. Historical data and audit trails can provide important insights to help users make informed decisions about use of spectrum resources. Users can efficiently access and analyze historical data through customizable options for visualizing and presenting the data in ways that meet user needs. Such visualization can include, e.g., historical spectrum utilization, spectrum demand, interference, and the like. Such visualization can be based on advanced data analytics that allow users to better understand trade volumes, spectrum usage patterns, interference trends, and the like.
[0051] For example, user input module 410 can be configured to support renewal of spectrum resources by providing users a streamlined and efficient process for renewing spectrum resources. Renewing spectrum resources can include, e.g., renewing a license for spectrum. Advanced data analytics can provide important insights to help users make informed decisions about renewing spectrum resources.
[0052] For example, user input module 410 can be configured to generate advanced data analytics and reporting. As mentioned, advanced data analytics and reporting tools can allow users to monitor spectrum usage, identify trends, make informed decisions about spectrum utilization, and the like. User input module 410 can provide tools which allow users to generate reports andAtty Dkt No.: 67907-701601 visualizations on demand to help users understand trends and patterns in spectrum resources, available spectrum, spectrum demand, and allocated spectrum.Front-end module
[0053] In some embodiments, the front-end module 420 further comprises a management module configured to determine and control user access to the allocated spectrum. In some embodiments, the front-end module 420 further comprises an interference module configured to deconflict the user access to the allocated spectrum with a plurality of other users. In some embodiments, the front-end module 420 further comprises an analytics module configured to generate and display at least spectrum attributes associated with, e.g., the user, the plurality of spectrum holders, or the allocated spectrum.
[0054] Front-end module 420 can provide technical solutions for dynamically allocating spectrum to users. Front-end module 420 can include a graphical user interface (GUI) configured with operable or manipulable menus, dashboards, maps, visualizations (e.g., graphical reports), and the like. For example, FIG. 4C depicts an example architecture of front-end module 420 of system 400, which can include submodules, features, or services (not all shown) configured to: process requests for spectrum from users; manage user access and permissions; process new spectrum licenses or renewal of spectrum licenses; optimize channel (or frequency) resources; optimize location resources; perform role-based access control; process transactions associated with allocating spectrum between users; manage transactions associated with allocating spectrum between users; perform utility services for database resources; determine compliance with international standards or regulatory bodies; process complaints by users; determine frequency or location interference; automatically generate advanced analytics and reports for users; and implement security protocols.
[0055] As further depicted in FIG. 4C, front-end module 420 can include at least submodules, features, or services 421, 422, 423, 424, 425, 426, and 427. Collectively, the submodules, features, or services can be configured to implement certain methods of front-end module 420. For example, front-end module 420 can be configured to receive user requests and data from user input module 410. Front-end module 420 can process and transform the user requests and data into a user application useable for determining spectrum resource needs. A user interface (or dashboard) can be configured to display certain information determined from the user application. For example, the user interface can display important data or information associated with, e.g., a user’s spectrum resources, spectrum availability, spectrum usage, spectrum allocation, and the like.Atty Dkt No.: 67907-701601
[0056] For example, front-end module 420 can be configured with user tools which allow a user to manage user access and permissions and to control access to spectrum resources. Access and permissions can be determined using different levels (or tiers) of access for different types of users. Users can also manage user profiles and preferences.
[0057] For example, front-end module 420 can be configured to issue new spectrum licenses, renew existing spectrum licenses, and locate spectrum licenses. In some cases, front-end module 420 can determine whether all conditions for renewing a spectrum license have been satisfied before issuing or renewing the spectrum license. In some cases, front-end module 420 can determine whether all conditions for issuing a new spectrum license have been satisfied before issuing or renewing the spectrum license.
[0058] For example, front-end module 420 can be configured to optimize channels (or frequencies) associated with spectrum resources, spectrum availability, or allocated spectrum. In some embodiments, the front-end module further 420 comprises a channel optimization model configured to predict an impact of future channel usage on operations associated with, e.g., the user or the plurality of spectrum holders. The channel optimization model can help users to optimize use of channels (or frequencies) associated with, e.g., spectrum resources. For example, the channel optimization model can determine optimal actions for automatically scheduling and orchestrating spectrum, based at least on channels of resources, across multiple spectrum holders and spectrum users thereby reducing, mitigating, or eliminating conflicts in spectrum utilization. In some cases, the channel optimization model may determine to allocate spectrum on a first-come, first-serve basis. The channel optimization model can be configured with user tools that allow a user to view or perform spectrum analysis, frequency planning, spectrum monitoring, frequency usage monitoring, frequency modeling, and the like. In some cases, optimizing channels (or frequencies) can be based on a set of parameters. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
[0059] For example, front-end module 420 can be configured to optimize locations associated with spectrum resources, spectrum availability, or allocated spectrum. In some embodiments, the frontend module 420 further comprises a location optimization model configured to predict an impact of future location usage on operations associated with the user or the plurality of spectrum holders. The location optimization model can help users to optimize use of locations associated with, e.g., spectrum resources. For example, the location optimization model can determine optimal actions for automatically scheduling and orchestrating spectrum, based at least on locations of resources,Atty Dkt No.: 67907-701601 across multiple spectrum holders and spectrum users thereby reducing, mitigating, or eliminating conflicts in utilization of available spectrum. In some cases, the location optimization model may use an orbital mechanics framework to determine an optimal or preferred line of sight between a satellite and a ground station. The location optimization model can be configured with user tools that allow a user to view or perform location analysis, location planning, location modeling, and the like. In some cases, optimizing location can be based on a set of parameters. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
[0060] For example, front-end module 420 can be configured to provide role-based access control to specific data records or to certain types of spectrum allocation transactions. Role-based access control can be determined using different levels (or tiers) of access for different types of users.
[0061] For example, front-end module 420 can be configured to perform audit functions. Audit functions can include, e.g., creating a record in a database when data is entered, registering the data, and stamping the record with a time and an identity of a user who performs the data entry.
[0062] For example, front-end module 420 can be configured to review, update, and print all data or records (e.g., tables) used by system 400 when determining spectrum resources, spectrum availability, or allocated spectrum. Access to data and records can be limited to users having user types with authorized access or privileges.
[0063] For example, front-end module 420 can be configured to manage financial functions associated with dynamically allocating spectrum to a user. Financial functions can include, e.g., billing, recording payments, generating financial statements, and the like.
[0064] For example, front-end module 420 can be configured to determine or manage compliance with international standards or regulatory bodies related to spectrum management and satellite communications. Users can receive generate compliance reports and monitor compliance status.
[0065] For example, front-end module 420 can be configured to process and handle complaints by users. Processing and handling complaints can ensure to enforce fair and equitable access to spectrum resources. An audit trail can be used to track actions for handling complaints, e.g., notifying a complainant of the status of a complaint and actions taken to resolve the complaints that comply with international standards or regulatory bodies. Front-end module 420 can also generate actions or feedback for a user to perform in order to avoid similar complaints in the future.
[0066] For example, front-end module 420 can be configured to determine and mitigate interference in system 400. Interference can include, e.g., conflicts in use of channel (orAtty Dkt No.: 67907-701601 frequencies), locations, or times or time periods associated with spectrum resources, spectrum availability, or allocated spectrum. Determining or mitigating interference can involve or use a combination of channel (or frequency) information, location information, propagation models, interference analysis, and mitigation actions or strategies. Determining or mitigating interference can help ensure that users have fair and equitable access to spectrum resources.
[0067] For example, front-end module 420 can be configured to generate advanced data analytics and visualizations (or graphical reports). Advanced data analytics and visualizations can enable users to monitor spectrum usage, identify trends, and make informed decisions about spectrum utilization. Users can automatically generate graphical reports on demand to help them understand trends and patterns in spectrum resources.
[0068] For example, front-end module 420 can be configured with security protocols. Security protocols can ensure secure methods are in place to protect against unauthorized access, data breaches, security threats, and the like. Security protocols can include, e.g., using industrystandard encryption and authentication protocols. Security protocols can include, e.g., best practice configurations which will be monitored for potential security breaches based on best practices such as IS027001, CyberEssentials+, CIM Benchmarks and OWASP guidelines.Back-end module
[0069] In some embodiments, the back-end module 430 further comprises a gateway processing module configured to automate communication of data in the satellite data network. In some embodiments, the back-end module 430 further comprises an interference analysis module configured to determine anomalies in (i) the data or (ii) spectrum attributes associated with the data. In some embodiments, the back-end module 430 further comprises a modem optimization module configured to automatically correct the determined anomalies. In some embodiments, the back-end module 430 further comprises an integration module configured to operatively couple the system 400 to a plurality of nodes of the satellite data network. In some embodiments, the modules collectively operate to ensure regulatory compliance during the communication of the data in the satellite data network.
[0070] Back-end module 430 can provide technical solutions for dynamically allocating spectrum to users. Back-end module 410 can include a graphical user interface (GUI) configured with operable or manipulable menus, dashboards, maps, visualizations (e.g., graphical reports), and the like. For example, FIG. 4D depicts an example architecture of back-end module 430 of system 400, which can include submodules, features, or services (not all shown) configured to: manage the flow of data through a ground station or between ground stations; control network switches forAtty Dkt No.: 67907-701601 the flow of data; optimize modem configurations for transmitting or receiving data over channels (or frequencies); manage spectrum resources; determine or process locations of ground stations, satellites, and user terminals; integrate with other ground stations, satellites, and user terminals; determine actions to address channel (or frequency) interference; determine time-scheduling of allocated spectrum; and implement security protocols.
[0071] As further depicted in FIG. 4D, user back-end module 430 can include at least submodules, features, or services 431, 432, 433, 434, and 435. Collectively, the submodules, features, or services can be configured to implement certain methods of back-end module 430. For example, back-end module 430 can be configured to perform gateway processing of a ground station, which can include a combination of technical and operational tasks for managing flow of data through the ground station and for ensuring compliance with international standards and regulatory bodies.
[0072] For example, back-end module 430 can be configured to determine or control network switches or switching in a ground station. Determining or controlling network switches or switching can include, e.g., determining network configurations, mapping network traffic, monitoring performance, managing security protocols, and the like. Determining or controlling network switches or switching can enable optimal network performance and security while minimizing latency. Determining or controlling network switches or switching can ensure compliance with international standards and regulatory bodies.
[0073] For example, back-end module 430 can be configured to optimize modems in a ground station or grounds. In some cases, the back-end module 430 further comprises a modem optimization model configured to predict an impact of future network usage on operations associated with, e.g., the user or the plurality of spectrum holders. Optimizing modems can include, e.g., configuring modems, monitoring modem performance, managing modem interference, and the like. Optimizing modems can ensure optimal communication performance while minimizing communication errors and interference. Optimizing modems can ensure compliance with international standards and regulatory bodies. In some cases, optimizing modems can be based on a set of parameters. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameter.
[0074] For example, back-end module 430 can be configured to determine and allocate spectrum to users. In some cases, back-end module 430 further comprises a spectrum allocation model configured to generate a list of available channels (or frequencies), times or time periods, locations, associated transmit powers, cost, terms, area options, and the like. For example, the spectrumAtty Dkt No.: 67907-701601 allocation model can determine optimal actions for automatically scheduling and orchestrating spectrum, based at least on licensed spectrum and compatibility, across multiple spectrum holders and spectrum users thereby reducing, mitigating, or eliminating conflicts in utilization of available spectrum. In some cases, the spectrum allocation model may determine what licensed channels (or frequencies) that (i) a spectrum holder has licensed and (ii) a spectrum user can utilize with the user’s resources, thereby allocating spectrum to the user when the user has resources compatible with using the allocated spectrum. Back-end module 430 can include a database to store data or information associated with, e.g., spectrum resources, spectrum availability, spectrum usage, spectrum allocation, and the like. Back-end module 430 can include user tools for automatically reallocating spectrum resources. Back-end module 430 can include a user interface configured to allow users to view and manage their spectrum resources, spectrum availability, or allocated spectrum.
[0075] For example, back-end module 430 can be configured to analyze location data of ground stations, satellites, and user terminals. Analyzed location data can be used to optimize use of available spectrum thereby providing better utilization of available spectrum. In some cases, back- end module 430 can allocate channels (or frequencies) that are less crowded or less prone to interference based on a set of parameters, which can improve communication performance. In some cases, optimizing locations can be based on a set of parameters. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
[0076] For example, back-end module 430 can be configured to integrate system 400 with other ground stations, satellites, or user terminals. Ground stations can be of the same type, different types, or a combination thereof. Different types of ground stations can include, e.g., civil ground stations, military ground stations, broadcasting ground stations, navigation ground stations, experimental ground stations, telemetry, tracking, and command (TT&C) stations, dedicated satellite tracking stations, and the like. Back-end module 430 can provide users with data on spectrum resources, spectrum usage, spectrum availability, allocated spectrum, and the like. Back- end module 430 can include tools for, e.g., monitoring signal quality and other key metrics. Satellites can be of the same type, different types, or a combination thereof. Different types of satellites can include, e.g., low earth orbit (LEO) satellites, medium earth orbit (MEO) satellites, geostationary orbit (GEO) satellites, and the like. User terminals can be of the same type, different types, or a combination thereof. Different types of user terminals can include, e.g., very small aperture terminals (VSATs), broadband global area network (BGAN) terminals, maritimeAtty Dkt No.: 67907-701601 terminals, airborne terminals, military terminals, fixed terminals, nomadic terminals, and terminals categorized by channel (or frequency), e.g., L-band, Ku-band, and Ka-band.
[0077] For example, back-end module 430 can be configured to perform interference analysis and to provide actionable information to users. Such analysis can include, e.g., characterizing interference in terms of channels (or frequencies), power, modulation characteristics, and the like. Such analysis can be used to determine the impact of interference on communication performance and to automatically identify potential measures to minimize interference.
[0078] For example, back-end module 430 can be configured to assign spectrum based on spectrum characteristics that may be time-limited or on an arranged schedule. Such assignment may be determined from user requirements or availability from network operators reserving the assignment. Back-end module 430 can enable an automated coordination system, which can be communicated back to a user. In some cases, an alternative channel or power level can be determined or allocated when an initial request for spectrum is denied.
[0079] For example, back-end module 430 can be configured with security protocols to protect against unauthorized access, data breaches, security threats, and the like.Control module
[0080] In some embodiments, the control module 440 further comprises a measurement module configured to determine spectrum attributes associated with the allocated spectrum or use of the allocated spectrum. In some embodiments, the control module 440 further comprises an alarm module configured to detect changes in the spectrum attributes that exceed a predetermined threshold. In some embodiments, the control module 440 further comprises a network topology module configured to process the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold. In some embodiments, the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
[0081] Control module 440 can provide technical solutions for dynamically allocating spectrum to users. Control module 440 can include a graphical user interface (GUI) configured with operable or manipulable menus, dashboards, maps, visualizations (e.g., graphical reports), and the like. For example, FIG. 4E depicts an example architecture of control module 440 of system 400, which can include submodules, features, or services (not all shown) configured to: remotely control antennas at ground stations to communicate with satellites; remotely control power and modulation parameters to communicate with satellites; remotely control channels (or frequencies) of modulators used in ground stations to communicate with satellites; remotely control time ofAtty Dkt No.: 67907-701601 operation of modulators in ground stations to communicate with satellites; support emergency response and disaster recovery efforts; determine measurements related to satellite communication and signal quality; modify network topologies of satellite data networks; and provide alarms and alerts for events related to satellite communication and spectrum management.
[0082] As further depicted in FIG. 4D, user control module 440 can include at least submodules, features, or services 441, 442, 443, 444, and 445. Collectively, the submodules, features, or services can be configured to implement certain methods of control module 440. In some cases, control module 440 can be configured as a cloud-based, ground station as a service (GSaaS) to implement certain methods of control module 440. In some embodiments, the system 400 is operative as a cloud-based, ground station as a service (GSaaS) system.
[0083] For example, the GSaaS can be configured to allow users to remotely access and control ground stations remotely using internet protocols. Using the GSaaS, users can remotely receive and process data from satellites without building and operating their own ground stations. The GSaaS can provide remote access to ground stations antennas, scheduling, data processing, storage, distribution, real-time monitoring of satellite and ground station performance, automated advance data analytics and visualizations (e.g., graphical reports), and the like.
[0084] For example, the GSaaS can be configured to allow users to remotely control antennas at ground stations to communicate with the satellites. Antennas at ground stations can include, e.g., parabolic dishes that are capable of tracking satellites as they move across the sky. The GSaaS can include an antenna controller to determine a precise pointing angle for maintaining a communication link (or connection) with the satellite. The antenna controller can adjust a position of the antenna in real-time to compensate for any changes in the satellite’s position. The GSaaS can automate antenna scheduling and optimization services to maximize use of the available antenna time and minimize interference with other users of the same ground station. The GSaaS can benefit users by reducing costs and improving efficiency of operations.
[0085] For example, the GSaaS can be configured to allow users to remotely control power and modulation parameters through a web-based interface. The web-based interface can allow users remotely configure modulation schemes, set modulation indices, and adjust other parameters that affect the quality of the communication link. The GSaaS can provide automated power and modulation optimization services that adjust modulation parameters in real-time. In some cases, optimizing power and modulation can be based on a set of parameters to improve quality of the communication link. For example, the set of parameters can include signal strength, interference, environmental factors, and the like. In some embodiments, the set of parameters comprisesAtty Dkt No.: 67907-701601 spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
[0086] For example, the GSaaS can be configured to allow users to remotely control frequencies of modulators ground stations. The frequency of the modulator can determine the frequency of the transmitted or received signal thereby establishing a reliable communication link with the satellite. The GSaaS can ensure that ground stations are operating on the same frequency by coordinating frequency settings of each modulator. The GSaaS can specify a common frequency range or a specific frequency for all the ground stations. The GSaaS can assign specific frequencies to each ground station based on location and operational requirements.
[0087] For example, the GSaaS can be configured to remotely control the time of operation of the modulators in ground stations thereby allowing users to optimize satellite communication operations, minimize interference and downtime, ensure reliable and efficient communication with satellites, and the like. The time of operation can refer to the period of time during which the modulator is transmitting or receiving signals to or from a satellite. The GSaaS can efficiently manage the time of operation of the modulators in ground stations by automatically scheduling and coordinating operations at each ground station, assigning specific time slots or frequencies to each ground station, configuring modulation parameters to optimize use of available time and bandwidth, and the like.
[0088] For example, the GSaaS can be configured to support first responder emergency response and disaster recovery efforts on an ad hoc basis, which is described elsewhere herein in an example.
[0089] For example, the GSaaS can be configured to determine, measure, or receive different types of measurements related to spectrum resources, available spectrum, or allocated spectrum. Measurements can include data associated with, e.g., signal quality, signal strength, data throughput, data latency, channels (or frequencies), modulation parameters, and the like. Using measurements, the GSaaS can determine and provide bandwidth allocation between different communication channels and devices. Using measurements, the GSaaS can dynamically modify satellite network topologies and architectures in real time, which can include, e.g., the number and location of ground stations, satellite coverage areas, network components, and the like.
[0090] For example, the GSaaS can be configured to provide alarms or alerts to indicate potential issues or events related to satellite communication and spectrum management in real time. Alarms or alerts can be associated with. e.g.. signal loss, signal degradation, equipment failure,Atty Dkt No.: 67907-701601 interference detection, spectrum congestion, bandwidth exhaustion, network, spectrum utilization, resource allocation, and the like.Methods for dynamically allocating spectrum
[0091] System 400 can be configured to perform certain methods for dynamically allocating spectrum to a user. In some cases, the submodules, features, or services described herein of system 400 can be configured to implement the certain methods. In some cases, the submodules, features, or services of system 400 can be configured to collectively implement methods herein.
[0092] In another aspect, disclosed herein is a method for dynamically allocating spectrum in a satellite data network, the method comprising: (a) receiving a request by a user for spectrum access; (b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels; (c) optimizing the spectrum availability based at least on using a set of parameters; and (d) allocating spectrum to the user based at least on processing the optimized spectrum availability.
[0093] In some embodiments, data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof. In some embodiments, the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal. In some embodiments, the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user. In some embodiments, the plurality of time periods comprises time periods that are continuous, non-contiguous, or any combination thereof. In some embodiments, the plurality of locations comprises locations that are geo-located, geographically distributed, or any combination thereof. In some embodiments, the plurality of channels comprises channels that are intra-channel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof. In some embodiments, the plurality of channels comprises channels in the VHF-band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band. In some embodiments, any channel of the plurality of channels has a utilization rate of less than about 95%. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters. In some embodiments, the method is operative as a cloudbased, ground station as a service (GSaaS) system. In some embodiments, the method is operative as an internet of things (loT) system. In some embodiments, the method is operative to communicate data during emergencies. In some embodiments, the method further comprises: (a)Atty Dkt No.: 67907-701601 filtering the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels; (b) mapping the filtered spectrum availability to the optimized spectrum availability; and (c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum. In some embodiments, the method further comprises: (a) determining and controlling user access to the allocated spectrum; (b) deconflicting the user access to the allocated spectrum with a plurality of other users; and (c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum. In some embodiments, the method further comprises predicting an impact of future channel usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the method further comprises predicting an impact of future location usage on operations associated with the user or the plurality of spectrum holders. In some embodiments, the method further comprises: (a) automating communication of data in the satellite data network; (b) determining anomalies in (i) the data or (ii) spectrum attributes associated with the data; (c) automatically correcting the determined anomalies; and (d) operatively coupling to a plurality of nodes of the satellite data network, wherein performing (a) - (d) ensures regulatory compliance during the communication of the data in the satellite data network. In some embodiments, the method further comprises: (a) determining spectrum attributes associated with the allocated spectrum or use of the allocated spectrum; (b) detecting changes in the spectrum attributes that exceed a predetermined threshold; and (c) processing the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold. In some embodiments, the method further comprises: (a) determining a topology of the satellite data network for providing the allocated spectrum to the user; and (b) directing a plurality of resources to implement the topology of the satellite data network, wherein the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
[0094] In some cases, the method further comprises certifying the method using independent certifications. For example, methods herein may be certified to IS027001, CyberEssentials+, or ISO22301 standards. The IS027001 standard can include certification for establishing and maintaining an information security management system (ISMS). The CyberEssential s+ standard can include certification for demonstrating an ability to protect against common cyberattacks. The ISO22301 can include certification for business continuity and disaster preparedness. In some cases, the method further comprises complying the method with a regulatory compliant system.Atty Dkt No.: 67907-701601For example, methods herein may be in regulatory compliance with regulatory bodies. Regulatory bodies can include national regulatory bodies such as the United Kingdom Space Agency (UKSA) and the UK Office of Communications (OFCOM). Regulatory bodies can include international bodies like the European Space Agency (ESA) or the International Telecommunication Union (ITU).Methods for training a machine learning model
[0095] In some cases, models herein (e.g., the spectrum allocation model, location optimization model, channel optimization model, or modem optimization model) can include machine (ML) models. Many ML methods implemented as algorithms are suitable as approaches to perform the methods described herein. Such methods include but are not limited to supervised learning approaches, unsupervised learning approaches, semi -supervised approaches, or any combination thereof.
[0096] Machine learning algorithms may include without limitation neural networks (e.g., artificial neural networks (ANN), multi-layer perceptrons (MLP), long short-term memory (LSTM)), support vector machines, k-nearest neighbors, Gaussian mixture model, Gaussian process, naive Bayes, decision trees, random forest, or gradient boosting trees. Linear machine learning algorithms may include without limitation linear regression with or without regularizer, logistic regression, naive Bayes classifier, perceptron, or support vector machines (SVMs). Other machine learning algorithms for use with methods according to the present disclosure may include without limitation quadratic classifiers, k-nearest neighbor, boosting, decision trees, random forests, neural networks, pattern recognition, Bayesian networks, or Hidden Markov models. Other machine learning algorithms, including improvements or combinations of any of these, commonly used for machine learning, can also be suitable for use with the methods described herein. Any use of a machine learning algorithm in a workflow can also be suitable for use with the methods described herein. The workflow can include, for example, cross-validation, nested-cross- validation, feature selection, row compression, data transformation, binning, normalization, standardization, and algorithm selection.
[0097] A machine learning algorithm can generally be trained by the following methodology to build a machine learning model. In some cases, generated models may determine or predict spectrum to allocate to users from spectrum availability, frequency optimization, location optimization, time optimization, and the like. Input data can include, for example, spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair accessAtty Dkt No.: 67907-701601 parameters, license parameters, or commercial parameters. Output data can include, for example, spectrum to allocate to users.
[0098] 1. Gather a dataset for “training” and “testing” the machine learning algorithm. The dataset can include many features, for example, features associated with channels (or frequencies), times or time periods, and locations. The training dataset is used to “train” the machine learning algorithm. The testing dataset is used to “test” the machine learning algorithm.
[0099] 2. Determine “features” for the machine learning algorithm to use for training and testing. The accuracy of the machine learning algorithm may depend on how the features are represented. For example, feature values may be transformed using one-hot encoding, binning, standardization, or normalization. Also, not all features in the dataset may be used to train and test the machine learning algorithm. Selection of features may depend on, for example, available computing resources and time or importance of features discovered during iterative testing and training. For example, it may be discovered that features associated with spectrum parameters and regulatory parameters are predictive for dynamically allocating spectrum to users.
[0100] 3. Choose an appropriate machine learning algorithm. For example, a machine learning algorithm described elsewhere herein may be chosen. The chosen machine learning algorithm may depend on, for example, available computing resources and time or whether the prediction is continuous or categorical in nature. The machine learning algorithm is used to build the machine learning model.
[0101] 4. Build the machine learning model. The machine learning algorithm is run on the gathered training dataset. Parameters of the machine learning algorithm may be adjusted by optimizing performance on the training dataset or via cross-validation datasets. After parameter adjustment and learning, the performance of the machine learning algorithm may be validated on a dataset of naive samples that are separate from the training dataset and testing dataset. The built machine learning model can involve feature coefficients, importance measures, or weightings assigned to individual features.
[0102] Once the machine learning model is determined as described above (“trained”), it can be used to generate predictions for dynamically allocating spectrum to users.Examples
[0103] While various examples of the present disclosure have been shown and described herein, such examples are provided by way of example only. Numerous variations, changes, or substitutions may occur without departing from the present disclosure. It should be understood that various alternatives to the examples described herein may be employed.Atty Dkt No.: 67907-701601Example 1 - Use of systems and methods in a satellite data network
[0104] Systems and methods herein can be configured to operate within different geographic scales or segments. For example, spectrum can be allocated within a local geographic level, e.g., a city or country. Spectrum can be allocated within a regional geographic level, a continent. Spectrum allocation within different geographic segments can be determined by operational characteristics and optimized thereof. Optimization can be performed considering channels which will minimize noise or interference. Optimization can be performed considering transmission power settings which will maximize data size for transmitting via the satellite data network. Optimization can be performed considering international standard setting organizations and regulatory bodies which ensure compliance with international standards or regulatory body rules. In some cases, optimization can be based on a set of parameters. In some embodiments, the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
[0105] For example, FIGs. 5A-5D and FIG. 6 depict an example use of operating system 400 and methods thereof (or STORM) for dynamically allocating spectrum to a user. FIG. 5A depicts an example secure high-level flow of data between satellite operators 510, a regional segment 520, a testing ground station 530, and a communications modem 540. FIG. 5B depicts that satellite operators 510 and operations thereof can be configured to (i) generate a schedule of available spectrum and (ii) transmit the schedule to regional segment 520 using a secure internet protocol (IP) tunnel. FIG. 5C depicts that regional segment 520 can include system 400 configured to (i) receive the schedule through the secure IP tunnel, (ii) optimize the available spectrum, (iii) determine an allocation of spectrum for a user, (iv) generate a ground station configuration to provide the allocated spectrum to the user, and (v) transmit the ground station configuration to testing ground station 530 using a secure IP tunnel. FIG. 5D depicts that testing ground station 530 can be configured to (i) receive the ground station configuration through the secure IP tunnel and (ii) load the ground station configuration for operating during a time window for providing the allocated spectrum. FIG. 5D further depicts that communications modem 540 can be configured to (i) receive commands or controls from testing ground station 530 through a secure virtual private network (VPM), (ii) generate a modulated waveform, and (iii) and monitor the modulated waveform while transmitting or receiving data using the allocated spectrum. FIG. 6 depicts example commands and data during operation of system 400.Atty Dkt No.: 67907-701601Example 2 - Use of systems and methods as an internet of things (loT) system
[0106] In some embodiments, the system 400 is operative as an internet of things (loT) system. An loT system can mean a network of physical objects (e.g., wireless sensors) that are connected to the internet and can exchange data with other devices and systems. loT devices can include everyday items in a consumer loT, e.g., smart phones, appliances, lighting, air quality monitors, locks, home voice controllers, home security cameras, doorbell cameras, smoke alarms, carbon monoxide alarms, and the like. loT devices can include industrial devices in an industrial loT, e.g., temperature sensors, pressure sensors, proximity sensors, air quality monitors, water quality sensors, noise level monitors, global positioning system (GPS) trackers, radio frequency identification (RFID) tags, barcode scanners, programmable logic controllers (PLCs), industrial robots, automated guided vehicles (AGVs), vibration sensors, oil analysis sensors, power quality monitors, anomaly detection algorithms, machine learning (ML)-based maintenance systems, smart meters, energy monitoring systems, energy demand response devices, inventory management systems, warehouse automation devices, RFID-enabled asset tracking systems, video surveillance systems, access control systems, fire detection systems, gas detection systems, vehicle tracking systems, automotive telematics devices, driver behavior monitoring systems, soil moisture sensors, nitrogen-phosphorous-potassium (NPK) sensors, crop monitoring systems, livestock / agricultural monitoring devices, and the like.
[0107] For example, the high cost of spectrum presents a problem that can inhibit the growth of a space-based loT ecosystem for use with consumer loT devices and industrial loT devices. Systems and methods herein can solve at least this problem by providing efficient access to spectrum for loT devices, terminals, and services. For example, allocating underutilized spectrum held by incumbent users in an operable way can provide loT users a way to grow the loT ecosystem thereby benefitting users of loT services through increases in productivity. In some cases, system 400 and methods thereof can facilitate connecting loT devices with loT terminals. For example, system 400 and methods thereof can operatively connect a number of loT devices. The number of loT devices can include at least 1, 10, 100, 1000, 10,000, and increments therein, or more. System 400 and methods thereof can operatively connect a number of loT terminals. The number of loT terminals can include at least 1, 10, 100, 1000, 10,000, and increments therein, or more. Further, system 400 and methods thereof can determine and efficiently allocate unused or underutilized spectrum thereby allowing new users to connect their loT terminals at scale. In some cases, system 400 and methods thereof can be configured to provide loT connectivity to new or existing users. For example, users can be distributed across agricultural segments, industrial segments (e.g., oilAtty Dkt No.: 67907-701601 and gas industry), mining segments, transport and logistics segments (e.g., rail and maritime segments), and the like.Example 3 - Use of systems and methods to augment emergency response
[0108] In some embodiments, the system 400 is operative to communicate data during emergencies. For example, system 400 and methods thereof can be configured to augment or support first responder emergency response and disaster recovery efforts on an ad hoc basis. In the event of a disaster or emergency, satellite communication systems can provide critical communication links to first responders and other emergency personnel who may be working in remote or hard-to-reach locations where traditional communication infrastructure may be damaged or non-existent. System 400 and methods thereof can also provide on-demand access to ground stations and satellite communication services thereby allowing emergency responders to quickly establish communication links with satellites and transmit critical information and data. Information and data can include, e.g., voice communications, video communication, telemetry data, mission-critical information, and the like. System 400 and methods thereof can provide a reliable and robust communication infrastructure that can support emergency response and recovery efforts in a variety of scenarios. Scenarios can include, e.g., responding to natural disasters, man-made emergencies, crisis situations, and the like. By providing access to satellite communication systems and support services, system 400 and methods thereof can help to ensure that emergency responders have the communication tools they need to coordinate their efforts, respond to emergencies, and save lives.Example 4 - Use of systems and methods for direct-to-device communications
[0109] In some embodiments, systems and methods are operative in a direct-to-device (D2D) communication network. For example, systems and methods herein can be configured to facilitate, augment, or D2D communication networks. D2D can refer to a satellite communication technology that allows devices, e.g., smart phones, to connect to both satellite and terrestrial networks. D2D can use existing cellular networks to communicate with satellites, which act as “cell towers” in the sky. This can allow devices to connect in a communications network even when they are outside of cellular range.
[0110] In a D2D satellite communication process, signals may travel through a transponder that relays the signals back to the earth. The device receiving the signal may have a built-in satellite modem or a specialized chipset capable of decoding the incoming signal. The modem or chipset can convert the signal into a format that the device can interpret and display. D2D technology can support a range of devices, e.g., smartphones, smart tablets, loT devices, and the like. In someAtty Dkt No.: 67907-701601 cases, a D2D network may be implemented by allocating existing spectrum assigned to terrestrial wireless networks. For example, terrestrial wireless spectrum can be repurposed for satellites that are newly launched into orbit. In some cases, D2D may also be referred to as supplemental coverage from space (SCS).[OHl] However, incumbent spectrum holders, e.g., L-band spectrum holders, may have limited spectrum to allocate to a D2D network. L-band spectrum can be useful in D2D applications, e.g., loT applications, because they may not require large antennas and can be resistant to rain-fade, e.g., loss of signal quality or complete loss of signal caused by atmospheric conditions like rain, snow, or ice absorbing microwave signals. Systems and methods herein can provide technical solutions for dynamically allocating spectrum to D2D devices across multiple spectrum holders and time periods to provide a continuous communication link in a D2D network.Example 5 - Use of systems and methods in a bidirectional intersatellite connection
[0112] Systems and methods herein can be configured to perform or augment a global on-demand bidirectional intersatellite connection (or Go. BIC) service. For example, a Go.BIC service can provide a highly flexible and technical solution that allows low earth orbit (LEO) operators to request L-band capacity (or spectrum) within a global geostationary earth orbit (GEO) satellite data network, e.g., the satellite data network of Viasat®. The GEO satellite may be configured to transmit and receive data in the C-band, e.g., data for satellite TV networks, raw satellite feeds, broadcasting, or marine communications, and other bands. The LEO satellite may be configured to transmit and receive data in the L-band and other bands. The GEO satellite can receive data from the LEO satellite for transmitting the data to a ground station. The ground station can be configured to transmit and receive the data through a combination of a forward-link (TC) and a return-link (TM).
[0113] With the Go.BIC service, LEO operators can flexibly choose how often and when they require satellite connectivity and spectrum for their LEO assets. Technical advantages of this framework can include: ensuring LEO operators have access to spectrum thereby avoiding underutilized spectrum resources, improving flexibility and control over satellite missions, complementing existing ground station networks (e.g., the GSaaS herein) to extend coverage to previously unconnected areas (e.g., remote areas or oceans), providing cost-effective alternatives for telemetry and telecommand for every type of LEO satellite operator, or enabling new operational concepts for LEO satellites.
[0114] By example, as depicted in FIG. 7, the LEO satellite and the GEO satellite can be configured with bidirectional communication links in the L-band to communicate between theAtty Dkt No.: 67907-701601 system herein and the LEO and GEO satellites. The communication links can be enabled by software defined radios (SDR) on the LEO satellite, which can allow the LEO satellite to communicate in certain bands, e.g., the L-band. Bands can also include the Ka-band, or X-band. In some cases, the communication links can be established through SDRs provided by IQ Spacecom’s XLink-L®, L-Band Transceiver.
[0115] Systems and methods herein can be configured to allocate spectrum in a framework such as Go. BIC. For example, spectrum can be allocated over geographic areas and time slots. Users can request a specific geographic area and specific time slot to communicate with their LEO satellite equipped with, e.g., the XLink-L®, L-Band Transceiver. In some cases, a request for spectrum can be accepted thereby allocating spectrum to the user. For example, the ground segment and beam establishment can be prepared and executed by systems herein or Go.BIC according to a planned schedule. The user can receive access to Go.BIC via internet services to communicate with the user’s LEO satellite. When the user’s allocation of spectrum ends, the communication link can be closed thereby disconnecting the user from Go.BIC. In some cases, the request can be rejected, and systems herein can determine alternative spectrum to provide to the user.
[0116] FIG. 8 depicts example high-level workflows for use cases associated with systems herein and Go.BIC. For example, use cases can include: instant monitoring of a place (e.g., geographic places), supporting natural disasters, taking imagery (or pictures), downloading data, tracking devices, or establishing forward-links (TC) or return-links (TM). To enable said uses cases, high- level workflows can include: establishing a need for commanding a satellite via a request for spectrum, requesting a connection with Go.BIC, and automatically allocating spectrum (e.g., a dedicated beam and channel). Depending on the use case, workflows can further include: sending telecommands, tasking resources in real time, or receiving telemetry.Computing systems
[0117] In another aspect, disclosed herein is a system comprising at least one processor and instructions executable by the at least one processor to cause the at least one processor to perform operations. In some embodiments, the operations comprise (a) receiving a request by a user for spectrum access. In some embodiments, the operations comprise (b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and optimizing the spectrum availability based at least on using a set of parameters. In some embodiments, the operations comprise (c) allocating spectrum to the user based at least on processing the optimized spectrumAtty Dkt No.: 67907-701601 availability and displaying the allocated spectrum to the user or the plurality of spectrum holders. In some embodiments, the operations comprise (d) determining a topology of the satellite data network for providing the allocated spectrum to the user and directing a plurality of resources to implement the topology of the satellite data network.
[0118] Referring to FIG. 9, a block diagram is shown depicting an exemplary machine that includes a computer system 900 (e.g., a processing or computing system) within which a set of instructions can execute for causing a device to perform or execute any one or more of the aspects and / or methodologies for static code scheduling of the present disclosure. The components in FIG. 9 are examples only and do not limit the scope of use or functionality of any hardware, software, embedded logic component, or a combination of two or more such components implementing particular embodiments.
[0119] Computer system 900 may include one or more processors 901, a memory 903, and a storage 908 that communicate with each other, and with other components, via a bus 940. The bus 940 may also link a display 932, one or more input devices 933 (which may, for example, include a keypad, a keyboard, a mouse, a stylus, etc.), one or more output devices 934, one or more storage devices 935, and various tangible storage media 936. All of these elements may interface directly or via one or more interfaces or adaptors to the bus 940. For instance, the various tangible storage media 936 can interface with the bus 940 via storage medium interface 926. Computer system 900 may have any suitable physical form, including but not limited to one or more integrated circuits (ICs), printed circuit boards (PCBs), mobile handheld devices (such as mobile telephones or PDAs), laptop or notebook computers, distributed computer systems, computing grids, or servers.
[0120] Computer system 900 includes one or more processor(s) 901 (e.g., central processing units (CPUs) or general purpose graphics processing units (GPGPUs)) that carry out functions. Processor(s) 901 optionally contains a cache memory unit 902 for temporary local storage of instructions, data, or computer addresses. Processor(s) 901 are configured to assist in execution of computer readable instructions. Computer system 900 may provide functionality for the components depicted in FIG. 9 as a result of the processor(s) 901 executing non-transitory, processor-executable instructions embodied in one or more tangible computer-readable storage media, such as memory 903, storage 908, storage devices 935, and / or storage medium 936. The computer-readable media may store software that implements particular embodiments, and processor(s) 901 may execute the software. Memory 903 may read the software from one or more other computer-readable media (such as mass storage device(s) 935, 936) or from one or more other sources through a suitable interface, such as network interface 920. The software may causeAtty Dkt No.: 67907-701601 processor(s) 901 to carry out one or more processes or one or more steps of one or more processes described or illustrated herein. Carrying out such processes or steps may include defining data structures stored in memory 903 and modifying the data structures as directed by the software.
[0121] The memory 903 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component (e.g., RAM 904) (e.g., static RAM (SRAM), dynamic RAM (DRAM), ferroelectric random access memory (FRAM), phasechange random access memory (PRAM), etc.), a read-only memory component (e.g., ROM 905), and any combinations thereof. ROM 905 may act to communicate data and instructions unidirectionally to processor(s) 901, and RAM 904 may act to communicate data and instructions bidirectionally with processor(s) 901. ROM 905 and RAM 904 may include any suitable tangible computer-readable media described below. In one example, a basic input / output system 906 (BIOS), including basic routines that help to transfer information between elements within computer system 900, such as during start-up, may be stored in the memory 903.
[0122] Fixed storage 908 is connected bidirectionally to processor(s) 901, optionally through storage control unit 907. Fixed storage 908 provides additional data storage capacity and may also include any suitable tangible computer-readable media described herein. Storage 908 may be used to store operating system 909, executable(s) 910, data 911, applications 912 (application programs), and the like. Storage 908 can also include an optical disk drive, a solid-state memory device (e.g., flash-based systems), or a combination of any of the above. Information in storage 908 may, in appropriate cases, be incorporated as virtual memory in memory 903.
[0123] In one example, storage device(s) 935 may be removably interfaced with computer system 900 (e.g., via an external port connector (not shown)) via a storage device interface 925. Particularly, storage device(s) 935 and an associated machine-readable medium may provide nonvolatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for the computer system 900. In one example, software may reside, completely or partially, within a machine-readable medium on storage device(s) 935. In another example, software may reside, completely or partially, within processor(s) 901.
[0124] Bus 940 connects a wide variety of subsystems. Herein, reference to a bus may encompass one or more digital signal lines serving a common function, where appropriate. Bus 940 may be any of several types of bus structures including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combinations thereof, using any of a variety of bus architectures. As an example and not by way of limitation, such architectures include an Industry Standard Architecture (ISA) bus, an Enhanced ISA (EISA) bus, a Micro ChannelAtty Dkt No.: 67907-701601Architecture (MCA) bus, a Video Electronics Standards Association local bus (VLB), a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, an Accelerated Graphics Port (AGP) bus, HyperTransport (HTX) bus, serial advanced technology attachment (SATA) bus, and any combinations thereof.
[0125] Computer system 900 may also include an input device 933. In one example, a user of computer system 900 may enter commands and / or other information into computer system 900 via input device(s) 933. Examples of an input device(s) 933 include, but are not limited to, an alpha-numeric input device (e.g., a keyboard), a pointing device (e.g., a mouse or touchpad), a touchpad, a touch screen, a multi-touch screen, a joystick, a stylus, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), an optical scanner, a video or still image capture device (e.g., a camera), and any combinations thereof. In some embodiments, the input device is a Kinect®, Leap Motion®, or the like. Input device(s) 933 may be interfaced to bus 940 via any of a variety of input interfaces 923 (e.g., input interface 923) including, but not limited to, serial, parallel, game port, USB, FIREWIRE, THUNDERBOLT, or any combination of the above.
[0126] In particular embodiments, when computer system 900 is connected to network 930, computer system 900 may communicate with other devices, specifically mobile devices and enterprise systems, distributed computing systems, cloud storage systems, cloud computing systems, and the like, connected to network 930. Communications to and from computer system 900 may be sent through network interface 920. For example, network interface 920 may receive incoming communications (such as requests or responses from other devices) in the form of one or more packets (such as Internet Protocol (IP) packets) from network 930, and computer system 900 may store the incoming communications in memory 903 for processing. Computer system 900 may similarly store outgoing communications (such as requests or responses to other devices) in the form of one or more packets in memory 903 and communicated to network 930 from network interface 920. Processor(s) 901 may access these communication packets stored in memory 903 for processing.
[0127] Examples of the network interface 920 include, but are not limited to, a network interface card, a modem, and any combination thereof. Examples of a network 930 or network segment 930 include, but are not limited to, a distributed computing system, a cloud computing system, a wide area network (WAN) (e.g., the Internet, an enterprise network), a local area network (LAN) (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a direct connection between two computing devices, a peer-to-peerAtty Dkt No.: 67907-701601 network, and any combinations thereof. A network, such as network 930, may employ a wired and / or a wireless mode of communication. In general, any network topology may be used.
[0128] Information and data can be displayed through a display 932. Examples of a display 932 include, but are not limited to, a cathode ray tube (CRT), a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT-LCD), an organic liquid crystal display (OLED) such as a passive-matrix OLED (PMOLED) or active-matrix OLED (AMOLED) display, a plasma display, and any combinations thereof. The display 932 can interface to the processor(s) 901, memory 903, and fixed storage 908, as well as other devices, such as input device(s) 933, via the bus 940. The display 932 is linked to the bus 940 via a video interface 922, and transport of data between the display 932 and the bus 940 can be controlled via the graphics control 921. In some embodiments, the display is a video projector. In some embodiments, the display is a headmounted display (HMD) such as a VR headset. In further embodiments, suitable VR headsets include, by way of non-limiting examples, HTC Vive®, Oculus Rift®, Samsung Gear VR®, Microsoft HoloLens®, Razer OSVR®, FOVE VR®, Zeiss VR One®, Avegant Glyph®, Freefly VR® headset, and the like. In still further embodiments, the display is a combination of devices such as those disclosed herein.
[0129] In addition to a display 932, computer system 900 may include one or more other peripheral output devices 934 including, but not limited to, an audio speaker, a printer, a storage device, and any combinations thereof. Such peripheral output devices may be connected to the bus 940 via an output interface 924. Examples of an output interface 924 include, but are not limited to, a serial port, a parallel connection, a USB port, a FIREWIRE port, a THUNDERBOLT port, and any combinations thereof.
[0130] In addition or as an alternative, computer system 900 may provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which may operate in place of or together with software to execute one or more processes or one or more steps of one or more processes described or illustrated herein. Reference to software in this present disclosure may encompass logic, and reference to logic may encompass software. Moreover, reference to a computer-readable medium may encompass a circuit (such as an IC) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware, software, or both.
[0131] Various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability ofAtty Dkt No.: 67907-701601 hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
[0132] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0133] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by one or more processor(s), or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0134] In accordance with the description herein, suitable computing devices include, by way of non-limiting examples, server computers, desktop computers, laptop computers, notebook computers, sub-notebook computers, netbook computers, netpad computers, set-top computers, media streaming devices, handheld computers, Internet appliances, mobile smartphones, tablet computers, personal digital assistants, video game consoles, and vehicles. Select televisions, video players, and digital music players with optional computer network connectivity are suitable for use in the system described herein. Suitable tablet computers, in various embodiments, include those with booklet, slate, and convertible configurations.
[0135] In some embodiments, the computing device includes an operating system configured to perform executable instructions. The operating system is, for example, software, including programs and data, which manages the device’s hardware and provides services for execution ofAtty Dkt No.: 67907-701601 applications. Suitable server operating systems include, by way of non-limiting examples, FreeBSD®, OpenBSD®, NetBSD®, Linux®, Apple® Mac OS X Server®, Oracle Solaris®, Windows Server®, and Novell NetWare®. Suitable personal computer operating systems include, by way of non-limiting examples, Microsoft Windows®, Apple Mac® OS X, UNIX®, and UNIX-like operating systems such as GNU / Linux®. In some embodiments, the operating system is provided by cloud computing. Suitable mobile smartphone operating systems include, by way of nonlimiting examples, Nokia Symbian® OS, Apple® iOS, Research In Motion BlackBerry® OS, Google® Android®, Microsoft® Windows Phone® OS, Microsoft® Windows Mobile OS, Linux®, and Palm® WebOS. Suitable media streaming device operating systems include, by way of nonlimiting examples, Apple TV®, Roku®, Boxee®, Google TV®, Google Chromecast®, Amazon Fire®, and Samsung® HomeSync®. Suitable video game console operating systems include, by way of non-limiting examples, Sony® PS3®, Sony® PS4®, Microsoft® Xbox 360®, Microsoft Xbox One®, Nintendo Wii®, Nintendo Wii U®, and Ouya®. Suitable virtual reality headset systems include, by way of non-limiting example, Meta Oculus®.Non-transitory computer readable storage mediums
[0136] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more non-transitory computer readable storage media encoded with a program including instructions executable by the operating system of an optionally networked computing device. In further embodiments, a computer readable storage medium is a tangible component of a computing device. In still further embodiments, a computer readable storage medium is optionally removable from a computing device. In some embodiments, a computer readable storage medium includes, by way of non-limiting examples, CD-ROMs, DVDs, flash memory devices, solid state memory, magnetic disk drives, magnetic tape drives, optical disk drives, distributed computing systems including cloud computing systems and services, and the like. In some cases, the program and instructions are permanently, substantially permanently, semipermanently, or non-transitorily encoded on the media.Computer programs
[0137] In another aspect, disclosed herein is computer program product for dynamically allocating spectrum in a satellite data network, the computer program product comprising at least one non- transitory computer-readable medium having computer-readable program code portions embodied therein. In some embodiments, the computer-readable program code portions comprise an executable portion configured to receive a request by a user for spectrum access. In some embodiments, the computer-readable program code portions comprise an executable portionAtty Dkt No.: 67907-701601 configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters. In some embodiments, the computer-readable program code portions comprise an executable portion configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders. In some embodiments, the computer-readable program code portions comprise an executable portion configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network.
[0138] In some embodiments, the platforms, systems, media, and methods disclosed herein include at least one computer program, or use of the same. A computer program includes a sequence of instructions, executable by one or more processor(s) of the computing device’s CPU, written to perform a specified task. Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), computing data structures, and the like, that perform particular tasks or implement particular abstract data types. In light of the present disclosure provided herein, a computer program may be written in various versions of various languages.
[0139] The functionality of the computer readable instructions may be combined or distributed as desired in various environments. In some embodiments, a computer program comprises one sequence of instructions. In some embodiments, a computer program comprises a plurality of sequences of instructions. In some embodiments, a computer program is provided from one location. In other embodiments, a computer program is provided from a plurality of locations. In various embodiments, a computer program includes one or more software modules. In various embodiments, a computer program includes, in part or in whole, one or more web applications, one or more mobile applications, one or more standalone applications, one or more web browser plug-ins, extensions, add-ins, or add-ons, or combinations thereof.Web applications
[0140] In some embodiments, a computer program includes a web application. In light of the present disclosure provided herein, a web application, in various embodiments, utilizes one or more software frameworks and one or more database systems. In some embodiments, a web application is created upon a software framework such as Microsoft® .NET or Ruby on Rails® (RoR). In some embodiments, a web application utilizes one or more database systems including,Atty Dkt No.: 67907-701601 by way of non-limiting examples, relational, non-relational, object oriented, associative, and XML database systems. In further embodiments, suitable relational database systems include, by way of non-limiting examples, Microsoft® structured query language (SQL) Server, mySQL™, and Oracle®. A web application, in various embodiments, is written in one or more versions of one or more languages. A web application may be written in one or more markup languages, presentation definition languages, client-side scripting languages, server-side coding languages, database query languages, or combinations thereof. In some embodiments, a web application is written to some extent in a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or extensible Markup Language (XML). In some embodiments, a web application is written to some extent in a presentation definition language such as Cascading Style Sheets (CSS). In some embodiments, a web application is written to some extent in a clientside scripting language such as Asynchronous Javascript and XML® (AJAX), Flash Actionscript, Javascript®, or Silverlight®. In some embodiments, a web application is written to some extent in a server-side coding language such as Active Server Pages® (ASP), ColdFusion®, Perl®, Java®, JavaServer Pages® (JSP), Hypertext Preprocessor® (PHP), Python®, Ruby®, Tel®, Smalltalk®, WebDNA®, or Groovy®. In some embodiments, a web application is written to some extent in a database query language such as Structured Query Language (SQL). In some embodiments, a web application integrates enterprise server products such as IBM Lotus Domino®. In some embodiments, a web application includes a media player element. In various further embodiments, a media player element utilizes one or more of many suitable multimedia technologies including, by way of non-limiting examples, Adobe® Flash®, HTML 5, Apple® QuickTime®, Microsoft Silverlight®, Java®, and Unity®.
[0141] Referring to FIG. 10, in a particular embodiment, an application provision system comprises one or more databases 1000 accessed by a database management system (DBMS) 1010. Suitable DBMSs include Firebird®, MySQL®, NoSQL®, PostgreSQL®, SQLite®, Oracle Database®, Microsoft SQL Server®, IBM DB2®, IBM Informix®, SAP Sybase®, SAP Sybase®, Teradata®, PostGIS®, Apache® Hive, Apache® Impala, time-series databases, graph databases, key-value storage, and the like. In this embodiment, the application provision system further comprises one or more application severs 1020 (such as Java® servers, .NET® servers, PHP® servers, and the like) and one or more web servers 1030 (such as Apache®, IIS®, GWS® and the like). The web server(s) optionally expose one or more web services via app application programming interfaces (APIs) 1040. Via a network, such as the Internet, the system providesAtty Dkt No.: 67907-701601 browser-based and / or mobile native user interfaces. In some cases, a DBMS may be a relational DBMS.
[0142] Referring to FIG. 11, in a particular embodiment, an application provision system alternatively has a distributed, cloud-based architecture 1100 and comprises elastically load balanced, auto-scaling web server resources 1110 and application server resources 1120 as well synchronously replicated databases 1130.Mobile applications
[0143] In some embodiments, a computer program includes a mobile application provided to a mobile computing device. In some embodiments, the mobile application is provided to a mobile computing device at the time it is manufactured. In other embodiments, the mobile application is provided to a mobile computing device via the computer network described herein.
[0144] In view of the present disclosure provided herein, a mobile application is created by techniques using hardware, languages, and development environments. Mobile applications are written in several languages. Suitable programming languages include, by way of non-limiting examples, C, C++, C#, Objective-C, Java®, Javascript®, Pascal®, Object Pascal®, Python™, Ruby®, VB.NET®, WML®, and XHTML / HTML with or without CSS, or combinations thereof.
[0145] Suitable mobile application development environments are available from several sources. Commercially available development environments include, by way of non-limiting examples, AirplaySDK®, alcheMo®, Appcelerator®, Celsius®, Bedrock®, Flash Lite®, .NET Compact Framework®, Rhomobile®, and WorkLight Mobile Platform®. Other development environments are available without cost including, by way of non-limiting examples, Lazarus®, MobiFlex®, MoSync®, and Phonegap®. Also, mobile device manufacturers distribute software developer kits including, by way of non-limiting examples, iPhone® and iPad® (iOS) SDK, Android® SDK, BlackBerry® SDK, BREW SDK, Palm® OS SDK, Symbian® SDK, webOS® SDK, and Windows® Mobile SDK.
[0146] Several commercial sources are available for distribution of mobile applications including, by way of non-limiting examples, Apple® App Store, Google® Play, Chrome® WebStore, BlackBerry® App World, App Store® for Palm devices, App Catalog® for webOS, Windows® Marketplace for Mobile, Ovi Store for Nokia® devices, Samsung® App s, and Nintendo® D Si Shop. Standalone applications
[0147] In some embodiments, a computer program includes a standalone application, which is a program that is run as an independent computer process, not an add-on to an existing process, e.g., not a plug-in. Standalone applications are often compiled. A compiler is a computer program(s)Atty Dkt No.: 67907-701601 that transforms source code written in a programming language into binary object code such as assembly language or machine code. Suitable compiled programming languages include, by way of non-limiting examples, C, C++, Objective-C®, COBOL®, Delphi®, Eiffel®, Java®, Lisp®, Python®, Visual Basic®, and VB .NET®, or combinations thereof. Compilation is often performed, at least in part, to create an executable program. In some embodiments, a computer program includes one or more executable compiled applications. Additionally, microservices related to Python® and JavaScript® may be used.Web browser plug-ins
[0148] In some embodiments, the computer program includes a web browser plug-in (e.g., web extension, etc.). In computing, a plug-in is one or more software components that add specific functionality to a larger software application. Makers of software applications support plug-ins to enable third-party developers to create abilities which extend an application, to support easily adding new features, and to reduce the size of an application. When supported, plug-ins enable customizing the functionality of a software application. For example, plug-ins are commonly used in web browsers to play video, generate interactivity, scan for viruses, and display particular file types. Several web browser plug-ins may include Adobe Flash Player®, Microsoft Silverlight®, and Apple QuickTime®. In some embodiments, the toolbar comprises one or more web browser extensions, add-ins, or add-ons. In some embodiments, the toolbar comprises one or more explorer bars, tool bands, or desk bands.
[0149] In view of the present disclosure provided herein, several plug-in frameworks are available that enable development of plug-ins in various programming languages, including, by way of nonlimiting examples, C++, Delphi®, Java®, PHP®, Python®, and VB .NET®, or combinations thereof.
[0150] Web browsers (also called Internet browsers) are software applications, designed for use with network-connected computing devices, for retrieving, presenting, and traversing information resources on the World Wide Web. Suitable web browsers include, by way of non-limiting examples, Microsoft Internet Explorer®, Mozilla Firefox®, Google Chrome®, Apple Safari®, Opera Software Opera®, and KDE Konqueror®. In some embodiments, the web browser is a mobile web browser. Mobile web browsers (also called microbrowsers, mini-browsers, and wireless browsers) are designed for use on mobile computing devices including, by way of non-limiting examples, handheld computers, tablet computers, netbook computers, subnotebook computers, smartphones, music players, personal digital assistants (PDAs), and handheld video game systems. Suitable mobile web browsers include, by way of non-limiting examples, Google Android® browser, RIM BlackBerry® Browser, Apple Safari®, Palm Blazer®, Palm WebOS® Browser, Mozilla Firefox®Atty Dkt No.: 67907-701601 for mobile, Microsoft Internet Explorer Mobile®, Amazon Kindle Basic Web®, Nokia Browser®, Opera Software Opera Mobile®, and Sony PSP® browser.Software modules
[0151] In some embodiments, the platforms, systems, media, and methods disclosed herein include software, server, and / or database modules, or use of the same. In view of the present disclosure provided herein, software modules are created by techniques using machines, software, and languages. The software modules disclosed herein are implemented in a multitude of ways. In various embodiments, a software module comprises a file, a section of code, a programming object, a programming structure, or combinations thereof. In further various embodiments, a software module comprises a plurality of files, a plurality of sections of code, a plurality of programming objects, a plurality of programming structures, or combinations thereof. In various embodiments, the one or more software modules comprise, by way of non-limiting examples, a web application, a mobile application, and a standalone application. In some embodiments, software modules are in one computer program or application. In other embodiments, software modules are in more than one computer program or application. In some embodiments, software modules are hosted on one machine. In other embodiments, software modules are hosted on more than one machine. In further embodiments, software modules are hosted on a distributed computing platform such as a cloud computing platform. In some embodiments, software modules are hosted on one or more machines in one location. In other embodiments, software modules are hosted on one or more machines in more than one location.Databases
[0152] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more databases (DB), or use of the same. In view of the present disclosure provided herein, many databases are suitable for storage and retrieval data. In various embodiments, suitable databases include, by way of non-limiting examples, relational databases, non-relational databases, object oriented databases, object databases, entity-relationship model databases, associative databases, XML databases, time-series databases, graph databases, and the like. Further nonlimiting examples include SQL, PostgreSQL®, MySQL®, Oracle®, DB2®, and Sybase. In some embodiments, a database is internet-based. In further embodiments, a database is web-based. In still further embodiments, a database is cloud computing-based. In a particular embodiment, a database is a distributed database. In other embodiments, a database is based on one or more local computer storage devices.Atty Dkt No.: 67907-701601Terms and Definitions
[0153] Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this present disclosure belongs.
[0154] As used herein, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Any reference to “or” herein is intended to encompass “and / or” unless otherwise stated.
[0155] As used herein, the term “about” in some cases refers to an amount that is approximately the stated amount.
[0156] As used herein, the term “about” refers to an amount that is near the stated amount by 10%, 5%, or 1%, including increments therein.
[0157] As used herein, the term “about” in reference to a percentage refers to an amount that is greater or less the stated percentage by 10%, 5%, or 1%, including increments therein.
[0158] As used herein, the phrases “at least one”, “one or more”, and “and / or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and / or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
[0159] While preferred embodiments of the present disclosure have been shown and described herein, such embodiments are provided by way of example only. It is not intended that the present disclosure be limited by the specific examples provided within the specification. While the present disclosure has been described with reference to the aforementioned specification, the descriptions and illustrations of the embodiments herein are not meant to be construed in a limiting sense. Numerous variations, changes, and substitutions may occur without departing from the present disclosure. Furthermore, it shall be understood that all aspects of the present disclosure are not limited to the specific depictions, configurations, or relative proportions set forth herein which depend upon a variety of conditions and variables. It should be understood that various alternatives to the embodiments of the present disclosure described herein may be employed in practicing the present disclosure. It is therefore contemplated that the present disclosure shall also cover any such alternatives, modifications, variations, or equivalents. It is intended that the following claims define the scope of the present disclosure and that systems, methods and structures within the scope of these claims and their equivalents be covered thereby.
Claims
Atty Dkt No.: 67907-701601CLAIMSWHAT IS CLAIMED IS:
1. A system for dynamically allocating spectrum in a satellite data network, the system comprising: a user input module configured to receive a request by a user for spectrum access; a front-end module configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters; a back-end module configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders; and a control module configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network.
2. The system of claim 1, wherein data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof.
3. The system of claim 1, wherein the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal.
4. The system of claim 1, wherein the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user.
5. The system of claim 1, wherein the plurality of time periods comprises time periods that are continuous, non-contiguous, or any combination thereof.
6. The system of claim 1, wherein the plurality of channels comprises channels that are intrachannel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof.
7. The system of claim 1, wherein the plurality of locations comprises locations that are geolocated, geographically distributed, or any combination thereof.
8. The system of claim 1, wherein the plurality of channels comprises channels in the VHF- band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band.Atty Dkt No.: 67907-7016019. The system of claim 1, wherein any channel of the plurality of channels has a utilization rate of less than about 95%.
10. The system of claim 1, wherein the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
11. The system of claim 1, wherein the system is operative as a cloud-based, ground station as a service (GSaaS) system.
12. The system of claim 1, wherein the system is operative as an internet of things (loT) system.
13. The system of claim 1, wherein the system is operative to communicate data during emergencies.
14. The system of claim 1, wherein the system is operative in a direct-to-device (D2D) communication network.
15. The system of claim 1, wherein the system is operative in a bidirectional intersatellite connection.
16. The system of claim 1, wherein the user input module further comprises: a filter module configured to filter the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels; a mapping module configured to map the filtered spectrum availability to the optimized spectrum availability; and an analytics module configured to generate and display at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum.
17. The system of claim 1, wherein the front-end module further comprises: a management module configured to determine and control user access to the allocated spectrum; an interference module configured to deconflict the user access to the allocated spectrum with a plurality of other users; and an analytics module configured to generate and display at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum.
18. The system of claim 1, wherein the front-end module further comprises a channel optimization model configured to predict an impact of future channel usage on operations associated with the user or the plurality of spectrum holders.Atty Dkt No.: 67907-70160119. The system of claim 1, wherein the front-end module further comprises a location optimization model configured to predict an impact of future location usage on operations associated with the user or the plurality of spectrum holders.
20. The system of claim 1, wherein the back-end module further comprises: a gateway processing module configured to automate communication of data in the satellite data network; an interference analysis module configured to determine anomalies in (i) the data or (ii) spectrum attributes associated with the data; a modem optimization module configured to automatically correct the determined anomalies; and an integration module configured to operatively couple the system to a plurality of nodes of the satellite data network, wherein the modules collectively operate to ensure regulatory compliance during the communication of the data in the satellite data network.
21. The system of claim 1, wherein in the control module further comprises: a measurement module configured to determine spectrum attributes associated with the allocated spectrum or use of the allocated spectrum; an alarm module configured to detect changes in the spectrum attributes that exceed a predetermined threshold; and a network topology module configured to process the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold.
22. The system of claim 1, wherein the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
23. A method for dynamically allocating spectrum in a satellite data network, the method comprising:(a) receiving a request by a user for spectrum access;(b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels;(c) optimizing the spectrum availability based at least on using a set of parameters; andAtty Dkt No.: 67907-701601(d) allocating spectrum to the user based at least on processing the optimized spectrum availability.
24. The method of claim 23, wherein data of the satellite data network comprises communication data, scientific data, environmental data, secure data, operational data, or any combination thereof.
25. The method of claim 23, wherein the plurality of spectrum holders comprises at least one operator of a ground station communicatively linked to at least one operator of a satellite or at least one user terminal.
26. The method of claim 23, wherein the allocated spectrum comprises a multidimensional spectrum in the plurality of times, locations, and channels and operative to provide a continuous data link to the user.
27. The method of claim 23, wherein the plurality of time periods comprises time periods that are continuous, non-contiguous, or any combination thereof.
28. The method of claim 23, wherein the plurality of locations comprises locations that are geolocated, geographically distributed, or any combination thereof.
29. The method of claim 23, wherein the plurality of channels comprises channels that are intrachannel contiguous, intra-channel non-contiguous, inter-channel non-contiguous, or any combination thereof.
30. The method of claim 23, wherein the plurality of channels comprises channels in the VHF- band, UHF-band, L-band, S-band, C-band, Ku-band, Ka-band, Q-band, V-band, or X-band.
31. The method of claim 23, wherein any channel of the plurality of channels has a utilization rate of less than about 95%.
32. The method of claim 23, wherein the set of parameters comprises spectrum parameters, regulatory parameters, compliance parameters, interference parameters, fair access parameters, license parameters, or commercial parameters.
33. The method of claim 23, wherein the method is operative as a cloud-based, ground station as a service (GSaaS) system.
34. The method of claim 23, wherein the method is operative as an internet of things (loT) system.
35. The method of claim 23, wherein the method is operative to communicate data during emergencies.
36. The method of claim 23, wherein the method is operative in a direct-to-device (D2D) communication network.Atty Dkt No.: 67907-70160137. The method of claim 23, wherein the method is operative in a bidirectional intersatellite connection.
38. The method of claim 23, wherein the method further comprises:(a) filtering the spectrum availability using a set of user criteria comprising at least a time period of the plurality of time periods, a location of the plurality of locations, or a channel of the plurality of channels;(b) mapping the filtered spectrum availability to the optimized spectrum availability; and(c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum.
39. The method of claim 23, wherein the method further comprises:(a) determining and controlling user access to the allocated spectrum;(b) deconflicting the user access to the allocated spectrum with a plurality of other users; and(c) generating and displaying at least spectrum attributes associated with the user, the plurality of spectrum holders, or the allocated spectrum.
40. The method of claim 23, wherein the method further comprises predicting an impact of future channel usage on operations associated with the user or the plurality of spectrum holders.
41. The method of claim 23, wherein the method further comprises predicting an impact of future location usage on operations associated with the user or the plurality of spectrum holders.
42. The method of claim 23, wherein the method further comprises:(a) automating communication of data in the satellite data network;(b) determining anomalies in (i) the data or (ii) spectrum attributes associated with the data;(c) automatically correcting the determined anomalies; and(d) operatively coupling to a plurality of nodes of the satellite data network, wherein performing (a) - (d) ensures regulatory compliance during the communication of the data in the satellite data network.
43. The method of claim 23, wherein in the method further comprises:(a) determining spectrum attributes associated with the allocated spectrum or use of the allocated spectrum;(b) detecting changes in the spectrum attributes that exceed a predetermined threshold; andAtty Dkt No.: 67907-701601(c) processing the detected changes to dynamically modify the network topology in real time until the spectrum attributes are within the predetermined threshold.
44. The method of claim 23, wherein the method further comprises:(a) determining a topology of the satellite data network for providing the allocated spectrum to the user; and(b) directing a plurality of resources to implement the topology of the satellite data network, wherein the topology of the satellite data network is dynamically determined based at least on real-time monitoring of ground station performance and satellite performance.
45. A computer program product for dynamically allocating spectrum in a satellite data network, the computer program product comprising at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising: an executable portion configured to receive a request by a user for spectrum access; an executable portion configured to (i) process the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and (ii) optimize the spectrum availability based at least on using a set of parameters; an executable portion configured to (i) allocate spectrum to the user based at least on processing the optimized spectrum availability and (ii) display the allocated spectrum to the user or the plurality of spectrum holders; and an executable portion configured to (i) determine a topology of the satellite data network for providing the allocated spectrum to the user and (ii) direct a plurality of resources to implement the topology of the satellite data network.
46. A method for dynamically allocating spectrum in a satellite data network, the method comprising:(a) receiving a request by a user for spectrum access;(b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and optimizing the spectrum availability based at least on using a set of parameters;(c) allocating spectrum to the user based at least on processing the optimized spectrum availability and displaying the allocated spectrum to the user or the plurality of spectrum holders; andAtty Dkt No.: 67907-701601(d) determining a topology of the satellite data network for providing the allocated spectrum to the user and directing a plurality of resources to implement the topology of the satellite data network.
47. A system comprising at least one processor and instructions executable by the at least one processor to cause the at least one processor to perform operations comprising:(a) receiving a request by a user for spectrum access;(b) processing the request by determining spectrum availability in real time for a plurality of spectrum holders at a plurality of time periods, a plurality of locations, or a plurality of channels and optimizing the spectrum availability based at least on using a set of parameters;(c) allocating spectrum to the user based at least on processing the optimized spectrum availability and displaying the allocated spectrum to the user or the plurality of spectrum holders; and(d) determining a topology of the satellite data network for providing the allocated spectrum to the user and directing a plurality of resources to implement the topology of the satellite data network.