Patent ID: 8665777

Claim:
A computer-implemented method comprising: receiving, at an origin mobile ground station, data via a network, wherein the origin mobile ground station is moving on Earth with a particular heading and velocity; determining, at the origin mobile ground station, that the data is to be transmitted to a destination ground station via satellite transmission; determining, at the origin mobile ground station, a future time when the data is to be transmitted; using a location prediction process executed by the origin mobile ground station, determining, at the origin mobile ground station, a predicted location of the origin mobile ground station at the future time when the data is to be transmitted, based on a current position, heading and velocity of the origin mobile ground station, and predicting a location of satellites in a satellite network at the future time; based on determining the predicted location of the origin mobile ground station and the predicted location the satellites at the future time, selecting, at the origin mobile ground station, a first satellite in the satellite network that will be within communication range of the predicted location of the origin mobile ground station at the future time when the data is to be transmitted; determining, at the origin mobile ground station, a first radio frequency and a first data transmission rate supported by the first satellite; upon the origin mobile ground station reaching the predicted location, establishing communications, using the origin mobile ground station, with the first satellite; transmitting the data from the origin mobile ground station to the first satellite via the determined first radio frequency and first data transmission rate; determining, at the origin mobile ground station, when the first satellite will go out of communication range of the origin mobile ground station; transmitting a request from the origin mobile ground station to the first satellite before the first satellite is determined to go out of communication range, the request asking for verification whether transmission of the data has been completed; and transmitting, if a response to the request is received verifying that transmission of the data has not been completed or if no response to the request is received, a flag from the origin mobile ground station to the first satellite, the flag indicating that the data is incomplete.