System for providing satellite bandwidth on demand employing uplink frame formatting for smoothing and mitigating jitter and dynamically changing numbers of contention and data channels
First Claim
1. A method of transmitting time division multiplexed data from a satellite terminal to a satellite, said method comprising:
- providing said satellite terminal with at least one command that allocates to said satellite terminal a number of timeslots within each of at least one frame for data transmission, said command identifying said number of allocated timeslots in a first order; and
converting said timeslots identified by said command to corresponding timeslot locations within each frame in a second order in accordance with a timeslot reordering scheme to distribute said allocated timeslots throughout each frame, the second order comprising a non-sequential order within the at least one frame.
13 Assignments
0 Petitions
Accused Products
Abstract
A method of transmitting time division multiplexed data from a satellite terminal to a satellite wherein the satellite terminal receives a command indicating to transmit data during a frame comprising a plurality of timeslots in accordance with a timeslot reordering scheme. The timeslot reordering scheme is selected to spread data from respective satellite terminals to different timeslots throughout the frames. A processor monitors the use of channels by the satellite terminals, stores bandwidth requests using queues, allocates channels in accordance with bandwidth requests and a bandwidth allocation algorithm, and transmits the channel allocations in a frame. Timeslots not allocated to any of the satellite terminals are contention channels. The number of contention channels changes dynamically, depending on demand for the plurality of channels by the satellite terminals. Queues are provided for each channel for storing high and low priority rate requests and high and low priority volume requests. The bandwidth allocation algorithm determines the preemption of the queues, and allocation priorities.
-
Citations
40 Claims
-
1. A method of transmitting time division multiplexed data from a satellite terminal to a satellite, said method comprising:
-
providing said satellite terminal with at least one command that allocates to said satellite terminal a number of timeslots within each of at least one frame for data transmission, said command identifying said number of allocated timeslots in a first order; and
converting said timeslots identified by said command to corresponding timeslot locations within each frame in a second order in accordance with a timeslot reordering scheme to distribute said allocated timeslots throughout each frame, the second order comprising a non-sequential order within the at least one frame. - View Dependent Claims (2, 3, 4)
-
-
5. In a bandwidth on demand communication system, wherein channels correspond to timeslots in frames with some of said channels being designated for bandwidth requests comprising at least rate requests and volume requests, said rate requests each being a request for a selected number of said timeslots in each of said frames and each of said rate requests being characterized as one of high priority of low priority, said volume requests each corresponding to a request for a selected number of said timeslots to send a selected amount of terminal traffic, said terminal traffic comprising at least one of data, audio, or video, and each of said volume requests being characterized as one of high priority or low priority, and wherein said communication system includes terminals that are operable to transmit said bandwidth requests, a processing device for providing channel allocations comprising,
a first queue and a second queue, said processing device storing said high priority rate requests in said first queue and allocating a selected number of said timeslots in each of said frames to each of said high priority rate requests stored in said first queue, and storing said low priority rate requests in said second queue and allocating a selected number of said timeslots in each of said frames to each of said low priority rate requests stored in said second queue, the sum of the number of said timeslots in each of said frames allocated to said rate requests stored in said first and second queues not exceeding a total number of timeslots in each of said frames, allocation of said timeslots to said rate requests stored in said second queue being preempted for at least one frame by allocation of said timeslots to said rate requests stored in said first queue for said at least one frame; - and
a third queue and a fourth queue, said processing device storing said high priority volume requests in said third queue and storing said low priority volume requests in said fourth queue, said high priority volume requests and said low priority volume requests being preempted for at least one frame by allocation of said timeslots to rate requests stored in said first queue and said rate requests stored in said second queue;
wherein said processing device is operable to assign said timeslots to as many of said volume requests stored in said third queue and said fourth queue as possible in lieu of providing said terminals requesting said bandwidth all of said channels that are available at that time and to continue to store said volume requests in respective ones of said third queue and said fourth queue until the requests for said bandwidth have been allocated.
- and
-
6. A method of transmitting channels in a bandwidth on demand communication system wherein channels correspond to timeslots in frames and the system comprises a number of uplink cells within which terminals transmit signals using at least one of said channels, said method comprising:
-
controlling the use of each of said channels by said terminals, said terminals being operable to transmit bandwidth requests to send terminal traffic comprising one or more of the categories data, audio or video, said plurality of channels each being useful as one of a contention channel or a data channel, said contention channels allowing said terminals to transmit said bandwidth requests, said data channels allowing said terminals to transmit said terminal traffic, said channels being allocated in accordance with said bandwidth requests and transmitted to said terminals in a subsequent one of said frames, said terminals being operable to adjust power for transmission of said bandwidth requests and said terminal traffic using an initial power condition; and
transmitting said contention channels in adjacent and isolated ones of said uplink cells as cofrequency channels to reduce interference of said contention channels with said data channels.
-
-
7. A method of performing bandwidth allocations, the method comprising:
-
receiving a bandwidth request from a terminal over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame;
determining allocation of the transmission slots of the frame based upon the received bandwidth request;
distributing the allocated transmission slots throughout the frame according to a prescribed sequence; and
selectively sending an allocation command identifying the allocated transmission slots to the terminal based upon the distributing, the allocation command including a slot numbering identifier identifying one of a plurality of slot numbering patterns, wherein the terminal determines actual transmission slots to use based on a number of allocated transmission slots and the slot numbering identifier and wherein the number of allocated transmission slots and the slot numbering identifier do not identify the actual transmission slots to be used by the terminal. - View Dependent Claims (8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 38)
-
-
10. A method of performing bandwidth allocations, comprising:
-
receiving a bandwidth request from a terminal over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame;
determining allocation of the transmission slots of the frame based upon the received bandwidth request;
distributing the allocated transmission slots throughout the frame according to a prescribed sequence; and
selectively sending an allocation command identifying the allocated transmission slots to the terminal based upon the distributing, wherein the bandwidth request has a time stamp that indicates a time of receipt of a previous allocation command, and the determining includes;
comparing the time stamp with an allocation timer value to determine whether the time stamp exceeds the allocation timer value; and
selectively discarding the bandwidth request based upon the comparing.
-
-
19. A method of communicating over a satellite communication system, the method comprising:
-
transmitting a bandwidth request to a satellite over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame; and
receiving an allocation command from the satellite that is configured to;
determine allocation of the transmission slots of the frame based upon the received bandwidth request, distribute the allocated transmission slots throughout the frame according to a prescribed sequence, and transmit an allocation command that includes an identifier identifying one of a plurality of slot numbering patterns, wherein the allocation command does not identify actual transmission slots that will be used. - View Dependent Claims (20, 21, 23, 24, 25, 26, 27, 39)
-
-
22. A method of communication over a satellite communication system, the method comprising:
-
transmitting a bandwidth request to a satellite over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame; and
receiving an allocation command from the satellite that is configured to;
determine allocation of the transmission slots of the frame based upon the received bandwidth request, and distribute the allocated transmission slots throughout the frame according to a prescribed sequence, wherein the request has a time stamp that indicates a time of receipt of a previous allocation command, and the determining includes;
comparing the time stamp with an allocation timer value to determine whether the time stamp exceeds the allocation timer value; and
selectively discarding the request based upon the comparing.
-
-
28. A communication system for performing bandwidth allocations, the system comprising:
-
a plurality of queues configured to store a bandwidth request received from a terminal over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame; and
a bandwidth control processor communicating with the plurality of queues, the bandwidth control processor being configured to determine allocation of the transmission slots of the frame based upon a received bandwidth request that is stored in one of the plurality of queues, to distribute the allocated transmission slots throughout the fire according to a prescribed sequence, and to selectively send an allocation command identifying allocated transmission slots and one of a plurality of slot numbering patterns to the terminal, wherein the allocation command does not identify actual transmission slots that will be used by die terminal. - View Dependent Claims (29, 30, 32, 33, 34, 35, 36, 37, 40)
-
-
31. A communication system for performing bandwidth allocations, comprising:
-
a plurality of queues configured to store a bandwidth request received from a terminal over a communication channel, the bandwidth request specifying a desired number of transmission slots of a frame; and
a bandwidth control processor communicating with the plurality of queues, the bandwidth control processor being configured to determine allocation of the transmission slots of the frame based upon a received bandwidth request that is stored in one of the plurality of queues, to distribute the allocated transmission slots throughout the frame according to a prescribed sequence, and to selectively send an allocation command identifying the allocated transmission slots to the terminal, wherein the request has a time stamp that indicates a time of receipt of a previous allocation command by the terminal, the bandwidth control processor being configured to compare the time stamp with an allocation timer value to determine whether the time stamp exceeds the allocation timer value, and to selectively discard the request based upon the determination.
-
Specification