US7215652

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

US007215652B1

(12) United States Patent (10) Patent No.: US 7.215,652 B1


Foley et al. (45) Date of Patent: May 8, 2007
(54) METHOD, APPARATUS, AND SYSTEM FOR 6,434,361 B1 8/2002 Carrozza et al.
CALCULATING AND MAKING A 6,539,003 B1 3/2003 Agarwal et al.
SYNCHRONOUS BURST TIME PLAN IN A 6,549,530 B1 4/2003 Cable et al.
COMMUNICATION NETWORK 6,625,130 B2 9/2003 Fielding
6,665,829 B2 12/2003 Eroz et al.
(75) Inventors: Conor Foley, Sterling VA (US); David 2002/0034165 A1 3/2002 Ram et al. .................. 370,319
D. Bettinger, Chantilly, VA (US) 2002/008994.6 A1* 7/2002 Hutchings ................... 370,324
ck
(73) Assignee: Idirect Incorporated, Reston, VA (US) 2004/0234018 A1* 11/2004 Ram et al. .................. 375,354

(*) Notice: Subject to any disclaimer, the term of this


patent is extended or adjusted under 35 OTHER PUBLICATIONS
U.S.C. 154(b) by 708 days.
Sasmith Reddi. “Voice over IP (VoIP) over Satellite,” emailed Aug.
(21) Appl. No.: 10/721,419 7, 2002, 2 pages.
Sasmith Reddi. “DVB (Digital Video Broadcast) vs. iDirect Tech
(22) Filed: Nov. 26, 2003 nology,” emailed Jul. 16, 2002, 6 pages.
(51) Int. Cl. * cited by examiner
H04B 7/24 (2006.01) Primary Examiner—Congvan Tran
H04B 7/85 (2006.01)
H04B 7/22 2006.O1 Assistant Examiner Kiet Doan
( .01) (74) Attorney, Agent, or Firm Oblon, Spivak, McClelland,
(52) U.S. Cl. ....................... 370/319; 370/316; 370/324 Maier & Neustadt, P.C.
(58) Field of Classification Search ................ 370/319,
370/316, 324 (57) ABSTRACT
See application file for complete search history.
(56) References Cited
A communication network control method for a communi
U.S. PATENT DOCUMENTS cation network including a hub and a plurality of user nodes
4,688,216 A 8, 1987 Saburi
includes adjusting system parameters to maximize commu
4,722,083. A 1, 1988 Tirro et al. nication data rate and minimize bit error rate given current
4,763.325 A 8, 1988 Wolfe et al. conditions of the wireless channel, current loading of the
4,858,225 A 8, 1989 deSantis network, and user constraints. In particular, the method
5,051,989 A 9/1991 Negishi includes transmitting a first and second frame with first and
5,768,266 A 6/1998 Thompson et al. second control information from the hub to each user node,
5,790,939 A 8, 1998 Malcolm et al. and transmitting a first and second data burst from each of
6,097,706 A 8/2000 Fielding et al. the user nodes to the hub according to the first and second
6,104,708 A 8/2000 Bergamo control information. The start of the time frame of the data
6,122.293 A 9/2000 Frodigh et al. burst from each user node arrives simultaneously at the hub.
6,198.734 B1 3, 2001 Edwards et al.
6.212,240 B1 4/2001 Scheibel, Jr. et al.
Further, the time frame of the second data burst from each
6,301,310 B1 10/2001 Jackson et al.
user node arrives immediately following the arrival of the
time frame of the first data burst.
6,351,499 B1 2/2002 Paulraj et al.
6,377,561 B1 4/2002 Black et al.
6,381,227 B1 4/2002 Fielding et al. 23 Claims, 23 Drawing Sheets

BROADCAST
DONSTREACHANNEL
SEAREDEMA

302

CIENT
... COMPUTER
-- 6

CLIENT CENT
COMPUTER PERBERS

316 326
U.S. Patent May 8, 2007 Sheet 1 of 23 US 7.215,652 B1

A / C. 7
(1A4 CACAO UVAZ2 4A 7)

BROADCAST 10
DOWNSTREAM CHANNEL g
–2– N 14
UPSTREAM CHANNEL is C
SATELLITE
n(

2
USER NODE
U.S. Patent May 8, 2007 Sheet 3 of 23 US 7.215,652 B1

A VC. 3

BROADCAST 3OO
DOWNSTREAM CHANNEL gs
SHARED TDMA 3O8 –2–
C Y 31 O
u u au as a re- as nk

Y S USER NODE

4
314- LAN/

NETWORK
INTERNET OPERATOR
SERVICES ACCESS

324 32O 322 318


CLIENT CLIENT
COMPUTER PERIPHERALS

316 326
U.S. Patent May 8, 2007 Sheet 4 of 23 US 7.215,652 B1


27
‘OZ.
’;
Z07

7,5
U.S. Patent May 8, 2007 Sheet 6 of 23 US 7.215,652 B1

|- - QLIBIJ
9

009
00%
09$
00°
0%;
03?
JGZ
000
QUI09
JGI
JOZ
|
|
|

|
9.JPJ
§ QLIBIJ
Ç
U.S. Patent May 8, 2007 Sheet 7 of 23 US 7.215,652 B1

SJ?

|-— ¡OSX)JU,
| | |
U.S. Patent May 8, 2007 Sheet 8 of 23 US 7.215,652 B1

CALCULATING THE HUB


S800
DELAY, Hfsd

TRANSMITTING PARAMETERS
S802
TO EACH USER NODE

CALCULATING A TRANS
MISSION DELAY FOR EACH S804

TRANSMITTING A FRAME
SEQUENCE FROM HUB S806
TO USER NODES

DELAYING A START OF
BURST FROM EACH USER S808
BY RfSdn

TRANSMITTING A BURST
IN A FRAME TIME PERIOD S810
FROM EACH USER NODE TO HUB

RECEIVING FRAME TIME


PERIOD FROM EACH USER
S812
SIMULTANEOUSLY, Hfs
AFTER HUB FRAME START

A MC. S.
U.S. Patent May 8, 2007 Sheet 9 of 23 US 7.215,652 B1

ARM BTP Or f
BTP CTRL S902 WAIT BTP
UPDATED UPDATE
BTP CTRL
UPDATED

S906 S904
UPDATED

ARM
BTP

NORMAL OPERATION
U.S. Patent May 8, 2007 Sheet 10 of 23 US 7.215,652 B1
U.S. Patent May 8, 2007 Sheet 11 of 23 US 7.215,652 B1

HE-0G?SOIÍN)O
/ @
D? ? ?
?0?RITOHIAMHEI?
-ET) []7[I]|
TOEINMH?EIS
?0?RTZ [][][]
?
SO?G[-]NTOIMHETS

9?I S
U.S. Patent May 8, 2007 Sheet 12 of 23 US 7.215,652 B1

27
V,
‘O
';
/
A7
O?NTIJWÄTOÍ

;-
U.S. Patent May 8, 2007 Sheet 13 of 23 US 7.215,652 B1

HE?GSOTN)
OZI

[]TOETH> 0?Id HS

0ZIO (9NI?ldWTEHIGS (ITGI)


U.S. Patent May 8, 2007 Sheet 14 of 23 US 7.215,652 B1

WÜ?I

KONTÍÓG?
U.S. Patent May 8, 2007 Sheet 15 Of 23 US 7.215,652 B1

UPSTREAM UPSTREAM
14 OO CHANNEL PRIORITIZATION RATE
GROUP CONFIG RULES SHAPING
PARAMETERS RULES

1050

SLOT RECENT FRAME


DEMAND DATA ALLOCATION STATE
RUCTURE
STRUCTU DECISION INFORMATION
S1406
1408
FEATHERING S1410
BTP REQUEST

1414 BTP REQUEST BTP PACKET


1412
BTP REQUEST BTP PACKET

BTP PACKET

A /GC. 72
U.S. Patent May 8, 2007 Sheet 16 of 23 US 7.215,652 B1

£OGI

?)
£
9
6
ZI
?I
IZ

LI T | a.Lae ?
||
?
|
U.S. Patent May 8, 2007 Sheet 17 of 23 US 7.215,652 B1

O 3 6 12 18 24 30 36 42 48 54 57
H%His H HN 2 E-1600
4 55 58
Hi H2 Ni 1602

5659
E NN 1604

A / C. 76

O 3 6 12 18 24 30 36 42 48 54 57
H%H H H H H H 17 OO
1 4 55 58
E
2 E-1702
2 5 5659
N | | N T N T N T N N-1704
A / C. 7 27
U.S. Patent May 8, 2007 Sheet 19 Of 23 US 7.215,652 B1

JWE0NH?IST)80 3H8IW6T0S,MNI
EHTJ8ØWINHE\T HOSZ Hä
U.S. Patent May 8, 2007 Sheet 20 of 23 US 7.215,652 B1

QPSK
CONSTELLATION

A ZO. 79 A

BPSK CONSTELLATION
ORIENTED AT 45 DEGREE
ANGLE TO BOTH AXES

A MO. 7.9 O
U.S. Patent US 7.215,652 B1

,N#\?O|IL{ÚS(?}[O]M)IE|N
| N|‘IEO,|NOIÏÍW0\{SÄld TIHO|-}
W|§IACT?HÚ
|GOI&NZ
U.S. Patent May 8, 2007 Sheet 23 of 23 US 7.215,652 B1

