CONTENTION AND POLLED REQUESTS FOR SCHEDULING TRANSMISSIONS
Methods and apparatuses are presented for conducting communications over a shared communication medium involving a plurality of nodes, involving (a) sending a request from a first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment, (b) wherein the request segment is randomly selected by the first node, (c) obtaining an assignment associating the request with a scheduled transmission segment, the assignment taking into account location of the request within the request signal space, and (d) from the first node, sending a data transmission in the scheduled transmission segment associated with the request.
Latest ViaSat, Inc. Patents:
- VARIABLE-RATE TRUE-TIME DELAY FILTER
- Method and apparatus for enabling offloading network traffic via a connected cellular device
- Dynamic production of linear media channels for mobile transport craft
- Browser based feedback for optimized web browsing
- Flexible beamforming for satellite communications
The present application claims benefit of priority under 35 U.S.C. 119(e) of U.S. provisional Application No. 60/888,451, filed on Feb. 6, 2007, entitled “Symbol Oriented Reservation Request System For Controlling Access To A Shared Communications Link,” Attorney Docket No. 017018-014000US, Client Reference No. VS-0239-US, the content of which is incorporated herein by reference in its entirety.
The present application also claims benefit of priority under 35 U.S.C. 119(e) of U.S. provisional Application No. 60/895,143, filed on Mar. 16, 2007, entitled “Blip and Burst Multiple Access,” Attorney Docket No. 017018-014400US, Client Reference No. VS-0242-US, the content of which is incorporated herein by reference in its entirety.
The following U.S. nonprovisional patent applications, including the present application, are being filed concurrently and the disclosure of every other application is incorporated by reference in the present application in its entirety for all purposes:
-
- U.S. Nonprovisional Patent Application No. ______, filed for “Reservation Request System for Controlling Access to a Shared Communication Medium” (Attorney Docket No. 017018-014410US) (Client Reference No. VS-0242-US-2).
- U.S. Nonprovisional Patent Application No. ______, filed for “Time Multiplexed Requests for Controlling Access to a Shared Communication Medium” (Attorney Docket No. 017018-015100US) (Client Reference No. VS-0253-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Code Multiplexed Requests for Controlling Access to a Shared Communication Medium” (Attorney Docket No. 017018-015200US) (Client Reference No. VS-0254-US).
- U.S. Nonprovisional Patent Application No. ______, filed for ¢Contention and Polled Requests for Scheduling Transmissions” (Attorney Docket No. 017018-015300US) (Client Reference No. VS-0255-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Request Signal Designs for Multiple Service Types” (Attorney Docket No. 017018-015400US) (Client Reference No. VS-0256-US).
- U.S. Nonprovisional Patent Application No. ______, filed for ¢Default Assignment of Scheduled Transmissions” (Attorney Docket No. 017018-015500US) (Client Reference No. VS-0257-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Successive Scheduled Requests for Transmission” (Attorney Docket No. 017018-015600US) (Client Reference No. VS-0258-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Piggyback Requests in Scheduled Transmissions” (Attorney Docket No. 017018-015700US) (Client Reference No. VS-0259-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Robust and Efficient Assignment of Scheduled Transmissions” (Attorney Docket No. 017018-015800US) (Client Reference No. VS-0260-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Request Detection Error Processing” (Attorney Docket No. 017018-015900US) (Client Reference No. VS-0261-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Assignment Modes for a Shared Communication Medium” (Attorney Docket No. 017018-016000US) (Client Reference No. VS-0262-US).
- U.S. Nonprovisional Patent Application No. ______, filed for “Reservation Request Improvements” (Attorney Docket No. 017018-016100US) (Client Reference No. VS-0263-US).
In many applications, a communication medium is shared among a number of nodes. The nodes compete with one another for access to the shared communication medium. At any given moment, there may be more than one of the nodes that wish to transmit data over the shared communication medium. A system is typically put in place to facilitate access to the shared communication medium by the various nodes. Various categories of such multiple access systems have been developed.
One category of multiple access systems utilizes contention protocols. Examples of these contention protocols include the ALOHA protocol and the slotted ALOHA protocol, which are known in the art. Here, each node is allowed to freely transmit its data over the shared communication medium at any time or any slotted time. In a system employing a hub, each node sends its transmission to the hub, which then broadcasts the transmission to all nodes. In a system without a hub, each node directly broadcasts its transmission to all nodes. In either case, every node listens to the channel for its own transmission and attempts to receive it. If a node is unsuccessful in receiving its own transmission, the node can assume that its transmission was involved in a collision with another transmission, and the node simply re-transmits its data after waiting a random amount of time. In this manner, collisions are allowed to occur but are resolved by the nodes.
Another category of multiple access systems utilizes carrier sense protocols. Examples include persistent carrier sense multiple access (persistent CSMA) and non-persistent carrier sense multiple access (non-persistent CSMA) protocols, which are known in the art. Generally speaking, these protocols require each node to listen to the shared communication medium before transmitting. Only if the shared communication medium is available is the node allowed to transmit its data. In persistent CSMA, when a node senses that the shared communication medium is not available, the node continually listens to the shared communication medium and attempts to transmit as soon as the medium becomes available. In non-persistent CSMA, when a node senses that the shared communication medium is not available, the node waits an amount of time before attempting to listen to the shared communication channel for an opportunity to transmit. Even though a node listens first before transmitting, there still exists a probability for collisions. This is because when the medium is available, two or more nodes can detect the availability and decide that they are going to transmit data. Various techniques have been developed to handle such collisions.
Yet another category of multiple access systems utilizes contention free protocols. Here, each node can reserve the shared communication medium in order to transmit data. The node can transmit data without colliding with transmissions from other nodes. This is because the shared communication medium is reserved, for a particular time duration for example, for the node's transmission and not for any other transmission. A significant advantage of contention free protocols is that the communication medium is not taken up by unsuccessful transmissions that collide with one another and resulting re-transmission attempts. This can lead to a more efficient use of the shared communication medium, especially as the number of nodes and number of data transmissions increase.
However, contention free protocols require a reservation process that allows nodes to reserve use of the shared communication medium. Making such reservations also requires communications. If the reservation process itself occupies too much of the shared communication medium, performance of the system can be negatively impacted. Thus, to take full advantage of the benefits of contention free multiple access, more efficient systems for reservation of the shared communication medium are needed.
BRIEF SUMMARY OF THE INVENTIONThe present invention relates to methods and apparatuses for conducting communications over a shared communication medium involving a plurality of nodes, involving (a) sending a request from a first node in the plurality of nodes, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments, (b) wherein the request segment is randomly selected by the first node from the plurality of request segments, (c) obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and (d) from the first node, sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment. The plurality of request segments may be based on code-division multiplexing of the request signal space, and wherein the request segment is randomly selected by randomly selecting a code word.
The present invention further relates to methods and apparatuses for conducting communications over a shared communication medium involving a plurality of nodes, involving (a) sending a request from a first node in the plurality of nodes, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments, (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule, (c) obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and (d) from the first node, sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment. The plurality of request segments may be based on code-division multiplexing of the request signal space, and wherein the allotted request segment is associated with a code word. In one embodiment, the defined schedule is fixed. In another embodiment, the defined schedule is dynamically altered.
The present invention further relates to methods and apparatuses for conducting communications over a shared communication medium involving a plurality of nodes including a first node and a second node, involving (a) at the second node, receiving a request from the first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments, (b) wherein the request segment is randomly selected by the first node from the plurality of request segments, (c) at the second node, making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message, and (d) at the second node, receiving a data transmission from the first node in the scheduled transmission segment associated with the request.
The present invention further relates to methods and apparatuses for conducting communications over a shared communication medium involving a plurality of nodes including a first node and a second node, involving (a) at the second node, receiving a request from the first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments, (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule, (c) at the second node, making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message, and (d) at the second node, receiving a data transmission from the first node in the scheduled transmission segment associated with the request.
The present invention relates to communications conducted over a shared communications medium involving a plurality of nodes. The invention is specifically related to techniques employed for assigning opportunities for transmission based on requests.
Referring to
Furthermore, embodiments of the present invention may be implemented in different network topologies that involve a shared communication medium. These may include star topologies, mesh topologies, bus topologies, and others.
In the present embodiment of the invention, scheduler node 102 provides control over access of the shared communication medium by access nodes 104, 106, 108, and 110. In order to transmit data over the shared communication medium, an access node such as access nodes 104, 106, 108, and 110 first send a request to scheduler node 102. In response, scheduler node 102 assigns an opportunity for data transmission to the access node. Scheduler node 102 sends an assignment message associated with the assignment to the access nodes. Upon receiving the assignment, the access node that made the request can transmit data in the assigned transmission opportunity. This general scheme of request, assignment, and transmission is used in various embodiments of the invention. However, as noted before, other embodiments of the invention may involve variations and different operations.
SymbolsGenerally speaking, a basic unit of data transmission is referred to here as a “symbol.” A symbol can be defined to have one out of a number of possible values. For example, a binary symbol may have one of two possible values, such as “0” and “1.” Thus, a sequence of N binary symbols may convey 2N possible messages. More generally speaking, an M-ary symbol may have M possible values. Thus, a sequence of N M-ary symbols may convey MN possible messages.
The concept of symbol and the methods by which a symbol can assume values is quite general. In many applications, a symbol is associated with a defined baseband pulse shape which is up-converted to a carrier frequency with a particular phase relationship to the carrier and with a particular amplitude. The amplitude and/or phase of the symbol is known as the modulation and carries the information of a symbol. The set of permissible modulation points defined in the amplitude and phase plane is known as the modulation constellation. The amount of information that a symbol may convey is related to the number of discrete points of the constellation. 16-QAM is an example of amplitude-phase constellation which allows transmission of up to 4 bits of information per symbol. In some applications, only the phase is used for modulation. Quadra-phase shift keying (QPSK) is an example of pure phase modulation which allows transmission of up to 2 bits of information per symbol. In other applications, the symbol waveform may be defined such that symbol phase may either not exist or be difficult to receive accurately, in which case pure amplitude modulation can be used. One example of binary amplitude modulation is on-off amplitude-shift keying modulation which allows transmission of up to 1 bit of information per symbol.
Each symbol may occupy a particular portion of the relevant signal space. Specifically, each symbol may be said to occupy a certain amount “time-bandwidth product.” Here, an amount of time-bandwidth product is a scalar quantity that may be measured in units of Hz-seconds and does not necessarily dictate how the signal is distributed within the signal space. In theory, symbols cannot be strictly limited in both time and frequency. It is customary, however, to define the time-bandwidth product of a signal to be the time-bandwidth product of the region in which the preponderance of signal energy resides. Since precise definitions of time-bandwidth product vary somewhat throughout the literature, figures showing symbol boundaries in time-frequency space should only be considered as approximate representations.
Just as a simple example, a signal spanning a bandwidth of 1 Hz and lasting a duration of 1 second may have a time-bandwidth product of 1 Hz-second. A signal spanning a bandwidth of 0.5 Hz and lasting a duration of 2 seconds may also have a time-bandwidth product of 1 Hz-second. Similarly, a signal spanning a bandwidth of 0.1 Hz and lasting a duration of 10 seconds may also have a time-bandwidth product of 1 Hz-second. These examples do not assume any multiplexing of the signal space, which is discussed separately below. Also, the particular values used in these example and other examples described herein are for illustrative purpose only. Different values may be used in actual systems.
The measurement of a symbol in terms of an amount of time-bandwidth product is also applicable when different signal space multiplexing techniques are employed. Such techniques may include time-division multiplexing, frequency-division multiplexing, wavelet-division multiplexing, code-division multiplexing, and/or others. In each of the following four examples, a symbol occupies a time-bandwidth product of 1 Hz-second, even though different signal space multiplexing techniques are used.
In a first example,
In a second example,
In a third example,
In a fourth example, a code-division multiplexing scheme is applied to a frequency channel having a bandwidth of 32 Hz over a duration of 1 second. For this example, it is assumed that there are 32 different possible orthogonal code words, each comprising a unique 32-chip binary pattern. Each code word represents a unique “code channel.” To send a symbol on a particular code channel, the symbol value is used to modulate the code word associated with the code channel, and the resulting signal is sent. In the case of binary phase shift keying (BPSK) symbols, for instance, a symbol having a value of “1” may be sent by simply sending the code word, and a symbol having a value of “0” may be sent by sending the inverted version (180-degree phase shift) of the code word. The 32 symbols sent using 32 different “code channels” are non-interfering, and as a group, they occupy a common 32 Hz by 1 second portion of the time-frequency space. In this example, each symbol has an effective time-frequency product of 1 Hz-second.
Symbol-Level RequestReferring back to
The novel use of a symbol-level request according to embodiments of the present invention allows for highly efficient utilization of the available signal space. Because of its compact size, a symbol-level request may not have sufficient capacity to carry a significant data payload. However, according to various embodiments of the invention, information may be conveyed in the choice of the location within the request signal space in which the symbol-level request is transmitted. Thus, the existence of a symbol-level request in the request signal space, as well as the location where the symbol-level request exists in the request signal space, can convey important information that is used to facilitate the assignment of transmission opportunities within the shared communication medium.
Request Signal Space and Scheduled Transmission Signal SpaceAccording to various embodiments of the invention, the shared communication medium utilized by access nodes 104, 106, 108, and 110 may be organized into a request signal space and a scheduled transmission signal space. Just as an example, the shared communication medium may be implemented as a satellite “return-link” that allows signals to be sent from access nodes 104, 106, 108, and 110 to scheduler node 102.
The request signal space may be used by access nodes 104, 106, 108, and 110 to send requests—e.g., symbol-level requests—to request opportunities for the scheduled transmission of data. Specifically, the request signal space may be organized into a plurality of request segments. Each request segment generally refers to a portion of request signal space that may be used for sending a request.
The scheduled transmission signal space may be used by access nodes 104, 106, 108, and 110 to transmit data, once requests for transmission have been granted. The scheduled transmission signal space may be organized into a plurality of scheduled transmission segments. Each scheduled transmission segment generally refers to a portion of scheduled transmission signal space that may be used for sending a data transmission.
In accordance with the invention, the request signal space, as well as the scheduled transmission signal space, may be organized based on various multiplexing techniques. Thus, the plurality of request segments in the request signal space may represent allotments defined based on one or more types of multiplexing techniques applied to the request signal space. As mentioned previously, these may include time-division multiplexing, frequency-division multiplexing, wavelet-division multiplexing, code-division multiplexing, and/or other multiplexing techniques. Similarly, the plurality of scheduled transmission segments in the scheduled transmission space may represent allotments defined based on one or more types of multiplexing techniques applied to the scheduled transmission signal space.
As such, each request segment may have a different “location” within the request signal space. For example, if a request signal space is organized according to a time-division multiplexing technique, each request segment may comprise a different time slot in the request signal space. Here, each particular request segment is said to correspond to a different location (in time) in the request signal space. The same concept can be applied to a request signal space organized according to a frequency-division multiplexing technique. In such a case, each request segment may comprise a particular frequency sub-channel and be said to correspond to a different location (in frequency) in the request signal space. The same concept can be applied to a request signal space organized according to a code-division multiplexing technique. In such a case, each request segment may comprise a particular code word and be said to correspond to a different location (in code space) in the request signal space. Similarly, the concept can be applied to a request signal space organized according to a combination of different multiplexing techniques, such as a combination of time-division multiplexing and frequency-division multiplexing techniques. In this particular example, each request segment may comprises a particular time slot in a particular frequency sub-channel and be said to correspond to a different location (in time and frequency) in the request signal space.
Also, the separation between the request signal space and the scheduled transmission signal space may be based on different multiplexing techniques. In one embodiment, time-division multiplexing is employed. For example, the request signal space and the scheduled transmission signal space may be defined over different time slots and a common frequency range. In another embodiment, frequency-division multiplexing is employed. For example, the request signal space and the scheduled transmission signal space may be defined over a common time duration and different frequency ranges. In yet another embodiment, code-division multiplexing is employed. For example, the request signal space and the scheduled transmission signal space may be defined over a common time duration and a common frequency range, but using different code words.
Feedback Signal SpaceIn addition, a feedback signal space may be utilized for sending the assignment messages from scheduler node 102 to access nodes 104, 106, 108, and 110. In the present embodiment of the invention, the feedback space is not a part of the shared communication medium. Continuing with a satellite system example, the feedback signal space may be implemented as a satellite “forward-link” that allows signals to be sent from scheduler node 102 to access nodes 104, 106, 108, and 110. This satellite “forward-link” may be separate from the “return-link” mentioned previously.
The present invention broadly covers different combinations of multiplexing techniques as applied to the request signal space and/or the scheduled transmission signal space. In figures discussed below, a number of examples of such multiplexing combinations are presented. The various combinations of multiplexing techniques described below are presented for illustrative purposes and are not intended to restrict the scope of the invention. In some examples, a feedback signal space is also explicitly shown along with the request signal space and the scheduled transmission signal space.
In the figures below, only a representative portion of the relevant signal space is shown. For example, if four frames of signals are shown, it should be understood that more frames may be used even though they are not explicitly illustrated. Also, the particular proportions of the various signal space designs are provided as mere examples.
TDM Request Signal Space and Scheduled Transmission Signal Space Partitioning with TDM Request Segments and Scheduled Transmission Segments
In this particular embodiment of the invention, the shared communication medium 200 is organized as one continuous sequence of TDM time slots. For example, the shared communication medium 200 may comprise a particular frequency channel. Each TDM time slot occupies the entire bandwidth of the frequency channel, but only for a specific time duration. Here, the TDM time slots are shown as being organized into “frames,” such as Frame 0, Frame 1, Frame 2, and Frame 3. For ease of illustration,
For example,
In the particular grid representation shown in
In
According to an embodiment of the invention, when an access node such as nodes 104, 106, 108, and 110 in
In one example, the request signals shown in
According to an embodiment of the invention, scheduler node 102 shown in
The entire request and assignment process takes place in an anonymous manner with respect to the identity of the access nodes, according to an embodiment of the invention. Thus, a symbol-level request sent from an access node does not explicitly identify the access node. For example, assume that access node 104 sent the symbol-level request in “REQ 0:7” (Slot 7 of the request signal space of Frame 0). This symbol-level request is merely a symbol transmitted at a particular location within the request symbol space. The symbol-level request does not explicitly identify the access node 104. Similarly, the corresponding assignment message “REQ 0:7, SCH 13” broadcast from scheduler node 102 does not explicitly identify access node 104 as the intended recipient of the assignment message. Instead, the assignment message merely announces that the symbol-level request sent in the “REQ 0:7” slot has been assigned to the scheduled transmission segment “SCH 13.” All of the access nodes 104, 106, 108, and 110 receive the broadcast assignment message. However, only access node 104 accepts the assignment and proceeds to send a data transmission in the scheduled transmission segment identified by the assignment. This is possible because each access node keeps track of the location(s) of the symbol-level request(s) it has sent. Access node 104 recognizes the request “REQ 0:7” identified in the assignment as one of its own and thus accepts the assignment. The other access nodes 106, 108, and 110 do not recognize the request “REQ 0:7” identified in the assignment as one of their own and thus do not accept the assignment.
In
Unlike
According to an embodiment of the invention, the request segments are organized into two categories, one for the first service and the other for the second service. Similarly, the scheduled transmission segments are organized into two categories, short scheduled transmission segments for the first service and long scheduled transmission segments for the second service. An access node such as access nodes 104, 106, 108, and 110 chooses the service desired by sending a request in a request segment of the appropriate category. To request a short scheduled transmission of data (1st service), an access node simply sends a request in one of the 1st service request segments. To request a long scheduled transmission of data (2nd service), the access node simply sends a request in one of the 2nd service request segments.
In accordance with an embodiment of the invention, the data frame structure may be used to organize the two categories of request segments and scheduled transmission segments. In this figure, even numbered frames such as Frames 0, 2, 4, etc., contain request segments and scheduled transmission segments for short scheduled transmissions of data (1st service). Odd numbered frames such as Frames 1, 3, 5, etc., contain request segments and scheduled transmission segments for long scheduled transmission of data (2 nd service).
In response, scheduler node 102 broadcasts assignment messages in feedback signal space 350. As shown in
The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s). While a two-service example is presented in
According to the present embodiment of the invention, OFDM frequency channels provide a natural separation between the request signal space and the scheduled transmission signal space. As shown in
In this embodiment, each request segment comprises a TDM time slot in one of the OFDM frequency channels −1 and 1. Each scheduled transmission segment comprises a block of 512 data symbols, spanning 16 OFDM frequency channels and 32 TDM time slots.
In response, scheduler node 102 broadcasts assignment messages in feedback signal space 450. As shown in
The rest of the assignment messages can be interpreted in a similar way. The second assignment message “REQ +18, SCH −22” indicates that the request segment in Slot 18 in OFDM frequency channel 1 has been assigned to the scheduled transmission segment −22. The third assignment message “REQ +22, SCH +22” indicates that the request segment in Slot 22 in OFDM frequency channel 1 has been assigned to the schedule transmission segment +22. The fourth assignment message “REQ +57, SCH −23” indicates that the request segment in Slot 57 in OFDM frequency channel 1 has been assigned to the scheduled transmission segment −23.
The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s).
This example demonstrates that the request signal space and scheduled transmission signal space can be defined in a different way. Again, OFDM frequency channels are used to provide the separation between request signal space and scheduled transmission signal space. However, a different pair of OFDM frequency channels is used here to implement the request signal space. Here, the request signal space comprises OFDM frequency channels −17 and 17. The scheduled transmission signal space comprises OFDM frequency channels −1 through −16 and 1 through 16.
This example also demonstrates that the scheduled transmission segments can be defined as utilizing a different allocation of OFDM frequency channels and TDM time slots. Here, each scheduled transmission segment still comprises a block of 512 data symbols. However, the 512 data symbols span 32 OFDM frequency channels and 16 TDM time slots.
In response, scheduler node 102 broadcasts assignment messages in feedback signal space 550. As shown in
The rest of the assignment messages can be interpreted in a similar way. The second assignment message “REQ −8, SCH 12” indicates that the request segment in Slot 8 in OFDM frequency channel −17 has been assigned to the scheduled transmission segment 12. The third assignment message “REQ +22, SCH 13” indicates that the request segment in Slot 22 in OFDM frequency channel 17 has been assigned to the schedule transmission segment 13. The fourth assignment message “REQ −33, SCH 14” indicates that the request segment in Slot 33 in OFDM frequency channel −17 has been assigned to the scheduled transmission segment 14. The fifth assignment message “REQ +57, SCH 15” indicates that the request segment in Slot 57 in OFDM frequency channel 17 has been assigned to the scheduled transmission segment 15. The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s).
FDM Request and Scheduled TransmissionThis example demonstrates that the request signal space and the scheduled transmission signal space may have very different symbol structures. In the request signal space, a symbol is transmitted over the narrow REQ Carrier channel over a longer time duration. These are labeled as REQ Symbol Slots 0, 1, 2, 3, etc. in the figure. By contrast, in the schedule transmission signal space, a symbol is transmitted over one of the two wide SCH Carrier channels over a shorter time duration. These are labeled as Data Burst Symbol 0, 1, 2, 3, . . . , 63, etc. in the figure. Despite this difference in symbol structures, a symbol transmitted in the request signal space may have the same time-bandwidth product as a symbol transmitted in the scheduled transmission signal space, according to an embodiment of the present invention. Thus,
Also shown in
TDM Request Signal Space and Scheduled Transmission Signal Space Partitioning with Synchronous CDM Request Segments
The structure shown in
For ease of illustration, the numerous symbols are not individually shown in this figure. Instead, boxes representing multiple symbols are shown. In the transmission signal space, each short box represents 8 scheduled transmission symbols. In the request signal space, each long box represents a 32-chip CDMA request interval. Although the signal segments representing individual chips of any particular CDMA code may be similar in design to the signal segments representing the scheduled transmission symbols, the chips of any particular code are linked in a particular code pattern (e.g., a 32-chip pattern), whereas the scheduled transmission symbols may be individually modulated. As shown,
More specifically, each 456-symbol frame supports 1 scheduled transmission segment and 32 request segments. The 1 scheduled transmission segment comprises the first 424 symbols of the frame. The 32 request segments comprise the 32 possible code words that may be transmitted in the remaining portion of the frame. In other words, the remaining portion of the frame is code division multiplexed and organized as a 32-chip request interval.
Here, a 32-chip Walsh CDMA code is used. In this code space, there exist 32 different possible code words, each having a length of 32 chips. Indices 0 through 31 are used to identify the 32 different possible code words.
One or more of the access nodes 104, 106, 108, and 110 can send one or more requests (each in the form of one of the 32 possible code words) in a particular request interval. This is illustrated in
In
In response, scheduler node 102 broadcasts assignment messages in feedback signal space (not shown). The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s).
Again, the entire request and assignment process takes place in an anonymous manner with respect to the identity of the access nodes. Thus, a symbol-level request sent from an access node does not explicitly identify the access node. For example, assume that access node 104 sends the symbol-level request comprising code word 13. This symbol-level request is merely a signal transmitted at a particular code location within the request symbol space. The symbol-level request does not explicitly identify the access node 104.
Similarly, the corresponding assignment message would not explicitly identify access node 104 as the intended recipient of the assignment message. Instead, the assignment message merely announces that the symbol-level request corresponding to code word 13 in Frame 0 has been assigned to a particular scheduled transmission segment. All of the access nodes 104, 106, 108, and 110 receive the broadcast assignment message. However, only access node 104 accepts the assignment and proceeds to send a data transmission in the scheduled transmission segment identified by the assignment. This is possible because each access node keeps track of the location(s) in code space of the symbol-level request(s) it has sent in each frame. Access node 104 recognizes the request identified in the assignment as one of its own and thus accepts the assignment. The other access nodes 106, 108, and 110 do not recognize the request identified in the assignment as one of their own and thus do not accept the assignment.
TDM Request Signal Space and Scheduled Transmission Signal Space Partitioning with Quasi-Synchronous CDM Request Segments
The structure shown in
For ease of illustration, the numerous symbols are not individually shown in this figure. Instead, boxes representing multiple symbols are shown. In the transmission signal space, each short box represents 8 scheduled transmission symbols. In the request signal space, each long box represents a 32-chip CDMA request interval. For the guard zones, each short box represents 8 guard symbols. Thus,
A 32-chip, low cross-correlation, quasi-synchronous CDMA code is used in this embodiment. When two or more of such codes are not synchronously aligned in time (e.g., they are mis-aligned by a chip), the cross correlation between the codes remains relatively low. Other types and lengths of code may be used in accordance with the invention. One or more of the access nodes 104, 106, 108, and 110 can send one or more requests (each in the form of one of the 32 possible code words) in a particular request interval. In the example shown, two requests are sent in a request interval. The first request is a signal spread according to code word 13. The second request is a signal spread according to code word 22. Thus, code division multiplexing allows the request interval to support 32 request segments, i.e., codes slots. As shown in
In
In response, scheduler node 102 broadcasts assignment messages in feedback signal space (not shown). The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s).
TDM Request Signal Space and Scheduled Transmission Signal Space Partitioning with Synchronous CDM Request Segments
The structure shown in
Frame #1 contains 16 time slots (corresponding to the 16 columns of Frame #1 shown in
Thus, instead of transmitting a single symbol in each time slot, up to 32 different code symbols can be transmitted in each time slot. Each code symbol comprises a particular 32-chip inner code word, modulated by the data value that is to be sent. For example, the 32-chip code word for a particular inner code channel may be [0, 0, 0, . . . , 0]. Here, modulating this inner code word with a data value of “0” results in a 32-chip code symbol of [0, 0, 0, . . . , 0]. Modulating the same inner code word with a data value of “1” results in a 32-chip code symbol of [1, 1, 1, . . . , 1]. As mentioned above, Frame #1 contains 16 time slots, and each time slot supports 32 different code symbols (corresponding to 32 inner code channels). Thus, Frame #1 supports 512 code symbols.
The multiplexing provided by the “inner code channels” is used to partition Frame #1 into a portion of request signal space and a portion of scheduled transmission signal space. As shown in
The request signal space, comprising (1) a first “Outer Request Code Spread Interval” inner code channel 0 and (2) a second “Outer Request Code Spread Interval” in code channel 1, is further multiplexed using an “outer” code. The outer code has a code length of 16 chips and spans 16 time slots. That is, each chip of the 16-chip outer code spans an entire time slot. Here, a Walsh code having 16 different possible code words and a length of 16 chips is used. As a result, each “Outer Request Code Spread Interval” is further multiplexed, into 16 “outer code channels.” Each of these outer code channels represents a unique request segment in the request signal space. Frame #1 has two such “Outer Request Code Spread Intervals.” Accordingly, Frame #1 supports a total of 32 different request segments.
Given this structure, each request signal is transmitted using a certain 16-chip outer code word and a certain 32-chip inner code word. Furthermore, each request signal spans 16 time slots. In each time slot, a particular “chip” of the 16-chip outer code word modulates an entire 32-chip inner code word. Just as a simple example, the 32-chip inner code word may be [0, 1, 0, 1, . . . , 0, 1]. Here, modulating this inner code word with an outer code word “chip” having a value of “0” produces a request signal portion [0, 1, 0, 1, . . . , 0, 1]. Modulating the same inner code word with an outer code word “chip” having a value of “1” produces a request signal portion [1, 0, 1, 0, . . . , 1, 0].
One or more of the access nodes 104, 106, 108, and 110 can send one or more requests. Each request can be sent in one of the 32 different request segments in a frame. In the example depicted in
In response, scheduler node 102 broadcasts assignment messages in feedback signal space (not shown). The assignment messages are broadcast to access nodes 104, 106, 108, and 110, to inform the access nodes of the assignments made, so that each access node may correctly send data in the assigned scheduled transmission segment(s).
Orthogonal and Non-orthogonal Request Signal DesignsAccording to an embodiment of the invention, the request segments may be positioned such that adjacent request segments may represent orthogonal portions of the request signal space. Adjacent request segments may refer to request segments that are located next to one another in time, frequency, and/or code space. Here, orthogonal portions of a signal space refer to allotments within the signal space that are designed to be separable from one another, at least under ideal conditions. For request segments defined based on frequency division multiplexing, such orthogonal requests may be achieved by implementing adjacent request segments as non-overlapping frequency channels. For request segments defined based on time division multiplexing, such orthogonal requests may be achieved by implementing adjacent request segments as non-overlapping time slots. For request segments defined based on code division multiplexing, such orthogonal requests may be achieved by implementing adjacent request segments using orthogonal codes, such as Walsh codes as described in previous sections, Walsh codes combined with a common pseudo noise (PN) sequence using modulo 2 addition (Walsh codes with common PN sequence overlay), Gold codes, and others.
According to an embodiment of the invention, the request segments may be positioned such that adjacent request segments may represent non-orthogonal portions of the request signal space. Here, non-orthogonal portions of a signal space refer to allotments within the signal space that are designed to be only partially separable from one another. For request segments defined based on frequency division multiplexing, such non-orthogonal requests may be achieved by implementing adjacent request segments as partially-overlapping frequency channels. For request segments defined based on time division multiplexing, such non-orthogonal requests may be achieved by implementing adjacent request segments as partially-overlapping time slots. For request segments defined based on code division multiplexing, such orthogonal requests may be achieved by implementing adjacent request segments using non-orthogonal codes.
A disadvantage associated with use of non-orthogonal request segments is the reduction in reception performance. When partially-overlapping frequency channels, partially-overlapping time slots, and/or non-orthogonal codes are used, the reception of particular request segment might capture some energy from adjacent request segment(s), thus reducing reception performance. On the other hand, an advantage associated with the use of non-orthogonal request segments is that it allows for a more densely packed request signal space. That is, more request segments can be packed into a given request signal space.
According to various embodiments of the invention, the extent of non-orthogonality is selected for a particular balance of such advantages and disadvantages. In one example, non-orthogonal, time-division multiplexed request segments may be implemented as 1 msec time slots, spaced ½ msec apart. That is, each time slot has a length of 1 msec. However, the time slots are arranged to overlap one another, such that a new time slot starts every ½ msec. Thus, adjacent time slots have a ½ msec overlap region. This particular balance is presented as one example and can be adjusted. The amount of overlap can be increased (e.g., to greater than ½ msec), which achieves an even more densely packed request signal space but further degrades reception performance. Alternatively, the amount of overlap can be decreased (e.g., to less than ½ msec), which achieves a less densely packed request signal space but improves reception performance. The level of non-orthogonality can be similarly adjusted for request segments based on frequency division multiplexing (by adjusting overlapping frequency channels) and code division multiplexing (by selecting different non-orthogonal codes).
Furthermore, different combinations of multiplexing type and non-orthogonality technique can be employed. For example, request segments may be based on a code division multiplexing employing non-orthgonal codes and overlapping time slots. This may be implemented, for instance, using non-orthogonal codes defined over 32 msec code intervals (time slots) spaced 16 msec apart. Thus, adjacent code intervals have a 16 msec overlap region. In such a case, non-orthogonality is attributed to the use of both non-orthogonal codes and overlapping time slots. As another example, request segments may be based on code division multiplexing employing non-orthogonal codes and a common code interval. In such a case, non-orthogonality is attributed only to the use of non-orthogonal codes.
Robust FIFO Scheduling and Efficient FIFO SchedulingProcessing of a message under the “robust FIFO schedule mode” by an access node such as 104, 106, 108, and 110 is described below, according to one embodiment. Here each access node maintains a local data transmission queue based on assignment messages received at the first node. The local data transmission queue may be a first-in-first-out (FIFO) list of all symbol-level-requests from all access nodes that have been assigned to scheduled transmission segments, arranged in the order of transmission. Each entry in the queue may contain not only an identifier for a symbol-level request, but also an identifier for the corresponding scheduled transmission segment. The local data transmission queue is synchronized to the timing of the rest of the system. Thus, as each transmission occurs or is about to occur, the access node examines the corresponding entry in the local data transmission queue. If the access node recognizes the entry as being associated with a symbol-level request sent from the access node, the access node knows that its turn has come and sends its pending data transmission. If the access node does not recognize the entry as being associated with a symbol-level request set from the access node, the access node can assume that it is another access node's turn, and does not send a data transmission.
The assignment message may take on a different format under an “efficient FIFO schedule mode,” in accordance with an alternative embodiment of the invention. In this mode, each assignment message may only include one piece of data: an identifier for the request. The scheduled transmission segment associated with each request is not directly stated in the assignment message. Instead, the scheduled transmission segment associated with each request is inferred.
Processing of a message under the “efficient FIFO schedule mode” by an access node such as 104, 106, 108, and 110 is described below, according to one embodiment. Again, each access node maintains a local data transmission queue based on assignment messages received at the first node. The local data transmission queue may be a first-in-first-out (FIFO) list of all symbol-level-requests from all access nodes that have been assigned to scheduled transmission segments, arranged in the order of transmission. Each entry in the queue may contain just an identifier for a symbol-level request. The local data transmission queue is synchronized to the timing of the rest of the system. Thus, as each transmission occurs or is about to occur, the access node examines the corresponding entry in the local data transmission queue. If the access node recognizes the entry as being associated with a symbol-level request sent from the access node, the access node knows that its turn has come and, sends its pending data transmission. If the access node does not recognize the entry as being associated with a symbol-level request set from the access node, the access node can assume that it is another access node's turn, and does not send a data transmission.
Because a message under the “efficient FIFO schedule mode” does not contain an identifier for the scheduled transmission segment associated with the request, it may be more difficult to keep each access node such as 104, 106, 108, and 110 in synchronization with the rest of the system. For example, if an access node misses an assignment message for some reason, the local data transmission queue maintained at the access node may become out of sync with the actual timing of data transmissions. To address this potential problem, scheduler node 102 may periodically broadcast synchronization messages to the access nodes. This allows each access node to synchronize its local data transmission queue with the data transmission queue maintained at scheduler node 102.
Request Detection Error ProcessingUndetected requests are handled by request retransmission, according to an embodiment of the invention. Here, an access node such as 104, 106, 108, and 110 may transmit a symbol-level request that is not detected by the intended recipient, such as scheduler node 102. A variety of factors may contribute to such a missed detection, such as noise, interference, etc. When the access node senses that a symbol-level request it has sent has not been responded to (e.g., no assignment message is received from the scheduler node 102 in response to the symbol-level request), the access node may retransmit the symbol-level request. The retransmission technique may also take into account considerations such as retransmission count, latency, and quality of service (QOS). For example, the access node may keep track of a retransmission count, such as the number of times a particular request has been retransmitted. If the retransmission count exceeds a maximum threshold, the request may be discarded so that no further retransmission is attempted. Also, the access node may keep track of a measure of latency, such as the amount of time that has elapsed since the access node began attempting to request a scheduled transmission segment for a particular message. If the latency exceeds a maximum threshold, the request may be discarded so that no further retransmission is attempted. Furthermore, the access node may take into account a measure of QOS for a request. If the request is associated with a higher QOS, the request may be given a higher priority in retransmission.
Request collisions detected by scheduler node 102 may be treated in a similar manner as undetected requests, according to an embodiment of the invention. Here, two or more symbol-level requests sent from different access nodes such as 104, 106, 108, and 110 may collide with one another. Such collisions may occur if the two or more symbol-level requests are sent in the same request segment. If scheduler node 102 detects such a collision, it may simply not send an assignment. Thus, the response from scheduler node 102 is the same, regardless of whether scheduler node 102 misses the symbol-level request or detects that the symbol-level request was involved in a collision. That is, scheduler node 102 does not send an assignment.
Accordingly, the access node does not need to distinguish between an undetected request versus a detected request collision. As long as the access node senses that a symbol-level request it has sent has not been responded to (e.g., no assignment message is received from scheduler node 102 in response to the symbol-level request), the access node may retransmit the symbol-level request. Again, the retransmission technique may take into account various considerations such as those listed above.
Request collisions not detected by scheduler node 102 as a collision may need to be handled differently. Here, two or more symbol-level requests collide. However, scheduler node 102 fails to recognize that a collision has occurred. Instead, scheduler node 102 treats the collision as a valid symbol-level request. Thus, scheduler node 102 sends an assignment message associating the symbol-level request to a scheduled transmission segment. Each access node that sent a symbol-level request involved in the collision accepts this assignment, and in response sends its own data transmission. As a result, a collision of multiple data transmissions can occur in the scheduled transmission segment specified in the assignment.
The system may handle such a scenario in a number of ways. In one embodiment of the invention, receipt of the data transmission is not to be acknowledged. For example, when an access node such as 104, 106, 108, and 110 sends a data transmission in an assigned scheduled transmission segment, the access node does not expect the intended recipient to respond by sending an acknowledgement (ACK) message to confirm successful receipt of the data transmission. Here, the access node does not inquire into whether the data transmission is successfully received. If it is not successfully received, the access node does not take any action to re-send the data transmission.
In an alternative embodiment of the invention, receipt of the data transmission is to be acknowledged. For example, when an access node such as 104, 106, 108, and 110 sends a data transmission in an assigned scheduled transmission segment, the access node expects the intended recipient to respond by sending an acknowledgement (ACK) message to confirm successful receipt of the data transmission. Here, if the data transmission is not successfully received, as indicated by the lack of an ACK message from the intended recipient, the access node re-sends the data transmission. The process of re-sending the data transmission may be similar to that of the original transmission. That is, the access node may first send a symbol-level request, then receive an assignment associating the symbol-level request to a particular scheduled transmission segment, and finally send the data transmission in the assigned scheduled transmission segment.
Contention RequestsAccording to an embodiment of the present invention, when an access node such as 104, 106, 108, and 110 sends a symbol-level request, the access node randomly selects a request segment from the plurality of available request segments. As mentioned previously, the request segments may be organized in the request signal space based on time-division multiplexing, frequency-division multiplexing, code-division multiplexing, and/or other multiplexing techniques.
For example, the request segments can be organized in the request signal space based on code-division multiple access (CDM). A code such as a Walsh code may be used. Each request segment corresponds to a code channel that can be extracted from the request signal space by applying a particular code word. By utilizing CDM, the request segment is extended in time and spread in frequency. That is, without applying code-division multiple access, the request segment may be confined to a shorter time slot and narrower frequency bandwidth. Thus, the energy of a request can be spread out over a longer time slot and over a wider frequency bandwidth. This allows the transmitter to use less power. Specifically, the arrangement captures the otherwise unused power (power in unoccupied time slots and unoccupied frequency bandwidths) in a low load factor request channel. Use of CDM in the request signal space also provides a signal-to-noise ratio (SNR) gain over transmissions in the scheduled transmission signal space. In certain implementations, this gain can be in the range of 9 to 30 dB, or even more. The use of CDM as applied to request segments can significantly improve request detection performance.
According to another embodiment of the present invention, when an access node such as 104, 106, 108, and 110 sends a symbol-level request, the access node utilizes a defined schedule to select a request segment from the plurality of available request segments. The defined schedule specifies the request segments available to each access node. In this sense, the defined schedule “polls” each access node to send its request in the appropriate request segment. Again, the request segments may be organized in the request signal space based on time-division multiplexing, frequency-division multiplexing, code-division multiplexing, and/or other multiplexing techniques. In particular, the use of code-division multiplexing in the request signal space is associated with significant benefits, as discussed previously.
Generally speaking, a polled request channel has both advantages and disadvantages when compared to a contention request channel. One advantage is that there is no possibility of collision. This is because the defined schedule does not allot the same request segment to two different access nodes. A disadvantage of the polled request channel is added latency. When an access node adopting a polled request channel is ready to send a request, it might not be able to do so right away. Instead, the access node may have to wait for the next opportunity when one of its request segments becomes available according to the defined schedule. Such delays contribute to the added latency of a polled request channel.
According to one embodiment of the invention, the defined schedule is fixed. For example, the nodes in the system may be preprogrammed to follow a particular defined schedule of request segments. According to another embodiment of the invention, the defined schedule is dynamically altered. For example, the scheduler node 102 may change the defined schedule of requests segments during operation, in response to changing conditions. The scheduler node 102 may then broadcast the newly defined schedule to access nodes 104, 106, 108, and 110.
According to an embodiment of the present invention, multiple services are offered. Accordingly, multiple categories of scheduled transmission segments are defined in the scheduled transmission signal space. Each category of scheduled transmission segments may correspond to a different service type. For example, as described previously,
To request a scheduled transmission of a particular service type, an access node such as 104, 106, 108, and 110 sends a request that somehow indicates the service type desired. According to various embodiments of the invention, such a request may be implemented as a one-symbol (single symbol) request or an N-symbol (multiple symbols) request.
One-symbol requests are described in more detail below. Here, the access node conveys the service type desired using only a one-symbol request. According to an embodiment of the invention, this is accomplished by dividing the request signal space into multiple categories of request segments. An access node can indicate the type of service requested by sending the request in a request segment belonging to the appropriate category. For example, in the case of two-service system shown in
N-symbol requests are described in more detail below. Two separate embodiments are presented. According to a first embodiment, a request comprising N symbols is non-coherently detected. That is, the recipient of the request (e.g., scheduler node 102, other access nodes such as 104, 106, 108, and 110) receives the request as a non-coherent signal. For example, the recipient may utilize an envelope detector that only detects each symbol of the request as either an “on” or “off.” Generally speaking, such an N-symbol request can specify one out of 2N-1 service types. In one implementation where each request comprises N=2 symbols, the request may support 3 different types of services as follows. If symbol 1 is “on” and symbol 2 is “off,” then service type 1 is indicated. If symbol 1 is “off” and symbol 2 is “on,“then service type 2 is indicated. If symbol 1 is “on“and symbol 2 is “on,” then service type 3 is indicated. Of course, if symbol 1 is “off” and symbol 2 is “off,” then no request is sent.
According to a second embodiment, a request comprising N symbols is coherently detected. That is, the recipient of the request receives the request as a coherent signal. Designs of such coherent detectors are well-know in the art. The recipient may demodulate the request according to a particular modulation and/or coding scheme. One example is a system based on a differentially coherent detection scheme. Here, M-ary differential phase shift keying (M-DPSK) modulation is used. An N-symbol request can specify one of MN-1 different service types, with one symbol used to provide a phase reference. Furthermore, the M-DPSK signal may also be block-coded to provide error correction. Of course, this is just one example. In other implementations, different modulation and coding schemes may be used. The particular choice of modulation and coding scheme may be depend on channel conditions, such as the signal to noise ratio (SNR) encountered.
Default Assignment of Scheduled Transmission SegmentsAccording to an embodiment of the invention, the scheduled transmission signal space comprises a plurality of scheduled transmission segments that includes at least one default use segment available for use by a default node or a plurality of default nodes if not assigned to any symbol-level request. Such a technique allows for a flexible use of transmission segments that do not become assigned as a result of a specific symbol-level request.
In one implementation, a two-tier assignment technique is employed. The first tier is a “priority tier” of assignments. This may comprise an assignment associating a symbol-level request with a scheduled transmission segment, as discussed in other sections of the present disclosure. A second tier is a “space available” tier of assignments. In this tier, one or more scheduled transmission segments are assigned to a default entity. The default entity is given conditional use of these scheduled transmission segments. The condition is that, if the scheduled transmission segments are not assigned in the priority tier (thus they are available), the default entity may go ahead and use the scheduled transmission segments. In other words, the second tier allows for secondary assignments of scheduled transmission segments.
Each of these second-tier assignments may be specified for a particular time duration. Typically, the time duration is relatively long with respect to the first-tier assignment activities of the system. Just as one example, in a particular system, numerous first-tier assignments may take place in a matter of seconds. By contrast, a second-tier assignment may assign one or more scheduled transmission segments to a default entity for a time duration of minutes, hours, or days. Also, the second-tier assignments may partition the scheduled transmission signal space in a different way than the first tier of assignments. For example, a second-tier assignment may assign a large block of scheduled transmission segments for default use by a default entity.
In one embodiment, the default entity comprises a default node. Here, the default node enjoys use of the one or more scheduled transmission segments if they are not assigned in the first tier. The default node may use the scheduled transmission segments to perform file transfers, certain low priority data flows, etc.
In another embodiment, the default entity comprises a group of default nodes. Here, the group of default nodes shares the default use of the one or more scheduled transmission segments. The scheduled transmission segments may be allocated as a block of the signal space. The group of default nodes may share the default use of the block on a contention basis. For example, each member of the group of default nodes may compete with the other members for the right to use the entire block of signal space. Various contention access protocols may be implemented, such as Slotted Aloha and others.
In yet another embodiment, the default entity is selected from a plurality of default entities including at least one default node and at least one group of default nodes. Thus, in one system, the second tier may include a mix of default nodes and groups of default nodes. A particular second-tier assignment may assign the default use of a block of signal space to a default node or to a group of default nodes.
Successive Scheduled RequestsIn response to an initial symbol-level request sent in an initial request segment from access nodes 105, 106, 108, and 110, scheduler node 102 may assign one or more additional request segments as follow-up request segments to the initial symbol-level request, according to an embodiment of the invention. For example, scheduler node 102 may broadcast an assignment message to associate the initial request segment with the one or more follow-up request segments. This may be performed in an anonymous manner with respect to the identity of the access node that sent the initial request, as described previously. The one or more scheduled follow-up request segments may be used in different ways. Two such uses are described below.
In one embodiment, the follow-up request segments are used to resolve collisions. When scheduler node 102 receives the initial symbol-level request, it may determine that a collision may have occurred. Just as an example, assume two access nodes, 104 and 106, each sends an initial request in the same initial request segment. This causes a collision. Even if scheduler node 102 can properly decode the initial request, it remains ambiguous as to which access node should be the deemed the originator of the request. If scheduler node 102 does not resolve the collision and instead simply sends an assignment message associating the initial request with a scheduled transmission segment, both access nodes 104 and 106 may accept the assignment and attempt to send a data transmission in the scheduled transmission segment. The likely result is that the signals will be jumbled, and neither data transmission can be properly received.
Thus, instead of just sending an assignment associating the initial request segment with a scheduled transmission segment, scheduler node 102 may send an assignment associating the initial request segment with one or more follow-up request segments. These follow-up request segments provide an opportunity for access nodes involved in a collision to send secondary requests that may avoid collision with one another.
Continuing with the above example of a collision involving access nodes 104 and 106, scheduler node 102 may detect the possible collision and send an assignment that associates the initial request with 32 follow-up request segments. Access node 104 responds by randomly selecting 1 out of the 32 follow-up request segments and sending a secondary request in its randomly selected request segment (e.g., request segment 8). Access node 106 also responds by randomly selecting 1 out of the 32 follow-up request segments and sending a secondary request in its randomly selected request segment (e.g., request segment 13).
There is a high probability (31/32) that access nodes 104 and 106 would randomly select different ones of the 32 possible follow-up request segments to send their respective secondary requests. If this scenario occurs (more likely), the collision has been resolved. That is, now access nodes 104 and 106 have sent secondary requests in distinct request segments. Scheduler node 102 can simply process the secondary requests separately—by assigning a scheduled transmission segment to the secondary request sent from access node 104, and separately assigning another scheduled transmission segment to the secondary request sent from access node 106.
Of course, there is a low probability (1/32) that access nodes 104 and 106 would happen to select the same one out of the 32 possible follow-up segments to send their respective secondary requests. If this scenario occurs (less likely), the collision remains unresolved. Here, scheduler node 102 may repeat the procedure over again, in order to resolve the collision. That is, scheduler node 102 may send yet another assignment to assign another set of 32 follow-up request segments. Access nodes 104 and 106 would again separately make random selections out of the 32 follow-up request channels, and so on. This process may repeat until the collision is resolved or until a termination condition is reached.
While the example discussed above involves two access nodes 104 and 106, the approach is applicable in collision situations involving more than two nodes. Also, the probability of collision resolution in each iteration can be modified by changing the number of follow-up request segments assigned (e.g., to a number greater than or less than 32).
In another embodiment, the follow-up request segments are used to send additional information relating to a request. An access node such as 104, 106, 108, and 110 may send an initial symbol-level request. Upon receiving the initial symbol-level request, scheduler node 102 may send an assignment associating the initial request segment with one or more follow-up request segments. Here, the follow-up request segments provide an opportunity for the access node to provide additional information that supplements the initial symbol-level request. For example, if the initial symbol-level request does not indicate a particular type of service requested, scheduler node 102 may assign one or more follow-up request segments so that the access node may send additional signals in the follow-up request segments to specify the type of service requested.
Piggyback RequestsAccording to an embodiment of the invention, a request may be sent from an access node such as 104, 106, 108, and 110 as a “piggyback request.” Here, a piggyback request refers to a request that is included in a portion of a data transmission sent from a node in a scheduled transmission segment. Thus, unlike a request sent in a request segment in the request signal space, a piggyback request is sent as part of a data transmission, such as in a header of the data transmission, sent in a scheduled transmission segment in the scheduled transmission signal space. This technique may improve efficiency by allowing a request to “hitch a ride” on a scheduled transmission, thus obviating the use a separate transmission in the request signal space.
Operation of piggyback requests can be viewed in the context of a sequence of data transmissions sent, in respective scheduled transmission segments, from an access node. The sequence of data transmissions may include a current data transmission that the access node is prepared to send. The sequence of data transmissions may also include a subsequent data transmission that has yet to be assigned a scheduled transmission segment. To request a scheduled transmission segment for the subsequent data transmission, the access node may send a piggyback request in a portion of the current data transmission.
The piggyback request may be included in the current data transmission in various ways. For example, the piggyback request may be part of a header in the current data transmission. In one implementation, the piggyback request comprises a request count in the header of the current data transmission.
In one embodiment of the invention, a piggyback request may serve as an initial request for the subsequent data transmission. For example, the piggyback request may be the only request sent from the access node for requesting assignment of a scheduled transmission segment for the subsequent data transmission. In this case, there is no separate request signal sent in the request signal space for the subsequent data transmission. That is, the subsequent data transmission relies on the piggyback request to obtain an assignment of an appropriate scheduled transmission segment.
The access node may make a burst time decision to select between using a piggyback request versus using a symbol-level request in the request signal space, according to an embodiment of the invention. The burst time decision occurs around the time when the current data transmission is about to be sent. The selection may be based on the expected latency of the current data transmission. The selection may also be based on certain quality-of-service (QOS) considerations associated with the data transmission to be scheduled, i.e., the subsequent data transmission. Just as a simple example, a particular QOS requirement for the subsequent data transmission may be that requests are to be sent in less than 100 msec. If the expected latency of the current data transmission exceeds 100 msec, the access node may choose to use a symbol-level-request in the request signal space, instead of the piggyback request.
In one embodiment of the invention, a piggyback request may serve as a redundant request corresponding to a previously sent request. Here, each access node sends not only (1) a request in the request signal space, but also (2) a redundant piggyback request in the scheduled transmission signal space. The piggyback request may include a location identifier for the associated request in the request signal space. Thus, each request sent by an access node in the request signal space has a back up in the form of an associated redundant piggyback request.
One use of such redundant piggyback requests is detection of collisions between multiple requests in a request segment. Different nodes such as access nodes 104, 106, 108, and 110, may send requests in the same request segment in the request signal space, causing a collision. If each access node also sends an associated redundant piggyback request as backup, the redundant requests may be processed to detect the collision. Another use of such redundant piggyback request is for detection of missed requests.
First, upon receiving a request in the request signal space, scheduler 102 assigns a scheduled transmission segment to the request. Second, upon receiving a single (sole) piggyback request associated with a particular request detected in the request signal space, scheduler 102 ignores the piggy back request. Here, receipt of a single piggyback request indicates that only one access node sent the request in the request signal space, and thus no collision occurred. Third, upon receiving multiple piggyback requests associated with a particular request detected in the request signal space, scheduler 102 assigns a separate scheduled transmission segment to each piggyback request. Here, receipt of multiple piggyback requests that are all associated with the same request detected in the request signal space indicates that more than one of the access nodes sent the request, and thus a collision occurred. Thus, scheduler node 102 resolves the conflict by assigning each piggyback request a separate scheduled transmission segment. Fourth, upon receiving a piggyback request for an undetected request in the request signal space, scheduler 102 assigns a scheduled transmission segment to the piggyback request. Here, the piggyback request is associated with a request that was sent in the request signal space, but somehow was not detected. Here, the piggyback request serves its purpose as the backup request. Accordingly scheduler 102 assigns a scheduled transmission segment to the piggyback request.
Dynamic Partitioning of Request Signal Space and Scheduled Transmission Signal SpaceAccording to an embodiment of the present invention, the allocation of the shared communication medium between the request signal space and the scheduled transmission signal space can be dynamically altered. Just as a simple example, a system may dynamically alter the allocation of the shared communication medium, from an allocation as illustrated in
According to an embodiment of the invention, access nodes 104, 106, 108, and 110 may send a two-step request for transmission. Such a two-step request is made up of a first step and a second step. The first step may simply be a symbol-level request sent from the access node, as described previously. When an assignment is obtained associating the symbol-level request to a scheduled transmission segment, the access node can send a data transmission in the scheduled transmission segment. Here, the second step may be the data transmission sent in the scheduled transmission segment. In other words, instead of using the scheduled transmission segment assigned to a request for sending regular data, the access node uses the scheduled transmission segment to send the second step of the request. The second step may further define the request. The request may be a more elaborate request for service. For example, the second step may specify a particular service type or other information that provides additional details on the request being made.
Multiple Requests for Priority AccessAccording to an embodiment of the invention, an access node such as 104, 106, 108, and 110 may send more than one request when attempting to obtain an assignment to schedule only one data transmission. Ordinarily, when the access node has a data transmission to send, the access node sends one request in order to obtain an assignment for a scheduled transmission segment. Here, however, the access node may send out two or more requests. In other words, the access node may send an extra request(s) as backup. This may be done for the purpose of increasing the likelihood of an assignment. For example, if scheduler 102 somehow fails to detect one of the requests, the other request(s) may still be detected. For each detected request, scheduler 102 may send an assignment that assigns the detected request to a scheduled transmission segment.
Of course, this can lead to multiple assignments of separate scheduled transmission segments, reserved for just one data transmission. According to one embodiment of the invention, the access node does not waste such extra scheduled transmission segments. Instead, the access node utilizes such extra scheduled transmission segment for sending other data transmissions.
No Scheduler Mode and Other Assignment ModesDifferent assignment modes may be adopted according to various embodiments of the invention. These may include a “scheduler mode,” a “no scheduler mode,” and a “hybrid mode.” Here, a “scheduler mode” refers to a mode of operation in which access nodes rely on a scheduler node to determine the assignment of scheduled transmission segments. Previous sections have described examples under the “scheduler mode.”
A “hybrid mode” is described below in accordance with another embodiment. Referring back to
According to yet another embodiment of the invention, a system may contain a mixture of access nodes operating under different assignment modes. Some of the access nodes in the system may operate under a “scheduler mode.” Some of the access nodes in the system may operate under a “no scheduler mode,” as discussed above. Finally, some of the access nodes in the system may operate under a “hybrid mode, as discussed above.
While the present invention has been described in terms of specific embodiments, it should be apparent to those skilled in the art that the scope of the present invention is not limited to the described specific embodiments. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, substitutions, and other modifications may be made without departing from the broader spirit and scope of the invention as set forth in the claims.
Claims
1. A method for conducting communications over a shared communication medium involving a plurality of nodes, the method comprising:
- (a) sending a request from a first node in the plurality of nodes, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is randomly selected by the first node from the plurality of request segments;
- (c) obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space; and
- (d) from the first node, sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment.
2. The method of claim 1 wherein the plurality of request segments are based on code-division multiplexing of the request signal space, and wherein the request segment is randomly selected by randomly selecting a code word.
3. A method for conducting communications over a shared communication medium involving a plurality of nodes, the method comprising:
- (a) sending a request from a first node in the plurality of nodes, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule;
- (c) obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space; and
- (d) from the first node, sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment.
4. The method of claim 3 wherein the plurality of request segments are based on code-division multiplexing of the request signal space, and wherein the allotted request segment is associated with a code word.
5. The method of claim 3 wherein the defined schedule is fixed.
6. The method of claim 3 wherein the defined schedule is dynamically altered.
7. A method for conducting communications over a shared communication medium involving a plurality of nodes including a first node and a second node, the method comprising:
- (a) at the second node, receiving a request from the first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is randomly selected by the first node from the plurality of request segments;
- (c) at the second node, making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message; and
- (d) at the second node, receiving a data transmission from the first node in the scheduled transmission segment associated with the request.
8. A method for conducting communications over a shared communication medium involving a plurality of nodes including a first node and a second node, the method comprising:
- (a) at the second node, receiving a request from the first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the request sent in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule;
- (c) at the second node, making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message; and
- (d) at the second node, receiving a data transmission from the first node in the scheduled transmission segment associated with the request.
9. An apparatus for conducting communications over a shared communication medium involving a plurality of nodes, comprising:
- (a) a first node capable of sending a request over the shared communication medium, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the first node capable of sending the request in a request segment that is one of the plurality of request segments;
- (b) wherein the first node is capable of randomly selecting the request segment from the plurality of request segments;
- (c) wherein the first node is capable of obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space; and
- (d) wherein the first node is capable of sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment.
10. The apparatus of claim 9 wherein the plurality of request segments are based on code-division multiplexing of the request signal space, and wherein the request segment is randomly selected by randomly selecting a code word.
11. An apparatus for conducting communications over a shared communication medium involving a plurality of nodes, comprising:
- (a) a first node capable of sending a request over the shared communication medium, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the first node capable of sending the request in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule;
- (c) wherein the first node is capable of obtaining an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space; and
- (d) wherein the first node is capable of sending a data transmission in the scheduled transmission segment associated with the request in accordance with the assignment.
12. The apparatus of claim 11 wherein the plurality of request segments are based on code-division multiplexing of the request signal space, and wherein the allotted request segment is associated with a code word.
13. The apparatus of claim 11 wherein the defined schedule is fixed.
14. The apparatus of claim 11 wherein the defined schedule is dynamically altered.
15. An apparatus for conducting communications over a shared communication medium involving a plurality of nodes, comprising:
- (a) a second node capable of receiving a request from a first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the second node capable of receiving the request in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is randomly selected by the first node from the plurality of request segments;
- (c) wherein the second node is capable of making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message; and
- (d) wherein the second node is capable of receiving a data transmission from the first node in the scheduled transmission segment associated with the request.
16. An apparatus for conducting communications over a shared communication medium involving a plurality of nodes, comprising:
- (a) a second node capable of receiving a request from a first node, the shared communication medium organized to include a request signal space and a scheduled transmission signal space, the request signal space including a plurality of request segments each having a different location within the request signal space, the scheduled transmission signal space including a plurality of scheduled transmission segments each having a different location within the scheduled transmission signal space, the second node capable of receiving the request in a request segment that is one of the plurality of request segments;
- (b) wherein the request segment is a request segment allotted to the first node according to a defined schedule;
- (c) wherein the second node is capable of making an assignment associating the request with a scheduled transmission segment selected from the plurality of scheduled transmission segments, the assignment taking into account location of the request within the request signal space, and sending a corresponding assignment message; and
- (d) wherein the second node is capable of receiving a data transmission from the first node in the scheduled transmission segment associated with the request
Type: Application
Filed: Jun 29, 2007
Publication Date: Aug 7, 2008
Applicant: ViaSat, Inc. (Carlsbad, CA)
Inventor: Donald W. Becker (Rancho Santa Fe, CA)
Application Number: 11/771,828
International Classification: H04J 3/14 (20060101);