A method comprising: determining a plurality of routes for a carrier-grade data communications circuit between a source ground terminal and a destination ground terminal; and wherein the circuit is formed via a plurality of satellites (101a1, 101b2, 101c3), each traveling in a respective non-geostationary orbit around the Earth; wherein a total time during which the circuit is active is divided into a plurality of time intervals each of a respective duration; and wherein the determination of the plurality of routes comprises (i) selecting, for each time interval, an uplink satellite (101a1) of the constellation to service the source ground terminal as an ingress node for the circuit, and (ii) determining, for each time interval, a series of inter-satellite links (151, 153, 155, 157) connecting the uplink satellite (101a1) selected for the respective time interval to a downlink satellite (101c3) of the constellation servicing the destination ground terminal during the respective time interval, wherein the series of inter-satellite links (151, 153, 155, 157) is determined so that each link will be available for connection of two respective satellites to serve as a segment of the circuit between the uplink ground terminal and the downlink ground terminal during the respective time interval, and being characterised by the duration of each interval of the plurality of time intervals is based on a time of availability, based on the traveling of the plurality of satellites (101a1, 101b2, 101c3) in their respective orbits, for a one of the inter-satellite links (151, 153, 155, 157) of all of the plurality of routes that is of the shortest duration. determining a plurality of routes for a carrier-grade data communications circuit between a source ground terminal and a destination ground terminal; and wherein the circuit is formed via a plurality of satellites (101a1, 101b2, 101c3), each traveling in a respective non-geostationary orbit around the Earth; wherein a total time during which the circuit is active is divided into a plurality of time intervals each of a respective duration; and wherein the determination of the plurality of routes comprises (i) selecting, for each time interval, an uplink satellite (101a1) of the constellation to service the source ground terminal as an ingress node for the circuit, and (ii) determining, for each time interval, a series of inter-satellite links (151, 153, 155, 157) connecting the uplink satellite (101a1) selected for the respective time interval to a downlink satellite (101c3) of the constellation servicing the destination ground terminal during the respective time interval, wherein the series of inter-satellite links (151, 153, 155, 157) is determined so that each link will be available for connection of two respective satellites to serve as a segment of the circuit between the uplink ground terminal and the downlink ground terminal during the respective time interval, and being characterised by the duration of each interval of the plurality of time intervals is based on a time of availability, based on the traveling of the plurality of satellites (101a1, 101b2, 101c3) in their respective orbits, for a one of the inter-satellite links (151, 153, 155, 157) of all of the plurality of routes that is of the shortest duration.