ZAYD?NVOZMG+I(ENi Z#
US 7,215,652 B1
1. 2
METHOD, APPARATUS, AND SYSTEM FOR any user node to transmit to the hub any time the user node
CALCULATING AND MAKING A has data to send and relying on the probability that no other
SYNCHRONOUS BURST TIME PLAN IN A user node chose to transmit at that time, which would cause
COMMUNICATION NETWORK a collision. Once the demand for bandwidth exceeds 18.4%
of the upstream channel (or 36.8% for slotted ALOHA), a
CROSS REFERENCE TO RELATED more complex Layer 2 (media access control layer) meth
APPLICATIONS odology is required to schedule TDMA bursts so that col
lisions are prevented.
The present application contains subject matter related to Many such Layer 2 methods exist, ranging from static
that disclosed in commonly owned U.S. patent application 10
configurations that permanently assign a given time slot to
Ser. No. 10/721,496, entitled METHOD, APPARATUS,
AND SYSTEM FOR DOWNSTREAM RECOVERY INA each user node, to more dynamic configurations which
COMMUNICATION NETWORK, filed Nov. 26, 2003; schedule bursts to service specific needs of individual user
U.S. patent application Ser. No. 10/721,497, entitled nodes.
METHOD, APPARATUS, AND SYSTEM FOR USING A 15 As with any network system, the usefulness of control
SYNCHRONOUS BURST TIME PLAN IN A COMMU techniques at Layer 2 or higher is dependent on reliable
NICATION NETWORK, filed Nov. 26, 2003: U.S. patent performance of Layer 1. The geo-stationary satellite channel
application Ser. No. 10/721,410, entitled METHOD, APPA is well known to have an extremely long one-way delay (up
RATUS, AND SYSTEM FOR FEATHERING DATA IN A to ~300 ms) and it is extremely power limited due to the long
COMMUNICATION NETWORK, filed Nov. 26, 2003; and propagation delay which results in the need to operate at the
U.S. patent application Ser. No. 10/721,414, entitled lowest signal-to-noise-ratio (SNR) possible in order to mini
METHOD, APPARATUS, AND SYSTEM FOR DEMAND mize the cost of radio-frequency (RF) equipment. Addition
ASSIGNMENT IN A COMMUNICATION NETWORK, ally, the channel is subject to further attenuation due to
filed Nov. 26, 2003, the entire contents of each of which atmospheric conditions, some of which are variable. Such as
being incorporated herein by reference. 25
rain fade. If the SNR becomes too low, the bit error rate
BACKGROUND OF THE INVENTION increases to an unacceptable level and all communication
breaks down and creates adverse effects up the entire pro
1. Field of the Invention tocol stack. In particular, the Layer 2 slot allocation process
This invention relates in general to satellite communica 30 breaks down very quickly for reliable protocol-protected
tion networks and in particular to a method, apparatus and data since the bandwidth demanded by user nodes is allo
system for efficiently optimizing bandwidth and sharing cated by the system, but the user nodes demand level is not
resources between multiple users of a satellite communica reduced since data is lost and must be retransmitted. The
tion network. situation worsens when the SNR is reduced so badly due to
2. Discussion of the Background 35 a fade condition that even station-keeping control informa
Geo-synchronous satellite communication networks have tion cannot get through and the user node actually drops out
existed for decades in various topologies and using various of the network. In this case the slot allocation process may
methods for sharing a fixed bandwidth channel between waste valuable bandwidth before learning of the outage by
multiple users (Pritchard, Wilbur L., and Joseph A. Scivli, allocating slots to the user node that the user node is unable
Satellite Communication Systems Engineering, Prentice 40 tO use.
Hall, 1986, incorporated in its entirely herein by reference). Problems continue to arise as modern higher-level proto
As these networks evolved, Time Division Multiple Access
(TDMA) and Frequency Division Multiple Access (FDMA) cols are considered such as Voice over IP (VoIP) and
bandwidth sharing techniques, and bandwidth efficient streaming media which are sensitive to packet jitter. These
Quadrature Phase Shift Keying (QPSK) modulation have 45 protocols are designed to overcome the jitter of Internet
become de facto standards for Layer 1 (physical layer) Protocol (IP) traveling over terrestrial connections where the
although many other techniques and modulations are used to jitter is primarily due to queuing delays; however, the jitter
SOme eXtent. introduced by a shared TDMA upstream satellite channel is
Pure TDMA mesh networks exist, in which all user nodes often enough to degrade performance even when quality of
take turns transmitting in a half duplex fashion. Pure FDMA 50 the Layer 1 connection is excellent.
point-to-point, or Single Channel Per Carrier (SCPC) net Any Layer 2 control protocol designed to maximize
works, exist to allow full duplex transmission and reception. throughput and mitigate the performance problems experi
Many commercially viable network systems have evolved enced by users of satellite networks is itself subject to the
into a hybrid star topology, as shown in FIG. 1, taking same problems as the application data packets. Traditional
advantage of the broadcast nature of geo-synchronous sat 55 control methods requiring handshaking are not very helpful
ellites by using a SCPC downstream carrier from a central since it takes too long, for example, to command one user
hub to all user nodes, and using one or more TDMA node to stop transmitting on a TDMA slot, wait for an
upstream(s) shared by all user nodes to communicate with acknowledgement, and then command another user node to
the hub. begin. Adding multiple upstream channels such that user
FIG. 1 illustrates a conventional satellite communication 60 nodes may transmit on any one of several channels helps
network. A plurality of user nodes 12 communicate with a matters somewhat since it increases the possible number of
hub 11 via a satellite 10. The hub 11 transmits data to the transmission opportunities per frame, however it does not
user nodes 12 via broadcast downstream channels 13. Each solve the problem of the delay incurred while changes are
of the user nodes 12 transmit data to the hub 11 via upstream made to the slot allocation.
channel 14. 65 An additional Layer 1 problem in traditional satellite
A very popular and simple implementation of the TDMA networks, as recognized by the present inventors, is that the
upstream channel is to use an ALOHA technique enabling network’s link budgets are over-designed due to the lack of
US 7,215,652 B1
3 4
adaptability of the modulation, demodulation, and FEC At least three processes and their associated signaling
processes used therein. For example, if the threshold SNR of protocols are used to accomplish this goal. The Demand
a link to achieve the minimum BER is 5 dB, a conventional Assignment (DA) process makes a decision every frame (40
link budget will include the amount of power required to ms+processing or greater) about how many TDMA time
achieve a 5 dB SNR plus XdB of rain margin (see Pritchard). slots out of an available pool of time slots will be allocated
The conventional approach is based upon the assumption to each user node to transmit data to the hub station. An
that when it rains, there will be up to XdB of atmospheric Uplink Control (UC) process constantly (or at least nearly
attenuation so an SNR of (5+X)dB is established during constantly) monitors channel assessments made by the hub
clear sky conditions to ensure an SNR of at least 5 dB during receiver every time a packet is received, sorts the assess
heavy rain. During clear sky conditions, which occur most 10
ments by user node, and makes a decision as to whether a
of the time for much of the world, XdB of link margin are user node should modify its frequency offset, symbol timing
wasted in the conventional approach. offset, transmit power, modulation, or FEC code in order to
FIG. 2 illustrates additional problems with conventional maintain channel quality as good or better than a threshold
network communication methods, as recognized by the
present inventors. This figure represents two timing sce 15 bit error rate (BER). Finally, a Downstream Recovery (DR)
narios, labeled as follows: No Synchronization, and Con process monitors the remote status messages received peri
ventional Synchronization. In each scenario, HRXSOFn(ta) odically from each user node and determines from the
represents the nominal time a start of a data burst time frame downstream SNR and number of cyclical redundancy check
(i.e. Start of Frame (SOF)) is received from user node “n.” (CRC) errors reported whether the node has fallen below the
and k2 represents the maximum variation of reception threshold BER. In this case, or the case that communication
time, or tracking error, for the worst case user node, due to is lost completely with a user node, the DR process begins
minor perturbations in satellite position. The frame's rela to send recovery packets to the node using an alternate, more
tive frame sequence is “a.” robust, modulation (e.g., Bi-Phase Shift Keying (BPSK)
In the No Synchronization scenario, SOFs are uncon modulation) using more energy per bit and/or a more pow
strained and arrive at various times due to variations 25 erful FEC code to try and reestablish communication.
between the propagation delays of each user node. In the To enable the DA and UC processes to work reliably and
Conventional Synchronization scenario, a time R. (Re react quickly to changing channel conditions, a synchronous
mote Conventional Delay for User Noden) is added at each Burst Time Plan (sBTP) is employed. The sRTPensures that
user node so that SOFs from all user nodes are received
synchronously to the Hub's transmit reference SOF. 30 the propagation delay is a same integer number of frames for
The conventional approach synchronizes HRXSOFn of all node-to-hub paths. This enables time slots, modulation,
each user node, but arrival time variation resulting from and FEC to be changed every frame even though that frame
satellite tracking error disadvantageously results in some is much shorter than the propagation delay between the hub
HRXSOFn occurring during hub frame n and some HRX and the user nodes.
SOFn occurring during hub frame n-1. 35 Since rain fade is a physical property of the satellite
Further, in the conventional approach, R., is chosen to channel, it is not possible to directly counteract its effect
synchronize HRXSOFn with subsequent Hub transmit SOF, without making a tradeoff. The traditional tradeoffs include
which results in simultaneous arrival of SOFs sent at dif either over-designing the link (which requires using more
ferent times in the frame sequence. Thus, data bursts arriving expensive RF equipment and possibly wasting bandwidth by
at the Hub cannot be assumed to have all been sent during 40 power limiting the link), or allowing the BER to increase
the same frame time, thereby complicating network control (which could become so bad that it causes a complete
methods and increasing response time to control commands outage). The UC and DR processes take a different
sent from the Hub. approach, which is to lower the effective data rate of the link
As recognized by the present inventors, the industry is in by changing modulation or FEC during the rain fade without
need of a network system that combats these problems and 45 BER degradation. Using traditional methods, the link is
enables standard off-the-shelf networking equipment using designed for Some availability based on the percentage of
standard protocols to take advantage of a communication time during the year that there is heavy rain at the user node
satellite's ability to reach user nodes at extreme distances location. For example, if it is expected that there will be rain
and in areas of the world where broadband terrestrial com fade of greater than 3 dB 0.01% of the year, the link can be
munication is otherwise not practical. 50 over-designed by 3 dB to produce a link that is 99.99%
available. If the same link were designed using a UC and DR
SUMMARY OF THE INVENTION process, the link could be designed with no rain margin.
When a rain fade occurs, UC and DR sense the condition and
Accordingly, one object of this invention is to address the change to an alternate modulation and FEC code which
above-identified and other problems with conventional sys 55 requires 3 dB less SNR in order to maintain the desired BER.
tems and methods. The consequence of using the alternate modulation and FEC
The present invention provides a method to enable a is that the data rate of the link is reduced (e.g., Switching
satellite network system to dynamically monitor and adapt from QPSK to BPSK halves the number of bits per second,
in real time to changing conditions on each satellite channel and increasing the FEC rate could reduce the data rate
and changing traffic patterns at the user nodes. Another 60 further). However, as recognized by the present inventors it
object of this invention is to maximize the quality of service is preferable to avoid the cost of over-designing the link in
that all users of the network experience by ensuring that each exchange for operating at a lower data rate during the
user node is communicating with the hub station at a higher infrequent periods of heavy rain. In fact, the UC and DR
data rate than conventionally possible while staying above a capability results in users getting higher performance than
threshold bit error rate, and furthermore, to ensure that the 65 they would using a traditional link design by choosing not to
TDMA upstream channel is shared amongst all users and decrease the cost of RF equipment, but instead to use the rain
applications according to predefined rules. margin that is no longer required to increase the bit rate that
US 7,215,652 B1
5 6
they can operate under clear sky conditions. Either way, UC FIG. 21 is a block diagram of an exemplary processor
and DR allow the users a valuable choice that they would not apparatus according to the present invention; and
otherwise have. FIG. 22 is a block diagram of an exemplary user node
according to the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS 5
DESCRIPTION OF THE PREFERRED
A more complete appreciation of the invention and many EMBODIMENTS
of the attendant advantages thereof will be readily obtained
as the same becomes better understood by reference to the Referring now to the drawings, wherein like reference
following detailed description when considered in connec 10 numerals designate identical or corresponding parts
tion with the accompanying drawings, wherein: throughout the several views, and more particularly to FIG.
FIG. 1 illustrates a conventional communication network 3 thereof, which illustrates an embodiment of a satellite
system; communication network according to the invention. A plu
FIG. 2 is timing diagram of a conventional communica rality of user nodes 304 communicate with a hub 302 via a
tion network system; 15 satellite 300. The hub 302 transmits a sequence of frames to
FIG. 3 illustrates a communication network system the user nodes 304 via broadcast downstream channel(s)
according to the present invention; 308. Each of the user nodes 304 transmitbursts of data to the
FIG. 4 is a block diagram of a hub according to an hub 302 via shared TDMA upstream channel(s) 310. The
embodiment of the invention; hub 302 is further connected (via a wired or wireless
FIG. 5 is a timing diagram of a communication network connection) to a LAN/WAN 314 and thereby communicates
system according to the present invention; with a plurality of devices including: network operator
FIG. 6 is an example of R, and H. timing diagram access devices 318 used to control system parameters; data
according to the present invention; service devices 320 including web servers, email servers,
FIG. 7 is an example timing diagram of synchronous BTP web/DNS caching servers, video archive servers, and other
according to the present invention; 25 related devices; voice service devices 322 including VoIP
FIG. 8 is a flow chart of a communication network control gateways and other devices connected to the public Switched
method according to the present invention; telephone network; and internet service devices 324 includ
FIG. 9 is a failsafe method state diagram according to the ing routers and other connection points to the global internet.
present invention; Each of the user nodes 304 is further connected to a
FIG. 10 is a demand assignment signal flow diagram in a 30 LAN/WAN 314, and thereby communicates with a plurality
communication network control method according to the of client computers 316 and client peripherals 326, including
present invention; Video conferencing devices, web servers, LAN routers with
FIG. 11A is a queuing diagram for a communication connections to other networks, VoIP routers with connec
network control method according to the present invention; tions to telephone and fax devices, and other peripherals. An
FIG. 11B is a diagram of a demand header calculation 35 embodiment of the hub 302, illustrated in FIG. 4, includes
process in a communication network control method accord a central control server 400 (a more detailed example of
ing to the present invention; which is shown in FIG. 21), connected via a bus 402, to a
FIG. 12 is a communication network control method hub transmitter 404 and a plurality of hub receivers 406.
signal flow diagram according to the present invention; For example, an embodiment of the present invention
FIG. 13 is a channel group diagram for a communication
40 may be used by a business with remotely located organiza
tions or users that otherwise have no conventional means of
network control method according to the present invention; accessing the global internet oran intranet. Client computers
FIG. 14 is a slot allocation process flow diagram for a 316 connected to a user node 304 could include a single PC
communication network control method according to the or an entire LAN/WAN with many PCs, VoIP equipment,
present invention; 45 Videoconferencing equipment, web servers, or any other
FIG. 15 is an example diagram of a feathering process for piece of equipment that can communicate directly or indi
a communication network control method according to the rectly using IP packets over Ethernet. Network operators
present invention; may, for example, use the present invention to provide
FIG. 16 is an example diagram of a feathering process satellite connectivity to these users. The network operator is
across multiple channels in a channel group according to the 50 responsible for administering at least the satellite portion of
present invention; the network. The operator has special access to the central
FIG. 17 is an example diagram of a feathering process to control server 400, which configures, monitors, and controls
minimize channel hopping in a channel group according to the network. Network control tasks may include adding and
present the invention; removing user nodes 304, and changing data rate and QoS
FIG. 18 is an upstream control process flow diagram in a 55 parameters, etc. . . . An example of a hub installation
communication network control method according to the according to the present invention includes a router con
present invention; nected to the central control server 400 and, via the LAN/
FIG. 19A is a downstream recovery process flow diagram WAN 314 and internet service devices 324, connected to the
in a communication network control method according to global internet. This example configuration allows client
the present invention; 60 computers 316 to access the internet over the satellite link by
FIG. 19B is a QPSK constellation used in the present designating the IP default gateway of each of the client
invention; computers 316 as the user node's IP address. This causes any
FIG. 19C is a BPSK constellation used in the present packets generated at the user node's LAN/WAN 314 des
invention; tined for IP addresses that are not local to be forwarded to
FIG. 20 is a flow diagram of a downstream recovery 65 the satellite router and over the air to the hub 302. Similarly,
process in a communication network control method accord the default gateway of the central control server 400 is set
ing to the present invention; for the router connected to the global internet. This causes
US 7,215,652 B1
7 8
packets that arrive at the hub 302 with IP addresses not signal. SOFs from the user nodes should be thought of as the
matching any of the subnets on the satellite network to be start of a virtual frame time period.
forwarded to the router and then on to the global internet. FIG. 5 depicts the timeline for an exemplary embodiment
In addition to a global internet connection, the network of synchronized BTP in an example network consisting of a
operator may have value added services running at the hub's 5
hub and three user nodes. One user node, user node #1, is
LAN/WAN. An example embodiment of the present inven located closest to the satellite, user node #3 is located
tion includes a VoIP gateway voice services device 322 furthest from the satellite, and user node #2 lies in between
which is connected to the LAN/WAN 314 at the hub and also
to a Public Switched Telephone Network (PSTN). In this (in distance/time) of user nodes #1 and #3. In this example,
a BTP is first transmitted from the hub to the satellite with
example, the user nodes 304 use VoIP equipment to call 10
a delay indicated as t. The BTP is then transmitted from
phone numbers on the PSTN using the satellite network as the satellite to each of the three user nodes. The propagation
a transport. Also in this example, web and email server and
caching equipment internet service devices 324 connected to delay of the BTP from the satellite to the user nodes is
the hub 302 offer special services to the clients connected to depicted by the three dotted lines extending from satellite
user nodes 304. 15 TxSOF to RX1 SOF, RX2 SOF, and Rx3 SOF, and the
In addition, although only a communication network propagation delays of the signals are ty, ty, and ts.
including a geostationary satellite has been discussed, the respectively. A unique delay, R is applied at each node
present invention also applies to communication networks before a start of frame time is transmitted to the satellite.
without a geostationary satellite, but instead incorporating From FIG. 5, it can be seen that the shortest R is applied
other physical layer features. For example, the network may at user node 3, which is the greatest distance from the
include optical transceivers, wireless or WiFi network satellite, and the longest R, is applied at user node 1 which
devices, microwave transceivers, broad beam or other low is the user node that is closest to the satellite. After applying
gain antenna based devices, low-earth, medium-earth, or the respective delay R at each user node, each user node
elliptical orbiting satellites, and other physical layer links as 25
transmits data bursts in a frame time period to the satellite
hubs and/or user nodes, when a delay is involved, either due with start of frame time as depicted by the dotted lines going
to propagation, or perhaps due to latency (e.g., a WiFi based from Tx1 SOF, Tx2 SOF, and Tx3 SOF to the satellite RX
hub that “wakes-up' at predetermined intervals to transmit SOF. Further, as can be seen in FIG. 5, each Re value for
data from/to user nodes, which may be other WiFi devices). a particular user node is selected Such that all start of frame
Furthermore, terrestrial-based RF-microwave transceivers 30 times transmitted by the user nodes arrive at the satellite
may be used as well. simultaneously. Subsequently, the satellite transmits the
Synchronous BTP received data bursts from the user node to the hub with a
To synchronize user nodes with a hub according to one propagation delay of t. As shown in FIG. 5, the arrival
embodiment of the invention, a round trip delay between time of the start of frame time periods from each user node
each hub/user node pair is set equal to a common integer 35 is offset from a previous start of time frame to be sent from
number of frame lengths. A duration of the selected frame the hub by HUB.
length influences system performance, as described below. FIG. 6 illustrated the round trip delay in the signal path
In addition, all user nodes receive the Burst Time Plan (BTP) from a hub Tx SOF to a hub Rx SOF, including delay Re,
and apply it in a manner so that no two user nodes collide for a particular user node. In this example, the propagation
with one another when data arrives at the satellite (or hub 40
delay from hub Tx SOF to satellite TX SOF is indicated as
receiver). These two requirements are satisfied by generat t, the propagation delay from satellite TX SOF to remote
ing a system timing reference at the hub transmitter (hub RX SOF is indicated as t the delay time applied at the user
TxSOF) and applying offsets at the hub receivers (H,) and node t is applied between the time of remote Rx SOF and
user nodes (R) to this reference. Each user node has its remote TX SOF at the user node. The propagation delay time
own R, based on its geographic location. In order to 45 from remote TX SOF until satellite RX SOF is illustrated as
provide the maximum amount of time for the user nodes to t, and the propagation delay from satellite RX SOF until
process a BTP, these offsets are applied optimally. hub RX SOF is indicated as t. Further, hub RX SOF is
Frame and Symbol Synchronization received He, after the previous hub Tx SOF in frame 6.
The hub and all user nodes are referenced to a Transmit 50 Calculation of the R for each user node depends upon
Start of Frame Sync Marker (TxSOF). This frame sync is a Hub Frame Start Delay, H. The H, is based on:
generated by the hub transmitter periodically at a fixed rate. location of a virtual user node (Vr) at a location on the
The time of arrival at each node of the frame sync is earth which is closest to the satellite, a known constant,
calculated based on the line of slight distance traveled by which determines a signal propagation delay between
the satellite and the virtual user node, t
each signal between the hub, satellite and user nodes, and the 55
known speed of radio signals along this path. The arrival location of the satellite relative to the hub, which deter
time of each burst at satellite, and in turn at the hub receiver, mines a signal propagation delay between the satellite
is controlled by setting an appropriate fixed delay at each and the hub, t
user node (R), as described below, thereby achieving ground delay associated with latencies in the hardware on
synchronization of each user node to within a symbol period. 60 both the hub and the user node, t,
Frame synchronization in turn allows for BTP synchroniza frame rate, F
tion. Note that throughout this specification, the use of maximum frame start delay, FSD-1/F-k, where k is a
terminology such as “SOF transmitted by user node' or constant that accommodates satellite movement from
“user node SOF received at the hub’ refer to the starting its “center location to its location when it is closest to
point of a virtual frame time period, that includes actual data 65
earth.
bursts within that frame sent from one or more user nodes to
the hub; although, the user nodes do not send an actual SOF He mod(2t+2t+ti-FSD).1/FI
US 7,215,652 B1
9 10
The R, calculation for each user node is based on: hub TxSOF for frame n. In the Conventional Sync scenario,
hub frame start delay. He, a delay time R. (Remote Conventional Delay for user node
location of the user node relative to the satellite, which n) is added at each user node so that the SOFs from each user
determines a signal propagation delay between the node are received synchronously, coincident with a hub
satellite and the user node, t, TxSOF. The diagram illustrates two problems with this
location of the hub relative to the satellite, which deter conventional approach:
mines a signal propagation delay between the hub and 1. Although the conventional approach nominally syn
the satellite, t chronizes HRXSOFn of each user node, each particular
frame rate, F user node is Suffering under a different tracking error at
ground delay associated with latencies in the hardware on 10 any given time. Thus, tracking error may result in some
both the hub and the user node, t, of the HRXSOFn being received during hub frame in
and some HRXSOFn being received during hub frame
n-1. In this example, HRXSOF2 is received less than
half of the total variation of reception time due to
Calculation and Distribution of R, 15 satellite perturbations, or k, before the hub TxSOF,
The H, is calculated during initialization on the hub thus, depending upon the current location of the satel
receiver using pre-configured hub and satellite location, and lite, HRXSOF2 is sometimes received during frame n-1
frame rate. Each user node is pre-configured with its loca and synchronized to the Hub TxSOF for frame n and
tion, or determines its location from a GPS input. Frame Sometimes received during frame n and therefore Syn
rate, and other user node parameters, including upstream chronized with hub TxSOF for frame n+1, resulting in
symbol rate, are sent to each user node via the downstream unpredictable timing.
channel and stored at the respective user node before the 2. The Conventional Synchronization approach results in
user node acquires into the network. When each user node simultaneous arrival of SOFs sent at different times in
is instructed to acquire into the network, it is also informed the frame sequence. In this example, HRXSOF1(t1) and
of the H (or of the variables needed to calculate it locally), 25 HRXSOF2(t1) both transmitted at frame sequence t1,
the location of the satellite, and the location of the hub. The are synchronized with HRXSOF3(t0), which was trans
user node calculates a Re, based on this information, prior
to transmission. This method accommodates both static and
mitted during the previous time period, to as shown in
FIG 2.
mobile user nodes, and the movement of the satellite—since FIG. 7 illustrates signal timing at a hub with synchronous
the user node recalculates the R, each time the user node 30 BTP according to an embodiment of the invention. HRX
is instructed to acquire into the network. SOF1, HRXSOF2, and HRXSOF3, are each received simul
As stated earlier, the hub transmitter uses the hub trans taneously at the hub. The time of arrival of these HRXSOF
mitter's TXSOF to start transmitting a new downstream signals is He, after each hub TxSOF. Further, the HRxSOF1,
frame in the modulator. At each user node, this downstream HRXSOF2, and HRXSOF3 received simultaneously, were all
frame boundary is delimited and a receive start of frame 35 transmitted relative to the same frame sequence from their
RXSOF is generated. The RXSOF on each user node is respective user nodes. k2 indicates the potential varia
delayed by a programmable frame start delay Ra, calcu tion in time of receipt of each HRXSOF signal due to
lated as above. With the Re, applied at each user node, the variation in satellite position, and T, represents the
start of all upstream frame times arrive simultaneously (i.e., amount of time from the preceding TxSOF until the earliest
within the ability of the hub demodulator to demodulate the 40 potential arrival time of the HRXSOF signals.
burst within the same symbol time) at the satellite, and hence The timing in FIG. 7 illustrates an exemplary solution to
simultaneously at the hub receiver. Individual bursts within both problems described above. First, a time H, is added to
the frame are controlled by the BTP see below. At the hub each user node to shift the arrival times of all SOFs closer
receiver, each upstream arrives at a fixed offset, H, relative to the middle of a hub frame time, such that Tmargin is
to the hub transmitter's TXSOF, so that the generated RXSOF 45 maximized, and so the user node closest to the satellite has
time period coincides with the start of the upstream frame. the maximum R. Second, R, is selected for each user
This allows the bursts to be extracted from the demodulated
signal. node (based on H) such that SOFs are received simulta
neously with respect to frame sequence. Thus, in this
To illustrate an embodiment of the invention with respect example, all SOFs received at HRXSOF1–3 in FIG. 7 were
to a conventional approach, FIGS. 2 and 5 illustrate the 50 transmitted by user nodes at the same frame time in the
following three timing scenarios: No Synchronization (FIG. sequence of frame times transmitted by each user node.
2), Conventional Synchronization (FIG. 2), and Synchro A communication network control method according to
nous BTP Timing (FIG. 5). In each scenario, HRXSOFn(ta) an embodiment of the invention is further illustrated in FIG.
represents the nominal time a start of a frame time period, 8. The process begins in step S800, where the hub delay is
Start of Frame (SOF), is received from user node “n,” and 55 calculated. The process then processes to step S802, where
k2 represents the maximum variation of reception time, the hub delay and other parameters are transmitted to each
for the worst case user node, due to minor perturbations in user node. The process continues in S804, where a trans
satellite position. The frame's relative frame sequence is mission delay for each user node is calculated using the
a.
received parameters and received H. Next, in step S806,
In the No Synchronization scenario, SOFs are uncon 60 the hub transmits a sequence of frames to each of the user
strained and arrive at various times due to variations nodes. Further, the process continues in step S808, where
between the propagation delays of each user node. In this each burst is delayed by R. and each of the user nodes
example, SOFs from user nodes 1 and 2 transmitted at frame transmits data bursts in a frame time period to the hub, in
sequence t1, HRXSOF1(t1) and HRXSOF2(t1), respectively, step S810. Finally, in step S812, the frame time, including
are received at the hub prior to the hub TxSOF for frame n, 65 data bursts from each user node, are received simultaneously
while the SOF from user node 3 transmitted at frame at the hub. He, after the start of a hub frame time. Thus, the
sequence t1, HRXSOF3(t1), is received at the hub after the R, for each node is selected to ensure that data burst frame
US 7,215,652 B1
11 12
times from each user node arrive at the satellite simulta hub to the time when a return burst arrives at the hub
neously, and are then transmitted to the hub, where they are receiver (taking into consideration H.), synchronization is
also received in their respective slots according to the frame advantageously simplified. The hub buffers “n” BTPs and
timing. applies the BTP that was sent “n” frames previously. The
burst controller at the hub receiver informs the demodulator
BTP Synchronization as to which modulation and FEC to use since it knows the
Frame synchronization as detailed above provides the current settings of the node that sent each burst.
ability for bursts within a frame to be optimally used without
the fear of a burst from one user node colliding with the burst Demand Assignment Process
of another user node on the same upstream. The synchro 10
The DA process ensures that TDMA slots on the upstream
nous broadcasting of a BTP from the hub to all user nodes channel are allocated in a manner consistent with the
is used to control which upstream channel, and which bursts resource sharing rules specified by the network operator or
within that upstream channel, are enabled for a specific user user. These rules are applied on a node-by-node basis and
node. involve rate shaping and Quality of Service (QoS) priorities.
The hub transmitter uses the hub transmitter TxSOF to: 15
Rate shaping rules govern the data rate allocated to a user
generate an interrupt to the BTP process a configurable node, such as a minimum, maximum, or Committed Infor
mation Rate (CIR guaranteed when required). A benefit of
time period prior to the TxSOF. The interrupt is earlier this process is that there is no requirement that this data rate
than TxSOF to account for all hardware latencies in
both the hub transmitter and user node receivers. This
maps evenly to a number of TDMA slots, and therefore the
network operator defining the rate shaping rules may be
allows the BTP to be placed in the downstream earlier agnostic to the TDMA implementation.
than the actual start of frame and ensures that the user QoS priority rules govern the relative priority of different
node is given the maximum amount of time to process types of data that may arrive at the user node and destined
and apply the BTP prior to the start of the user node's for the hub or a destination on a network (such as the
transmit start of frame; and internet) connected to the hub. It is quite common for several
synchronize the start of the downstream frame encapsu 25
user nodes to have identical rules. For example, the network
lation and FEC block boundaries. operator may choose to limit all nodes to a maximum of 100
The interrupt to the BTP Process on the hub transmitter in kbps. When allocating slots to user nodes with identical
turn is used to: rules, the DA divides the slots equally.
select the next BTP from the BTP queues and broadcast 30
FIG. 10 illustrates an exemplary embodiment of the
it to the downstream user nodes; and Demand Assignment Process. An interrupt S1000 occurs at
trigger the BTP process to send a message to the central a programmable interval triggered by a frame marker in the
control server On detection of the BTP request mes hub transmitter. A Burst Time Plan (BTP) generator assigns
Sage, the DA process on the central control server sends TDMA slots based on data structure and upstream param
a new BTP to the hub transmitter. The hub transmitter 35
eters in the central control server, in step S1002. BTP is
inspects packets coming from the central control server multiplexed into a downstream broadcast channel in the hub
and transmits those containing BTPs ahead of other transmitter, in step S1004. BTP is decoded by each node, and
enqueued packets. internal buffering is modified based on the number of slots
On each user node, the BTP is extracted from the down to be transmitted in the upcoming frame in step S1006. Each
stream frame by the BTP process and applied to the burst 40
node updates its transmitter to schedule bursts on the TDMA
controller immediately. At the appropriate time, the burst slots it has been allocated on the upcoming frame in step
controller enables the modulator to transmit data onto the S1008, and synchronous BTP firmware ensures that data is
selected upstream carrier. The BTP determines both the transmitted during scheduled slots with an updated Demand
frequency of the burst and in which slot or slots in the frame Header added in S1010. In the hub receiver, TDMA bursts
the data is transmitted. 45
are received and error checked. Good (i.e., not detected as
A failsafe mechanism prevents errant BTP from being being corrupted) packets are forwarded to the central control
applied to the burst controller. server in step S1012. In the central control server, demand
FIG. 9 illustrates the sequence of events in an exemplary data is sorted, in step S1014, by user node into its corre
embodiment of BTP synchronization by the burst controller sponding position in a Demand Data Structure 1050.
each frame. First, the TxSOF pulse occurs, bringing the 50 DA at the User Nodes
process to step S902, where it waits for a BTP update. Then Components of the DA Process exist at every user node
the BTP memory is updated with the next frame's informa where demand information is collected and packets are
tion, which brings the process to step S904 where it waits for queued according to the current allocation of TDMA slots.
the BTP to be armed. Finally the BTP is armed bringing the Every single packet that is transmitted over the upstream
process to step S906 which indicates that data will be sent 55 channel is prepended with a header to reflect the current
when the current time slot number matches any that are demand levels of the user node at the time when that packet
allocated to the node for the current frame. In the event that was sent. This ensures that the DA decisions made by the
the correct sequence is not followed, the process is brought central control server are using the most current information
possible.
back to step S900, and the BTP is ignored until a valid FIG. 11A illustrates an exemplary embodiment of a por
sequence has been received and no further bursts are trans 60
tion of the DA process at the user nodes. In this example, the
mitted in the interim. A failsafe mechanism is needed process uses a queuing system that separates data into
because it is possible, due to factors such as excessive different queues according to QoS service levels, a demand
processor loading, that an incorrect sequence may occur that calculator, and an adjustable length transmit queue. Each IP
could apply an incorrect BTP and cause collisions. packet 1100 arriving from a user node LAN is classified
A BTP process is also running at each hub receiver and is 65 according to the QoS Service Level Rules specified by the
applied to a burst controller. Since there is an integer number network operator in step S1102, and then segmented into
of frame times “n” from the time a burst is transmitted at the blocks the size of the TDMA payload in step S1104.
US 7,215,652 B1
13 14
Segments 1108 are distributed into different queues 1110. themselves, which are sent with the segments. The % Real
each corresponding to a different QoS Service Level, and Time Demand is a number that represents the percentage of
then segments are taken from Service Level queues by a the Total Demand generated by service level queues flagged
weighted fair queuing step S1112, appended with DA Head as Real Time. The CIR Trigger is a flag in the header that is
ers in step S1114 and placed into the Transmit Queue 1118 checked if any of the service level queues with CIR Trigger
based on the weighted priority of each QoS Service Level. status contain pending segments.
Latency is minimized by adjusting the length of the Transmit The adjustable length transmit queue at each user node
Queue 1118, in step S1116, in proportion to the number of optimizes latency and throughput of the upstream channel
TDMA slots allocated to the user node on the upcoming by avoiding two situations which could cause Sub-optimal
frame, based upon the BTP updated via downstream update 10
performance. The transmit queue “pulls' a segment from the
on every frame. service level queues when the number of queued packets
The queuing system uses service levels defined by a set of falls below the current queue length threshold. Consider a
rules describing properties of an incoming packet. A simple situation where five segments are in the transmit queue of a
QoS configuration may designate one service level for TCP 15
user node but 10 TDMA slots have been allocated to the
packets, another for UDP packets, and another for every node for the current frame. In this situation, the upstream
thing else. More complex service levels are defined accord transmitter may transmit all five segments before the trans
ing to IP address ranges, TCP port numbers, or any other mit queue can “pull five more and the result is that five
parameters that are used to classify packets. It is important transmission opportunities were missed and hence, band
to note that the data units enqueued in these service level width has been wasted. Consider a second situation where
queues are not complete IP packets, rather, they are seg many low priority segments are endueued in the transmit
mented packets divided up such that each segment fits into queue waiting to be sent while higher priority segments may
the payload portion of a TDMA burst. By segmenting, finer have Subsequently arrived at a high priority service level
granularity is achieved so the weighted fair queuing deci queue. In this case, the weighted fair queuing algorithm has
sions are made on a burst-by-burst basis using identical 25 already made a decision to put the low priority segments into
sized units, rather than on a packet-by-packet basis using the transmit queue because it didn't know that a high priority
variable sized units. The result of using this segmentation is segment was going to arrive. Now the high priority segment
a lower latency, optimally fair queuing system because it waits in the service level queue until the transmit queue can
avoids the situation where a large packet monopolizes the accommodate it, hence the high priority segment’s latency is
transmit queue while other packets (potentially of higher 30 increased and the relative priority wishes of the network
priority) build up in the service level queues. operator have not been optimally honored.
Each service level queue has two associated “flags” to In theory, a solution to this problem would be to have no
identify special properties of the queue: the Committed transmit queue at all and to take packets directly from the
Information Rate (CIR) Trigger flag, and the RealTime flag. service level queues and feed them directly into the
The flags are either checked or unchecked by the network 35 upstream transmitter. In practice, however, it is very difficult
operator when the QoS rules for the service level are to synchronize the timing of the frames (which must be
specified. If the CIR Trigger flag is checked for a given accurate to the resolution of one modulation symbol time)
service level, the queue is authorized to request that the user with the user node's control processor (whose response time
node be granted bandwidth, up to the CIR specified by the varies with loading). Therefore, a good Solution is to adjust
network operator in the rate shaping rules, for as long as 40 the length of the transmit queue in direct proportion to the
segments are pending in that queue. Similarly, if the Real number of TDMA slots (transmission opportunities) that
Time flag is checked for a given service level, the segments have been allocated to that node for the current frame. The
in that queue are given Real Time status when calculating proportionality constant governing the relationship between
the total demand of the user node. CIR Trigger status and allocated slots is implementation dependent. In the case
Real Time status are mutually inclusive because a network 45 where the frame is fairly long and the control processor on
operator may, for example, want to designate VoIP traffic as the user node is fairly fast, a proportionality constant less
Real Time and also allow that traffic to request the CIR than one is chosen to yield a transmit queue shorter in length
specified for that node. than the number of slots allocated. Conversely, if the
The demand calculator is essentially a compression upstream frame is short and the processor is relatively slow,
method in that it collects complex information about the 50 a proportionality constant greater than one is chosen to avoid
demand of the user nodes and compresses it into a very Small wasting transmission opportunities.
header Summarizing the information. Communicating the FIG. 11B further illustrates an exemplary embodiment of
node's demand concisely is important for two reasons. First, the present invention including the collection of parameters
bandwidth on the upstream channel is a precious commodity from each Quality of Service Queue 1110. The collected
due to the cost of the satellite segment and the fact that the 55 parameters include a CIR Trigger 1126, Real Time 1120,
channel is shared by many users. Wasting too much band Arrival Rate Measurement 1122, and Depth Measurement
width on demand request overhead diminishes the overall 1124. In this example, these collected parameters and the
benefit of a demand driven system. Second, limiting the configuration of the associated queue are used by a calcu
number of input parameters to the DA process on the central lating demand step S1114 to calculate new demand header
control server serves to simplify its implementation, thereby 60 1136 values every time a segment is transmitted. The
increasing the speed with which decisions may be made. demand header 1136 includes a total demand field 1130,
The three fields in the demand header are Total Demand, which represents the total number of slots required to satisfy
% Real Time Demand, and CIR Trigger. Total demand is the demand, a % real time field 1132, which represents the
equal to the total number of TDMA slots required to satisfy percentage of the total demand generated by queues marked
the demand at the user node. An additional overhead factor 65 as RealTime, and a CIR trigger field 1134, which indicates
may be used to increase the Total Demand number to whether any of the demand is generated by queues that are
account for the overhead data, such as the demand headers entitled to request that the user node's CIR be allocated.
US 7,215,652 B1
15 16
FIG. 12 illustrates upstream packet flow in an exemplary
embodiment of the invention. In a user node in this example,
a demand header 1202 is added to each TDMA packet or Example Rate Shaping Rules:
payload 1200. In the hub receiver, an assessment trailer 1204
is added to each payload 1200. In the central control server, NODE Minimum Rate Maximum Rate CIR
the assessment trailer 1204 and demand header 1202 are
stripped from the payload and sent to the Upstream Control A. 10 kbps 50 kbps 20 kbps
B 20 kbps 1000 kbps O
Process and the Demand Assignment Process, respectively. C 10 kbps 500 kbps 100 kbps
DA at the Central Control Server D 50 kbps 100 kbps 100 kbps
10 E 10 kbps 50 kbps O
A decision-making component of the DA process resides F 20 kbps 50 kbps 30 kbps
at the central control server. Inputs to the DA decision G 10 kbps 1000 kbps 50 kbps
H 50 kbps 100 kbps 100 kbps
module are real time estimates of each user node's demand,
configuration parameters for the upstream channel group
consisting of one or more upstream channels, rate shaping 15
rules defined by the network operator for each user node,
and high level priority directives governing the relative
priority of Real Time, CIR, and statically assigned TDMA Example Real Time Demand Information (for current frame time
slots. NODE Total Demand % RealTime CIR
FIG. 13 illustrates an embodiment of an Upstream Chan A. O slots O No
nel Group 1300 with M Channels 1306, each on a separate B 80 slots O No
frequency, with N (or a multiple of N) time slots 1304 C 40 slots 25% No
repeating every Frame 1308. D 10 slots O Yes
E O slots O No
The demand assignment decision process is started every F 5 slots O No
frame by the hub transmitter by sending a BTP request 25
G 60 slots O Yes
packet to the central control server shortly before a new H 40 slots 50% No
frame starts. When the decision process is kicked off, a
demand-driven slot allocation decision is made to dole out
a certain number of slots to each user node. The list of user Example Demand Assignment Decision Process Explana
nodes and the number of slots each has been awarded is 30 tion
passed to the feathering algorithm to optimally spread the Two upstream carriers with 100 slots per frame each
allocated slots over the frame so as to minimize the amount results in 200 slots available for the current frame.
of packet jitter that will be introduced by the system. Finally, 235 slots requested so DA will have to make a decision.
and without changing the feathering that was just performed, Per the Example Prioritization Rules, the Minimum Data
the slots assignments are divided up into separate upstream 35
Rate is satisfied first for all nodes regardless of their
channels and placed into a BTP packet which is sent to the current demand. Since a single slot represents 1 kbit of
user nodes via the downstream channel. An additional step data, a minimum rate rule of 10 kbps is satisfied by
modifies the BTP in order to minimize the number of times allocating at least one slot per frame.
each user node will have to hop in frequency between one slot contains 1000 data bits.
upstream channels in order to use all the transmission 40
opportunities it has been awarded. Example slot allocation after satisfying the minimum data
rate constraint:
A detailed view of an exemplary embodiment of the DA
is illustrated in FIG. 14. A demand driven Slot Allocation
Decision S1406 is made once per frame (i.e., each time a 45
new BTP Request 1414 is received), and is based upon NODE Slots
inputs from Upstream Channel Group Configuration Param
eters 1400, Prioritization Rules 1402. Upstream Rate Shap A. 1 slot
B 2 slots
ing Rules 1404, Recent Frame State Information 1408, and C 1 slot
Demand Data Structure 1050. Feathering S1410 is per 50
D 5 slots
formed to spread slot allocations across the frame time E 1 slot
period to minimize upstream jitter, and a new BTP Packet F
G
2 slots
1 slot
1412 is sent every frame to the hub transmitter which H 5 slots
multiplexes it into the downstream channel.
For example, an embodiment of the present invention 55
may include the following upstream channel configuration A total of 18 slots have been allocated in this example and
parameters (additional discussion of the parameters follows 182 slots remain free.
the example): Per the prioritization rules, CIR is satisfied next.
100 slots per frame Node D is requesting 10 slots which equates to 100 kbps.
two upstream channels each at 1 Mbps 60 Node D's CIR flag is checked and is allowed a CIR of
10 Frames per second 100 kbps. Node D has already been allocated 5 slots to
In this example, the following prioritization rules are applied satisfy its minimum rate rule so it is allocated another
in this order: 5 to satisfy its demand.
Node G is requesting a total of 60 slots which equates to
1) Minimum Data Rate: 65 600 kbps. Node G's CIR flag is checked and its CIR is
2) CIR 50 kbps. Node Galready has 1 slot so it is given 4 more
3) Real Time Data to satisfy its CIR.
US 7,215,652 B1
17 18
The example allocation after satisfying CIR is: The Final example allocation after satisfying as much
remaining demand as possible:

