Radio communication systems, such as a wireless data networks (e.g., spread spectrum systems (such as Code Division Multiple Access (CDMA) networks), Time Division Multiple Access (TDMA) networks, WiMAX (Worldwide Interoperability for Microwave Access), etc.), provide users with the convenience of mobility along with a rich set of services and features. This convenience has spawned significant adoption by an ever growing number of consumers as an accepted mode of communication for business and personal uses. To promote greater adoption, the telecommunication industry, from manufacturers to service providers, has agreed at great expense and effort to develop standards for communication protocols that underlie the various services and features. One area of effort involves resource allocation of network resources among network nodes. Traditional approaches utilize handshake mechanisms that introduce delay, thereby negatively impacting network performance.
Therefore, there is a need for an approach for providing an efficient resource allocation scheme, which can co-exist with already developed standards and protocols.
According to one embodiment, a method comprises generating a request for resource allocation from a neighboring node within a network. The method also comprises inserting the request in a beaconing subframe of a transmission frame. The transmission frame includes a reservation subframe that provides acknowledgement signaling relating to a grant of the resource allocation.
According to another embodiment, an apparatus comprises a resource allocation module configured to generate a request for resource allocation from a neighboring node within a network, and to insert the request in a beaconing subframe of a transmission frame. The transmission frame includes a reservation subframe that provides acknowledgement signaling relating to a grant of the resource allocation.
According to another embodiment, a method comprises receiving a request from a neighboring node within a network for resource allocation, wherein the request is transmitted within a beaconing subframe of a transmission frame that includes a reservation subframe. The method also comprises granting or rejecting the request using the reservation subframe to indicate an acknowledgement or negative acknowledgement relating to the grant or the rejection. The reservation subframe includes a plurality of signaling opportunities for specifying the acknowledgement or the negative acknowledgement, and the signaling opportunities are further used to relay an acknowledgement or negative acknowledgement from another neighboring node.
According to yet an exemplary embodiment, an apparatus comprises a resource allocation module configured to receive a request from a neighboring node within a network for resource allocation, wherein the request is transmitted within a beaconing subframe of a transmission frame that includes a reservation subframe. The resource allocation module is further configured to grant or reject the request using the reservation subframe to indicate an acknowledgement or negative acknowledgement relating to the grant or the rejection. The reservation subframe includes a plurality of signaling opportunities for specifying the acknowledgement or the negative acknowledgement, and the signaling opportunities are further used to relay an acknowledgement or negative acknowledgement from another neighboring node.
Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the invention. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
The invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:
An apparatus, method, and software for providing resource allocation are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
Although the embodiments of the invention are discussed with respect to UWB (Ultra WideBand) type and Institute of Electrical & Electronics Engineers (IEEE) 802.16 mesh option type of beaconing, it is recognized by one of ordinary skill in the art that the embodiments of the inventions have applicability to other equivalent framing structures, topologies, and systems (e.g., NextG (Next Generation) mesh radio system, WiMAX (Worldwide Interoperability for Microwave Access) of
The nodes 101 can be any type of network element, such as user equipment (UE), handsets, terminals, mobile stations, base stations, units, devices, or any type of interface to the user (such as “wearable” circuitry, etc.). By way of example, one of the nodes (e.g., node 101a) is a user equipment or subscriber station (SS) and one of the nodes is a base station (e.g., node 101b); these nodes 101 can communicate according to an air interface defined by IEEE 802.16, for example. In one embodiment, the nodes are arranged according to a mesh topology, as shown in
In step 205, the target node 101b selects an appropriate spreading code to signify an acknowledgement or a negative acknowledgement based on a predetermined scheme. According to certain embodiments, the following schemes can be employed to determine the spreading code. For instance, the beacon transmission order can be used to assign the spreading code. Also, the original request can specify explicitly the spreading code. Further, the spreading code can be determined based on some information in the request; this information can include, e.g., source node number, target node number, message number, etc.
Thereafter, the target node 101b transmits an acknowledgement signal (either an acknowledgement message or a negative acknowledgement message) based on a predefined transmission rule. In one embodiment, the rule can specify that a node having an even address (e.g., MAC address) transmits using an even transmission opportunity or slot, while an odd address utilizes odd opportunities (step 207). It is contemplated any variation on manipulating the unique addresses and transmission opportunities can be employed.
The above approach can be deployed in, for example, a radio network having a meshed topology.
Under IEEE 802.16, the system 300 supports two modes of operation: Point-to-Multipoint (PMP) mode and mesh mode. In PMP, each SS 303 directly communicates with the BS 301 through a single-hop link. In the mesh mode, however, the SSs 303 can communicate with the mesh BS 301 and with other SSs 303 via multi-hop routes through the other SSs 303. This mesh topology provides high network reliability and availability.
In IEEE 802.16 mesh node, both centralized scheduling and distributed scheduling are supported. Mesh centralized Schedule (MSH-CSCH) and Mesh Distributed Scheduling (MSH-DSCH) messages are exchanged in the scheduling control subframe to assign the data minislots to different stations (as shown in
Although the network 300 is described with respect to a meshed topology, it is contemplated that other topologies may be deployed.
The difference between the above schemes involves the time a node 101 has to decode the message (while receiving) before the nodes 101 need to relay detected codes. Among the three mechanisms, scheme I provides more time for processing.
Because 1-hop neighbors can decode each others beacon transmissions, these nodes 101 can calculate which spreading codes are used in their neighborhood for positive and negative acknowledgements. When a node is listening in a SMRA opportunity, the node monitors for set of known spreading codes for positive and negative ACK messages. If the node 101 detects any of the monitored spreading, the node repeats those codes in its own SMRA opportunity together with the codes it has decided to transmit.
As earlier indicated, the transmission timing of these signaling messages impacts network performance. That is, if the interval between two subsequent signaling messages of a node is too large, the three-way handshake introduces delay, resulting in delayed transmission of packets in the queue. Furthermore, the BS 301 and SSs 301 will not be able to react according to frequent changes in the load of network traffic.
To above transmission frame is modified to support acknowledgement signaling through the addition of an acknowledgement (ACK) subframe. This ACK subframe may convey a positive or negative acknowledgement message, and is more fully detailed below.
According to one embodiment, code division multiplexing (different spreading codes) is utilized to separate ACK (Acknowledgement)/NACK (Negative Acknowledgement) messages to different medium reservation requests. The identity of the transmitted ACK/NACK spreading code is unique to the resource request; and the identity can based on the information of original beacon transmission such as source node number (possibly MAC address), target node (possibly MAC address) and request number together. The shared medium reservation acknowledgement subchannel 805 provides for original transmission and relay of ACK/NACK messages.
According to one embodiment, a shared medium reservation acknowledge (SMRA) subchannel is depicted in
The purpose of the multiple ACK opportunities is to reserve for each node 101 an opportunity to listen for the SMRA subchannel 805, to transmit its own ACK/NACK messages, or to relay ACK messages of the surrounding nodes 101. The spreading codes are used to separate these Boolean (ACK/NACK) messages; therefore multiple messages can be multiplexed into the same time-frequency allocation. Because a node 101, generally, cannot be transmitting at the same time as it is receiving, dedicated timeslots for different nodes are needed.
The target node (e.g., node 101b of
The network 100 can employ a predefined rule for determining how nodes transmit SMRA messages. In an exemplary embodiment, the beacon transmission order selection for ACK transmissions may be based on the nodes MAC addresses. For instance, nodes 101 that have an even MAC address can transmit on even ACK opportunities, and nodes 101 with odd MAC addresses transmit on odd opportunities. In other embodiment, the nodes 101 negotiate the even and odd operation phases during the authentication and association phases. When node 101 is not transmitting in an opportunity the node 101 is receiving responses from other nodes 101.
Referring back to the transmission opportunity schemes I-III of
As seen in
In the example of
The awareness of spectrum reservation of a node (e.g., node A) is different in 2-hop neighborhood of node A.
If awareness in 2-hop neighborhood of the source node is needed, the granted reservation can be made public later on using beacon messages as depicted in
One of ordinary skill in the art would recognize that the processes for providing shared reservation acknowledgement channel may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware, or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
The computing system 900 may be coupled via the bus 901 to a display 911, such as a liquid crystal display, or active matrix display, for displaying information to a user. An input device 913, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 901 for communicating information and command selections to the processor 903. The input device 913 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 903 and for controlling cursor movement on the display 911.
According to various embodiments of the invention, the processes described herein can be provided by the computing system 900 in response to the processor 903 executing an arrangement of instructions contained in main memory 905. Such instructions can be read into main memory 905 from another computer-readable medium, such as the storage device 909. Execution of the arrangement of instructions contained in main memory 905 causes the processor 903 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 905. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the invention. In another example, reconfigurable hardware such as Field Programmable Gate Arrays (FPGAs) can be used, in which the functionality and connection topology of its logic gates are customizable at run-time, typically by programming memory look up tables. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The computing system 900 also includes at least one communication interface 915 coupled to bus 901. The communication interface 915 provides a two-way data communication coupling to a network link (not shown). The communication interface 915 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 915 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc.
The processor 903 may execute the transmitted code while being received and/or store the code in the storage device 909, or other non-volatile storage for later execution. In this manner, the computing system 900 may obtain application code in the form of a carrier wave.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 903 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device 909. Volatile media include dynamic memory, such as main memory 905. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 901. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the invention may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor.
The base station 1005 has connectivity to an access network 1007. The access network 1007 utilizes an ASN gateway 1009 to access a connectivity service network (CSN) 1011 over, for example, a data network 1013. By way of example, the network 1013 can be a public data network, such as the global Internet.
The ASN gateway 1009 provides a Layer 2 traffic aggregation point within the ASN 1003. The ASN gateway 1009 can additionally provide intra-ASN location management and paging, radio resource management and admission control, caching of subscriber profiles and encryption keys, AAA client functionality, establishment and management of mobility tunnel with base stations, QoS and policy enforcement, foreign agent functionality for mobile IP, and routing to the selected CSN 1011.
The CSN 1011 interfaces with various systems, such as application service provider (ASP) 1015, a public switched telephone network (PSTN) 1017, and a Third Generation Partnership Project (3GPP)/3GPP2 system 1019, and enterprise networks (not shown).
The CSN 1011 can include the following components: Access, Authorization and Accounting system (AAA) 1021, a mobile IP-Home Agent (MIP-HA) 1023, an operation support system (OSS)/business support system (BSS) 1025, and a gateway 1027. The AAA system 1021, which can be implemented as one or more servers, provide support authentication for the devices, users, and specific services. The CSN 1011 also provides per user policy management of QoS and security, as well as IP address management, support for roaming between different network service providers (NSPs), location management among ASNs.
R4 is defined between ASNs 1003a and 1003b to support inter-ASN mobility. R5 is defined to support roaming across multiple NSPs (e.g., visited NSP 1029a and home NSP 1029b). R6 is defined between base stations 1005 and ASN-GWs 1009, and R8 is defined between base stations 1005.
While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.
This application claims the benefit of the earlier filing date under 35 U.S.C. 119(e) of U.S. Provisional Application Ser. No. 60/984,182 filed Oct. 31, 2007, entitled “Method and Apparatus for Providing a Shared Reservation Acknowledgement Channel,” the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60984182 | Oct 2007 | US |