NODE Slots
NODE Slots
A. 1 slot A. 1 slot
B 2 slots B 73 slots
C 1 slot C 40 slots
D 10 slots
D 10 slots 10
E 1 slot
E 1 slot F 5 slots
F 2 slots G 60 slots
H 10 slots
G 5 slots
H 5 slots
15
A total of 200 slots have been allocated and 0 slots remain
free.
A total of 27 slots have been allocated and 173 slots remain
free. Example Allocation Summary:
Node B's demand was not completely satisfied because
Per the example prioritization rules, RealTime demand is there were not enough slots available.
satisfied next. Node H's demand was not completely satisfied because it
Node C is requesting 40 slots and 25% (or 10 slots) of its requested more than its maximum bandwidth.
demand is Real Time. It already has one slot and it is Nodes A and E each received a slot even though they did
allocated 9 more to satisfy all Real Time demand. 25
not ask for one since their minimum rate constraint
Node H is requesting 40 slots and 50% (or 20 slots) of its dictated that it must get at least one slot per frame.
demand is Real Time. To completely satisfy Node H's All the variables input to the DA decision component may
Real Time demand, it would need 15 more slots to be set up at System initialization (or when a network operator
increase its total to 20 slots. However since that would intervenes) with the exception of the real time demand
30 information which is stored in a data structure and is
equate to a data rate of 200 kbps, the maximum rate constantly updated.
constraint of 100 kbps would be violated. Therefore, During times of low network loading when the total
Node H is allocated 5 more slots for a total of 10. number of slots requested does not exceed the total number
of slots available, the DA has no decision to make. The DA
The allocation after satisfying Real Time demand: 35 gives every node the number of slots it asked for, feathers
them across the frame, and sends the BTP. The most
significant benefit of this approach is realized when network
NODE Slots loading is high and user nodes are requesting far more slots
than the DA can give them. In fact, if the QoS service level
1 slot
2 slots
40 queues are set deep enough at a given node, the node may
slots request to use as many slots as possible. If the node is only
slots able to transmit on one carrier at a time the node may request
1 slot to use every slot in the frame of a given upstream. If the node
2 slots has multiple transmitters, it may ask for every slot on all
5 slots
O slots 45 upstream channels. When one or more nodes requests more
than their share, DA enforces the rules.
To enforce rate-shaping rules, the DA pre-computes the
At this point in the example, a total of 41 slots have been equivalent bit rate of one slot per frame. For example, if
allocated and 159 slots remain free. there are 10 bits per slot, 10 slots per frame, and 10 frames
50 per second, the bit rate of a single slot per frame is 100 bits
Now that all high level prioritization rules have been per second. If a maximum rate rule of 200 bits per second
followed, the remainder of the slots will be allocated to is specified for a given node, DA ensures that no more than
honor as much of the remaining demand as possible. 2 slots are allocated to that node on any given frame.
Nodes B, C, F, G, and H still have "general demand that Similarly, if a minimum rate rule of 100 bits per second is
has not been satisfied however Node H has already 55 specified for a given node, DA ensures that at least one slot
per frame is allocated to that node on every frame. CIR rules
been allocated its maximum So it will get no more slots. are similar and may be considered variable minimum rate
Doling out the remaining slots equally would yield 39.75 constraints. If a node has a CIR equivalent to 4 slots per
slots for each of the 4 nodes. frame, DA allocates at least 4 slots when the node demands
Two of these four nodes don't need 39.75 slots; Node C 60 4 slots or more, however it need not allocate any slots if
needs 30 more and Node F needs 3 more. The demand there is no demand.
for these two nodes is satisfied leaving 126 slots left. A new problem is introduced if a minimum rate rule of
less than one slot per frame, for example 50 bits per second,
The two other nodes B and G may split up the remaining is defined. This case requires that the DA process store state
126 slots 63 each but G only needs 55 more slots so its 65 information about previous frames to ensure that the mini
demand is satisfied leaving 71 slots remaining for Node mum rate rule is enforced. In this example, DA would assign
B. one slot every other frame to achieve a 50 bit per second
US 7,215,652 B1
19 20
rate. Traditional TDMA systems use a concept of a super three corresponding 20 slot frames, 1600, 1602, and 1604,
frame that spans N frames to potentially assign a slot every each corresponding to an upstream channel.
other frame to fulfill this requirement; superframe systems It may be desirable to hop in frequency as infrequently as
send a BTP once per superframe. However, DA advanta possible, in which case the slots may be reshuffled between
geously establishes a relationship between slots and bits per upstream channels (along the frequency axis) to minimize
second, and by saving state information about the frames hopping without changing the optimal feathering along the
that occurred in the past second, performance equivalent to time axis. For example, as illustrated in FIGS. 16 and 17, the
that of Superframe systems is realized. And, most impor slots in 20 slot frames 1600, 1602, and 1604 are reshuffled
tantly, since DA does not have to plan ahead N frames, it can to result in 20 slot intervals 1702, 1704, and 1706, respec
change the BTP every frame which makes the system much 10
tively, which will result in reduced frequency hopping.
more responsive to changing demand than a Superframe
based system. An alternative embodiment includes an additional con
Another benefit of storing state information from several straint in the DA and feathering algorithms to restrict slot
previous frames is realized in cases where there is no choice, assignments that would otherwise require a frequency hop in
in a given frame, other than to make an unfair decision. 15 consecutive slots. The additional constraint specifies a num
Consider the case where there is only one upstream channel, ber of slots to be skipped when a frequency hop is scheduled.
10 slots per frame, three user nodes A, B, and C, and no rate Further, these skipped slots are made available for allocation
shaping rules set. Assume there is high demand at all three to other users so they are not wasted because the constraint
nodes so all of them are requesting 10 slots (the whole applies only to the node that is currently Switching fre
channel). A fair decision would be to allocate 3.333 slots per quency. This alternative embodiment advantageously pro
frame to each node. Since it is not possible to allocate /3 of vides settling time to a transmitters analog circuitry that
a slot, DA allocates 4, 3, and 3 slots to nodes A, B, and C must settle when the frequency is changed.
respectively. If demand remains high during the next frame, Upstream Control Process
DA remembers that Agot an unfair advantage during the last Five upstream signal parameters are adjusted in real time
frame and it therefore it allocates 3, 4, 3 to nodes A, B, and 25
for every user node in the network: Symbol Timing, Fre
C respectively. This rotation of the unfair advantage leads to quency, Power, Modulation, and FEC. Symbol timing guar
fairness on average over time. antees that each node transmits in exactly the right symbol
An additional priority factor considered by the DA is the time within the TDMA frame. Frequency adjustments
high level importance of different types of rules set by the
network operator. These high level priorities are, Real Time 30 ensure that bursts stay centered in the allocated spectrum.
data, minimum data rate, and CIR, in no particular order. Power, Modulation, and FEC adjustments are used to main
The order of the high-level prioritizations chosen by an tain an acceptable bit error rate even when the channel is
implementer of the DA process is not important for the experiencing a severe rain fade.
algorithm to work, it is only required that Some ordering be At least two network features contribute to the respon
determined so that DA can “break ties' when necessary. 35 siveness of the UC process. First, channel quality assess
An example of optimally feathering slots after all alloca ments are made every time a TDMA burst is received at the
tion decisions are made is illustrated in FIGS. 15–17. The hub. The assessment consists of a Symbol Offset, Frequency
feathering process begins by adding up the total number of Offset, and an SNR. These are attached to a trailer before the
slots available 1502 for a given frame. For example, if there burst payload is forwarded to the central control server. By
are three upstream channels and 20 slots per frame, then the 40 collecting information in real time, an accurate running
virtual frame 1502 is 60 slots long. Target slot assignments average of all parameters for each node is maintained and
1503 and slot assignments per node 1500 are calculated for used to make adjustments. A second feature is the synchro
every node which will equally space them throughout the nous BTP that notifies the demodulator on the hub receiver
virtual frame using a floating point number. For example, if as to which user node generated the burst in each time slot.
11 slots are to be allocated they would have to be allocated 45 Since the hub receiver knows which modulation and FEC
every 5.45 slots 0, 5.45. 10.9, 16.35. . . . 49.05, 54.5). The the nodes are using, it can reconfigure these settings in the
numbers are then converted to integers by taking the ceiling demodulator on a slot-by-slot basis.
of each 0, 6, 11, 17, 22, 28,33, 39, 44, 50, 55. Once a target Without synchronized BTP switching modulation and
allocation is chosen for all the nodes, they are allocated slots FEC would still be possible, however, it would not be as
in the virtual frame 1504 one at a time starting with the node 50 efficient because latency would be added and, potentially,
that will receive the most slots. The first slot in every target data would be lost in the transfer. This latency would be
allocation is the 0th slot; see the example in FIG. 15 where introduced because the node would be notified of the change
the target allocation for Node 2 is 0, 8, 15, 23, 30, 38, 45, /4 second or more after the hub receiver would be notified.
53. Since the 0th slot is already occupied, and the interval Therefore, the hub receiver would be trying to receive with
between slots must be preserved for optimal feathering, 55 the new modulation and/or FEC although bursts would still
every number is shifted up by one to produce 1, 9, 16, 24, be in transit having been sent by the old modulation and/or
31, 39, 46, 54. When these slots are entered into the virtual FEC so they could not be correctly demodulated and
frame 1504, they all fit except for slot 39 which is already decoded. Another problem that would occur without syn
occupied. When this happens, the interval between slots chronous BTP is that modulation and FEC would have to
must be violated and the feathering algorithm attempts to get 60 either be statically mapped to specific slots in the frame or
as close as possible to the target by shifting one slot left, then scheduled via messaging that would be subject to the latency
one right, then two left until an open slot is found. problem described above. Such a static mapping would
Once all allocated slots have been placed into the virtual complicate any demand assignment algorithm since it would
frame, it is separated into upstream channels with virtual slot have an additional constraint that, for example, slot 0 on
0 mapping to upstream 0, slot 0, Virtual slot 1 mapping to 65 upstream 1 is using BPSK So that slot may only be assigned
upstream 1, slot 0, and so on as illustrated. For example, as to nodes transmitting BPSK. No such restrictions exist when
illustrated in FIG. 16, the virtual frame is separated into the synchronous BTP is employed.
US 7,215,652 B1
21 22
As mentioned above, the ability to change modulation and S1950, marked packets are sent either to a primary or
FEC dynamically enables all available power to be used to alternate modulation path by demux 1920 under control of
increase throughput rather than wasting power to over come selection step S1922. Marked packets are sent to a separate
rain fades which happen infrequently. layer 2 queue 1902, passed through an alternate FEC
FIG. 18 illustrates an exemplary embodiment of the 5 encoder in step S1908, and mapped for an alternate modu
Upstream Control Process. For each node, an appropriate lation in step S1910. Likewise, downstream data packets,
modulation and FEC are chosen and adjustments to power, intended for user nodes for which downstream recovery has
timing, and frequency offset are calculated and placed into not been activated, are not marked in the Central Control
a UCP message, by the Central Control Server, in step Server before forwarding, in step S1900. In the hub trans
S1800. UCP Messages are multiplexed into a downstream 10 mitter, unmarked packets are sent to a separate layer 2 queue
broadcast channel in the hub transmitter in step S1802. The 1916, passed through a primary FEC encoder in step S1904,
UCP Message is decoded by each user node, and new power,
timing, and frequency offset parameters are immediately and mapped for a primary modulation in step S1906. These
applied to a user node transmitter in step S1804, while new in step are
packets then multiplexed in step S1912, and modulated
modulation and FEC parameters are applied on an upcoming 15 channel, under at
S1914 Layer 1 into the downstream broadcast
the control of FEC block counter 1924 and
frame in S1806. TDMA bursts are received in the hub
receiver, where channel quality is assessed and the assess alternate block enable step S1918. A user node detects
ment is appended to the burst before forwarding to the locally that its downstream signal is degraded or lost and
Central Control Server in step S1808. In the Central Control automatically switches to the alternate FEC and modulation
Server, channel assessments are sorted by user node in step 20 in step S2052. Each user node sends a remote status message
S1810, averaged with other bursts from the same user node, containing the average downstream Signal to Noise Ratio
and stored in corresponding positions in an Assessment Data received at theconfigurable
(SNR) at a frame, in step S2054. Bursts
hub receiver are forwarded to the Central
Structure 1850. A message is sent to the hub firmware every
frame in step S1812 to prepare for modulation and FEC Control is greater
Server in step S2056. If reported downstream SNR
than a threshold value in step S2060, no action is
changes. Synchronous BTP enables the hub receiver to 25 taken. If SNR falls below the threshold in step S2060, the
accommodate changes in modulation or FEC on a slot by downstream recovery process is activated for that user node.
slot basis in step S1814. In addition, if no bursts are received from a user node within
Downstream Recovery Process a configurable time period, it is declared to be Out of
Satellite network system link budget constraints are often so Network and the downstream recovery process is activated
tighter on the downstream channel, thus, the downstream for that user node in step S2058.
connection may be the first to drop out during a rain fade. Both the primary and alternate FEC codes map to the
Since there are a number of different types of RF equipment same number of PSK symbols. For example, the primary
and a number of possible upstream/downstream data rate path may have 4096 bit FEC blocks which map to 2048
combinations, a universal network system should have the is QPSK symbols and the alternate path may have 2048 bit
ability to adapt both directions to combat rain fade. FEC blocks which map to 2048 BPSK symbols. This
An obstacle when considering an adaptive technique on enables either block to be advantageously multiplexed inter
the downstream channel is that the downstream channel is a changeably at Layer 1 just prior to the PSK modulator. An
point-to-multipoint connection as opposed to the multipoint additional method employed is to orient the BPSK constel
to-point connectivity in the upstream direction. Therefore, 40 lation on a 45 degree axis such that the signal energy is
any special treatment of the signal to enable one node to divided equally between the Inphase and Quadrature modu
receive it more clearly should not affect the ability of any of lation phases. By doing this, the amplitude envelope of the
the other nodes to receive the same carrier. signal does not change whether QPSK or BPSK is used so
One way to solve this problem might be to enable the the signal “looks' the same to all gain stages in the system.
nodes to receive either a BPSK or QPSK signal. The hub 45 This orientation also ensures that valid symbol timing esti
could transmit a broadcast QPSK signal while clear sky mates may be made by the demodulators at each node
conditions are present at all nodes and then it could Switch regardless of the modulation because signal peaks and Zero
to BPSK (and potentially a stronger FEC code) if any node crossings will be seen on both phases. Further, since the
reports a falling SNR. A problem with this solution is that by BPSK constellation is a subset of the QPSK constellation,
switching to BPSK, the data rate of the downstream channel 50 phase estimates (measurements of the degree of constella
is reduced; thus the whole network suffers because there is tion rotation) are valid for either one. The only difference is
rain at a single user node site. As the network size grows, the that the slicer of the BPSK demodulator has a 180 degree
likelihood that at least one node is in a fade condition decision boundary instead of 90 degrees which results in a
increases and the network will end up using the lower rate 3 dB improvement in the ratio of Energy per bit transmitted
downstream a majority of the time. This negates any advan- 55 to the average noise of the channel (Eb/No). To further
tage of an adaptable downstream. improve the ability of nodes to overcome a fade condition,
FIGS. 19 (19A-19C) and 20 illustrate an exemplary the implementer selects a more powerful, lower rate FEC
embodiment of the Downstream Recovery process used to code for the alternate path than the code used in the primary
send “recovery data to only the node which is suffering path.
from a rain fade without changing the manner in which data 60 An example of an embodiment of the claimed invention
is sent to the rest of the nodes in the network. In this is illustrated in FIGS. 19B and 19C. In this example, by
example, all nodes in clear sky conditions will receive data offsetting the BPSK constellation by 45 degrees, the signal
along the primary path and all fading nodes will receive data is distributed equally on the I and Q components and the
that traverses the alternate path. Downstream data packets, points are common to the QPSK constellation. Therefore,
intended for user nodes for which downstream recovery has 65 the demodulators on user nodes in QPSK mode still make
been activated, are marked in the Central Control Server valid symbol timing, magnitude, and carrier phase measure
before forwarding, in step S1900. In the hub transmitter step ments while a BPSK block is being received.
US 7,215,652 B1
23 24
Another advantage of the DR process is that the down example, the user node 304 includes a computer 2200
stream packet-processing Software need not be aware of connected to a plurality of network interfaces 2202. The
which path (primary or alternate) the data is traversing. Each computer 2200 is a general purpose microprocessor based
data packet is tagged with a Layer 2 MAC address so that device including volatile and non-volatile storage and stan
each user node filters out packets intended for other nodes. dard interfaces. The network interfaces 2202 provide access
The hub transmitter maintains a list of the MAC addresses to 10/100 Ethernet, RS-232, V.35, analog telephony, optical
of all nodes in DR mode and when a packet arrives for one networks, gigabit Ethernet, USB, IEEE 1394, wireless LAN,
of those nodes, it is routed to the alternate path. Nodes are and other networks. The computer 2200 is also connected to
added and deleted from this list by the central control server optional additional processing peripherals 2204 to provide
as they enter and exit fade conditions, a feature which is 10 additional processing resources Such as encryption/decryp
enabled because the size of the FEC block payload (a Layer tion engines, data or voice compression devices, content
1 property) and the data packet size (a property of Layer 2 addressable memory devices, video codecs and other func
and higher) are decoupled. This is difficult or impossible in tions that may be implemented in programmable logic or
systems without this decoupling, like the DVB satellite custom logic devices configured for custom processing
broadcast standard, because variable sized data packets are 15 purposes. In addition, the computer 2200 is connected
segmented (and later reassembled) into segments that fit into through a bus 2212 to a plurality of RF transmitters 2208, RF
the FEC payload. In such systems, DR would be much more receivers 2210, and expansion peripheral connections 2206.
cumbersome because the higher layers would have to The RF transmitters and receivers provide a communication
account for which nodes were in DR mode and which were link to the satellite 300, and from there to the hub 302 and
not. to other user nodes 304. The expansion peripheral connec
In addition, although DR has been discussed so far only tions 2206 provide optional connectivity to other devices
in terms of a primary and alternate modulation and encod compatible with the bus 2212 such as storage devices,
ing, respectively, the present invention also applies to alter wireless LAN devices, sound or video cards, lottery sys
native embodiments having multiple levels of alternative tems, point of sale devices, public kiosks, information signs,
modulation and encoding. For example, the robustness of 25 public internet terminals, bus protocol converters, and other
the link may be adjusted by using combinations of modu peripherals. Alternatively, the network interfaces may con
lation and coding schemes, where the robustness of a link nect directly to the bus 2212 instead of connecting to the
generally increases with a greater amount of energy-per-bit computer 2200.
as compared to system noise, and more redundancy in the Numerous modifications and variations of the present
code employed, as discussed in Sklar, B. “Digital Commu 30 invention are possible in light of the above teachings. It is
nications Fundamentals and Applications.” Prentice Hall, therefore to be understood that within the scope of the
1988, the entire contents of which being incorporated herein appended claims, the invention may be practiced otherwise
by reference. than as specifically described herein.
FIG. 21 illustrates a computer system 2101 upon which an
embodiment of a user node, or hub, of present invention may 35
be implemented. The computer system 2101 includes a bus The invention claimed is:
2102 or other communication mechanism for communicat 1. A communication network control method for a com
ing information, and a processor 2103 coupled with the bus munication network including a hub and a plurality of user
2102 for processing the information. The computer system nodes, said method comprising steps of
2101 also includes a main memory 2104, such as a random 40
transmitting a sequence of frames from the hub to the
access memory (RAM) or other dynamic storage device plurality of user nodes at a fixed frame rate F, each
(e.g., dynamic RAM (DRAM), static RAM (SRAM), and frame in the sequence of frames including a respective
synchronous DRAM (SDRAM)), coupled to the bus 2102 burst time plan;
for storing information and instructions to be executed by transmitting a respective data burst in a frame time period
processor 2103. In addition, the main memory 2104 may be 45
from each of the user nodes to the hub after receiving
used for storing temporary variables or other intermediate each burst time plan in the sequence of frames from the
information during the execution of instructions by the hub, the respective data burst from each of the user
processor 2103. The computer system 2101 further includes nodes being delayed by a respective remote delay Rea,
a read only memory (ROM) 2105 or other static storage for each of the user nodes, and the respective data burst
device (e.g., programmable ROM (PROM), erasable PROM 50
from each of the user nodes including data in at least
(EPROM), and electrically erasable PROM (EEPROM)) one time slot of the frame time period according to the
coupled to the bus 2102 for storing static information and respective burst time plan in the sequence of frames
instructions for the processor 2103. from the hub,
The computer system 2101 also includes a disk controller wherein each data burst from each of the user nodes is
2106 coupled to the bus 2102 to control one or more storage 55
received at the hub such that the start of the frame time
devices for storing information and instructions, such as a period for each data burst occurs simultaneously at the
magnetic hard disk 2107, and a removable media drive 2108 hub, and the start of the frame time period for each data
(e.g., floppy disk drive, read-only compact disc drive, read/
write compact disc drive, compact disc jukebox, tape drive, burst occurs a hub delay H after a start of a frame in
and removable magneto-optical drive). The storage devices 60 a predetermined frame in the sequence of frames from
the hub.
may be added to the computer system 2101 using an
appropriate device interface (e.g., Small computer system 2. The method of claim 1, further comprising steps of:
interface (SCSI), integrated device electronics (IDE), calculating the hub delay H and
enhanced-IDE (E-IDE), direct memory access (DMA), or transmitting the hub delay H, a ground delay to the
ultra-DMA). 65 fixed frame rate F, a location of the satellite, and a
FIG.22 illustrates an example of an embodiment of a user location of the hub from the hub to a respective user
node 304 according to the present invention. In this node.
US 7,215,652 B1
25 26
3. The method of claim 2, further comprising a step of: 10. The network of claim 8, wherein:
calculating the remote delay Re, for each user node. at least one of said hub and said plurality of user nodes is
4. The method of claim 3, wherein the step of calculating configured to calculate the remote delay Ra, for each
the hub delay H, further comprises a step of: user node.
calculating a signal propagation delay between the hub 11. The network of claim 10, wherein:
and the satellite t from the location of the satellite and said at least one of said hub and said plurality of user
the location of the hub. nodes is configured to calculate a signal propagation
5. The method of claim 4, wherein the step of calculating delay between the hub and the satellite t from the
the hub delay H, further comprises a step of: location of the satellite and the location of the hub.
calculating the hub delay H, based on the ground delay 10 12. The network of claim 11, wherein:
to the fixed frame rate F, the signal propagation delay said hub is configured to calculate the hub delay H,
between the hub and the satellite t, a signal propaga based on the ground delay to the fixed frame rate F, the
tion delay between the satellite and a location on the signal propagation delay between the hub and the
surface of the earth approximately under the satellite satellite t, a signal propagation delay between the
15
t, and a maximum satellite tracking error caused by satellite and a location on the surface of the earth
a movement of the satellite between a position at a approximately under the satellite t, and a maximum
center of an extent of the satellite motion and a position satellite tracking error caused by a movement of the
at a closest approach of the satellite to earth k, satellite between a position at a center of an extent of
wherein H mod(2t+2t+tr-1/F-k), 1/F). the satellite motion and a position at a closest approach
6. The method of claim 3, wherein the step of calculating of the satellite to earth k,
the remote delay Ra, for each user node further comprises wherein H mod (2t+2t+tr-1/F-k), 1/F).
a step of 13. The network of claim 12, wherein:
calculating a signal propagation delay between the satel said at least one of said hub and said plurality of user
lite and the respective user node t from the location 25
nodes is configured to calculate a signal propagation
of the satellite and the location of the respective user delay between the satellite and the respective user node
node. t from the location of the satellite and the location of
7. The method of claim 6, wherein the step of calculating the respective user node.
the remote delay Ra, for each user node further comprises 14. The network of claim 13, wherein:
a step of 30 said at least one of said hub and said plurality of user
calculating the remote delay Re, for each user node nodes is configured to calculate the remote delay Rea,
based on the hub delay Hat, a ground delay to the for each user node based on the hub delay Hat, a
fixed frame rate F, the signal propagation delay ground delay t the fixed frame rate F, the signal
between the hub and the satellite t, and the signal propagation delay between the hub and the satellite ts,
propagation delay between the satellite and a respective 35
and the signal propagation delay between the satellite
user node t and a respective user node ty.
wherein R-1/F-mod(2t+2t+t-H).1/F). wherein R-1/F-mod(2t+2t,+t-Ha).1/F).
8. A wireless communication network comprising: 15. A hub for a wireless communication network, said
a hub; and wireless communications network including the hub, a plu
a plurality of user nodes configured to communicate via a 40 rality of user nodes and a satellite, comprising:
satellite with said hub, wherein a processor configured to form a sequence of frames, each
said hub is configured to transmit a sequence of frames to frame in the sequence of frames including a respective
the plurality of user nodes at a fixed frame rate F, each burst time plan;
frame in the sequence of frames including a respective a transmitter configured to transmit the sequence of
burst time plan, 45 frames via the satellite to the plurality of user nodes at
each of said plurality of user nodes being configured to a fixed frame rate F:
transmit a respective data burst in a frame time period a receiver configured to receive a respective data burst in
to the hub after receiving each burst time plan in the a frame time period, said respective data burst being
sequence of frames from the hub, the respective data transmitted from the plurality of user nodes after
burst from each of the user nodes being delayed by a 50 receiving each burst time plan in the sequence of
respective remote delay Rea, for each of the user frames, the respective data burst from each of the user
nodes, and the respective data burst from each of the nodes being delayed by a respective remote delay Ra,
user nodes including data in at least one time slot of the for each of the user nodes, and the respective data burst
frame time period according to the respective burst from each of the user nodes including data in at least
time plan in the sequence of frames from the hub, and 55 one time slot of the frame time period according to the
each data burst from each of the user nodes is received at respective burst time plan in the sequence of frames
the hub such that the start of the frame time period for from the hub, wherein
each data burst occurs simultaneously at the hub, and each data burst from each of the user nodes is received at
the start of the frame time period for each data burst the hub such that the start of the frame time period for
occurs a hub delay He, after a start of a frame in a 60 each data burst occurs simultaneously at the hub, and
predetermined frame in the sequence of frames from the start of the frame time period for each data burst
the hub. occurs a hub delay H, after a start of a frame in a
9. The network of claim 8, wherein: predetermined frame in the sequence of frames from
said hub is configured to calculate the hub delay H, and the hub.
transmit the hub delay H, a ground delay t, the 65 16. The hub of claim 15, wherein:
fixed frame rate F, a location of the satellite, and a said processor is configured to calculate the hub delay
location of the hub to a respective user node. H. and transmit the hub delay H, a ground delay to
US 7,215,652 B1
27 28
the fixed frame rate F, a location of the satellite, and a have received each burst time plan in the sequence of
location of the hub to a respective user node. frames from the hub, the respective data burst from
17. The hub of claim 15, wherein: each of the user nodes being delayed by a respective
said processor is configured to calculate the remote delay remote delay Ra, for each of the user nodes, and the
Ret, for each user node. respective data burst from each of the user nodes
18. The hub of claim 17, wherein: including data in at least one time slot of the frame time
said hub is configured to calculate a signal propagation period according to the respective burst time plan in the
delay between the hub and the satellite t from the sequence of frames from the hub,
location of the satellite and the location of the hub.
wherein each data burst from each of the user nodes is
19. The hub of claim 18, wherein: 10
received at the hub such that the start of the frame time
said processor is configured to calculate the hub delay
H based on the ground delay to the fixed frame rate period for each data burst occurs simultaneously at the
F, the signal propagation delay between the hub and the hub, and the start of the frame time period for each data
satellite t, a signal propagation delay between the burst occurs a hub delay H, after a start of a frame in
satellite and a location on the surface of the earth 15 a predetermined frame in the sequence of frames from
approximately under the satellite t, and a maximum the hub.
satellite tracking error caused by a movement of the 23. A user node in a plurality of user nodes for a wireless
satellite between a position at a center of an extent of communication network, said wireless communications net
the satellite motion and a position at a closest approach work including the hub, the plurality of user nodes and a
of the satellite to earth k, satellite, said user node comprising:
wherein H mod(2t+2t+1+1/F-k), 1/F). means for receiving from the hub a sequence of frames at
20. The hub of claim 19, wherein:
said processor is configured to calculate a signal propa a fixed frame rate F, each frame in the sequence of
gation delay between the satellite and the respective frames including a respective burst time plan;
user node t.
Sia from the location of the satellite and the 25 means for transmitting a data burst in a frame time period
location of the respective user node. from the user nodes to the hub after receiving each
21. The hub of claim 20, wherein: burst time plan in the sequence of frames from the hub,
said processor is configured to calculate the remote delay the respective data burst from the plurality of user
R, for each user node based on the hub delay H a nodes being delayed by a respective remote delay Ra.
ground delay t the fixed frame rate F, the signal 30 and the respective data burst from each of the user
propagation delay between the hub and the satellite t, nodes including data in at least one time slot of the
and the signal propagation delay between the satellite frame time period according to the respective burst
and a respective user node t. time plan in the sequence of frames from the hub,
wherein R-1/F-mod(2t+2t+t?-He), 1/F). wherein each data burst from each of the user nodes is
22. A hub for a wireless communication network, said 35
received at the hub such that the start of the frame time
wireless communications network including the hub, a plu period for each data burst occurs simultaneously at the
rality of user nodes and a satellite, comprising:
means for transmitting a sequence of frames from the hub hub, and the start of the frame time period for each data
to the plurality of user nodes at a fixed frame rate F. burst occurs a hub delay H after a start of a frame in
each frame in the sequence of frames including a 40 a predetermined frame in the sequence of frames from
respective burst time plan; and the hub.
means for receiving a respective data burst in a frame time
period from each of the user nodes after the user nodes

You might also like