This application claims priority under 35 U.S.C. § 119 to an application entitled “Scheduling Method in a Wireless Network” filed in the Korean Intellectual Property Office on Dec. 15, 2004 and assigned Serial No. 2004-106166, the contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates generally to a scheduling method in a wireless network, and in particular, to a method for scheduling nodes in a wireless network supporting communication between the nodes.
2. Description of the Related Art
With the development of the wireless communication industry, various wireless communication schemes have been proposed. As wireless network use increases, so does the demand for sharing data at any time and in any place. To provide such service, existing wireless networks, however, must have the necessary infrastructure, such as base stations or access points (AP). Therefore, to receive a desired service, nodes must be located restrictively in a place where they can access a base station or an AP.
A Time Division Multiple Access (TDMA)-based ad-hoc wireless network is a typical example of a wireless communication scheme. The ad-hoc wireless network includes an IEEE 802.11 wireless network supporting a direct link, an IEEE 802.16d wireless network supporting a mash network, and an IEEE 802.15.3 wireless network supporting wireless streaming. The 802.11 and 802.15.3 networks propose a scheme for supporting direct communication between all nodes located in a 1-hop distance, and the 802.16d network proposes a scheme for supporting direct communication between a node located inside a cell boundary and a node located outside the cell boundary.
In the ad-hoc wireless network, even though the infrastructure, such as a base station or an AP, is not installed, nodes can still use the data service autonomously. As a result, the ad-hoc wireless network communication scheme is desirable because it is an alternative and node-oriented wireless network. However, in the ad-hoc wireless network, there is no subject for managing and scheduling resources for nodes, like the base station or the AP, thus causing a reduction in resource efficiency. In the existing centralized wireless network, even the power exhaustion of nodes does not affect the wireless network. In the ad-hoc wireless network, where nodes should serve as repeaters, the performance deterioration of nodes causes performance degradation of the network. Therefore, to make the ad-hoc wireless network practical, it is necessary to increase power efficiency of nodes.
It is, therefore, an object of the present invention to provide a scheduling method for saving power of nodes in a wireless network supporting communication between the nodes.
It is another object of the present invention to provide a scheduling method for increasing throughput and power efficiency of nodes in a wireless network supporting communication between the nodes.
It is further another object of the present invention to provide an affinity-based scheduling method for increasing throughput and power efficiency of nodes in a wireless network supporting communication between the nodes.
It is yet another object of the present invention to provide a scheduling method based on affinities and the amount of resources, for increasing throughput and power efficiency of nodes in a wireless network supporting communication between the nodes.
It is still another object of the present invention to provide a method for measuring an affinity based on a rate at which nodes participate in communication, for scheduling in a wireless network supporting communication between the nodes.
It is still another object of the present invention to provide a method for independently scheduling tasks in which nodes participate through a coordinator in a wireless network supporting communication between the nodes.
It is still another object of the present invention to provide a method for independently scheduling tasks using node affinities and task affinities in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a method for acquiring an affinity of a node based on the total sum of affinities of tasks in which nodes participate in a wireless network supporting communication between the nodes.
It is still another object of the present invention to provide a method for acquiring a task affinity based on the sum of affinities of nodes participating in the corresponding task in a wireless network supporting communication between the nodes.
It is still another object of the present invention to provide a scheduling method for separately assigning priorities to tasks in the order of low task affinity in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a scheduling method for assigning a priority to a concerned task by a node having the lowest node affinity when there are multiple tasks having the same affinity in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a scheduling method for assigning a higher priority to a task having the smaller amount of required resources when there are multiple tasks having the same task affinity and the same node affinity in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a scheduling method for assigning priorities based on the amount of required resources, and assigning priorities to tasks having the same amount of required resources based on affinities in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a method for allowing a node to transition to a doze state which is a power-saving mode, when all tasks concerned by the node are completely performed in a wireless network supporting communication between nodes.
It is still another object of the present invention to provide a scheduling method for minimizing the number of nodes that unnecessarily dissipate power in a wireless network supporting communication between nodes.
In accordance with a first aspect of the present invention, there is provided a method for performing scheduling on tasks formed for communication between a plurality of nodes in a wireless network supporting communication between the nodes. The method includes calculating affinities for the nodes; calculating affinities for the tasks according to the calculated node affinities; and assigning priorities to the tasks in the order of level of the calculated task affinities.
In accordance with a second aspect of the present invention, there is provided a method for performing scheduling on tasks by a coordinator in a wireless network in which the tasks are formed for communication between a plurality of nodes and the nodes transmit information on the tasks. The method includes receiving information on the tasks from the nodes; calculating affinities for the nodes according to the task information; calculating affinities for the tasks according to the calculated node affinities; assigning priorities to the tasks in the order of level of the calculated task affinities; and transmitting the assigned priorities to the nodes.
In accordance with a third aspect of the present invention, there is provided a method for performing scheduling on tasks by a coordinator in a wireless network in which tasks are formed for communication between a plurality of nodes and the nodes transmit information on the tasks. The method includes receiving information on the tasks from the nodes; assigning priorities to the tasks according to their amounts of required resources, acquired from the task information; if there are tasks having the same amount of required resources, calculating affinities for nodes forming the tasks having the same amount of required resources according to the task information; calculating affinities for the tasks having the same amount of required resources according to the calculated node affinities; assigning priorities to the tasks having the same amount of required resources in the order of level of the calculated task affinities; and transmitting the priorities assigned based on the amount of required resources and the task affinities, to the nodes.
In accordance with a fourth aspect of the present invention, there is provided a method for performing scheduling on tasks formed for communication between a plurality of nodes in a wireless network having the nodes and a coordinator for coordinating communication between the nodes. The method includes calculating, by each of the nodes, an affinity for at least one task in which the corresponding node participates, and transmitting the calculated task affinity to the coordinator; assigning, by the coordinator, priorities to the tasks in the order of level of the task affinities received from the nodes; and transmitting the assigned priorities to the nodes.
The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:
Several preferred embodiments of the present invention will now be described in detail with reference to the annexed drawings. In the following description, a detailed description of known functions and configurations incorporated herein has been omitted for conciseness.
The embodiments of the present invention provide a scheduling method for separately assigning priorities to tasks formed by nodes in a wireless network supporting communication between the nodes. The priorities of the tasks are determined considering task affinities and the amount of resources required. The task affinities are determined based on affinities of nodes that form the tasks. Therefore, the embodiments of the present invention provide a method for separately calculating affinities of nodes (node affinities), and separately calculating affinities of tasks (task affinities) based on the node affinities.
To calculate node affinities and task affinities according to embodiments of the present invention, respective nodes constituting an ad-hoc wireless network should be able to share information on a specific service level to calculate node affinities using the service level information, and calculate task affinities based on the node affinities. In the following examples, it is assumed that an Ad-hoc Traffic Indication Map Message (ATIM), defined in an ad-hoc wireless network, is used. In the following description, a message transmitted for sharing the service level information will be referred to as a “resource request message.” However, it would be obvious to those skilled in the art that an existing message or a newly defined message that can be shared by nodes can also be used. Herein, the message should include information on at least one task, and the amount of resources to be used by a node. The task information is used for identifying a source node and a destination node for the corresponding task. The resource amount information is indicates the size of a data packet to be transmitted/received through the corresponding task.
The embodiments of the present invention are divided according to the subject of calculating task affinities for purposes of illustration and to provide an example. In the first embodiment, the task affinities are calculated by a coordinator (CN), and in the second embodiment, the task affinities are calculated by nodes. In an alternative embodiment, node affinities are calculated by nodes, and task affinities are calculated by a CN based on the node affinities provided from the nodes.
There are two different scheduling modes performed by a CN to independently determine priorities of tasks. The first scheduling mode separately determines priorities of tasks based on affinities, and then assigns priorities to tasks having the same affinity according to their amounts of required resources. The second scheduling mode separately determines priorities of tasks according to their amounts of required resources, and then assigns priorities to tasks having the same amount of required resources based on the affinities.
With reference to the accompanying drawings, a detailed description will now be made of the embodiments of the present invention.
A. Structure of Wireless Network
In
Referring to
B. First Embodiment (Task Affinities Measured by CN)
With reference to the accompanying drawings, a description will now be made of a detailed operation performed according to a first embodiment of the present invention. In the first embodiment, a CN receives resource request messages transmitted from all nodes, and separately calculates affinities of tasks using the resource request messages.
B-1. Operation of Node
If there is packet data to transmit, the node transmits, in step 212, a resource request message to a CN, and to a counterpart node that will receive the packet data. The resource request message includes information on at least the desired communication service, i.e., its desired task, and information on the amount of resources required for performing each task. The task information includes information indicating whether the node itself serves as a source node or a destination node for the task. The required-resource amount information can indicate the length of packet data to be transmitted. Further, in step 212, the node receives resource request messages from other nodes. The node receives an acknowledgement (ACK) message from a counterpart node in response to its resource request message transmitted, and transmits an ACK message in response to a received resource request message. Upon failure to receive the ACK message, the node attempts retransmission of the corresponding resource request message.
Thereafter, in step 214, the node receives a packet scheduling message from the CN. Based on this message, the node determines a time at which it will perform at least one of its desired tasks. When the time arrives, the node performs a packet service for the corresponding task in step 216. If the packet service is completed, the node determines whether packet service for all of its desired tasks has ended, i.e., whether there are no more tasks to be performed, in step 218. If there are more tasks to be performed, the node determines in step 220 whether the superframe has ended. If the superframe has not ended, the node returns to step 216 where it performs the remaining packet service.
However, if the packet service for all tasks has ended or the superframe has ended, the node proceeds to step 222 where it transitions to a doze state to minimize power consumption. By doing so, even before the superframe ends, the node can transition to the doze state upon completion of the packet service, thereby preventing unnecessary power consumption.
In the foregoing description, the node operates on a per-superframe basis, by way of example. However, when the node does not operate on a per-superframe basis, the node can transition to the doze state after completely performing the packet service regardless of whether the superframe has ended or not.
B-2. Operation of CN
After a completed exchange of the resource request messages and their associated ACK messages, the CN performs a scheduling mode for separately assigning priorities to respective tasks based on the received resource request messages in step 314. An operation of the scheduling mode will be described in detail below with reference to
As defined in Equation (1), U(x)=1 if x is true and U(x)=0 if x is false. Therefore, U(NSi) denotes an affinity for an ith task when an Nth node serves as a source node, and U(NDi) denotes an affinity for an ith task when an Nth node serves as a destination node. The affinity for a particular task when a particular node serves as a source node or a destination node is determined as 1 or 0. For example, in
According to Equation (1), for more elaborate setup of the affinities, different weights are assigned for packet transmission and packet reception. For example, a higher weight is assigned for packet transmission, and a lower weight is assigned for packet reception. In Equation (1), α denotes a weight assigned for a source node, and β denotes a weight assigned for a destination mode. However, when the weights are not used, the weights α and β are set to 1. In addition, M can be defined as the total number of nodes or the total number of tasks, used for acquiring affinities.
Affinities of respective nodes in
As another example, each of the node affinities can be acquired taking into account a size of a task, i.e., a size of a data packet. Equation (2) below defines a rule for acquiring each of the node affinities Akna (indicating an affinity of a kth node (or mobile terminal), when the task size (or size of packet data) in Equation (1) is additionally taken into consideration.
where Sk denotes a size of a task for a kth node.
After separately acquiring affinities of the nodes, the CN measures an affinity ATi of an ith task using the acquired node affinities in step 412. The task affinity is measured separately for all of the tasks in the wireless network. The task affinity is calculated as the sum of an affinity ANsrc of a source node and an affinity ANdst of a destination node, constituting the corresponding task. This is defined by Equation (3):
AiT=τ·AsrcN+δ·AdstN (3)
AiT is task affinity of ith task;
AsrcN, AdstN is node affinity of source and destination nodes;
τ and δ is weight factor determined by node QoS demand or battery status
In Equation (3), it is assumed that a weight T or a weight δ is assigned according to whether a corresponding node serves as a source node or a destination node. The weight τ is assigned when a node serves as a source node for a particular task, and the weight δ is assigned when a node serves as a destination node for a particular task. Here, a higher weight can be assigned for a source node. However, when the weights are not used, the weights τ and δ are set to 1.
Affinities of respective tasks in
After separately measuring affinities of the tasks, the CN separately assigns priorities to respective tasks based on the measured task affinities in step 414. To that end, the CN reorders the task affinities by level. For example, the CN can reorder the task affinities from lowest task affinity to highesty. The reordering result of the task affinities is illustrated in Table 3.
Referring to Table 3, it can be understood that priorities are assigned in the order of low task affinity. As a result, a top priority is assigned for a task ‘d’. The rule for assigning priorities in the order of low task affinity can be normalized by Equation (4):
In Equation (4), i denotes an index indicating a task. When only the task affinities are taken into consideration, the transmission order (i.e., priority) is determined as (d)→(a,b)→(c,h)→(k)→(g)→(e,f,i,j).
As illustrated in Table 3, there are tasks (for example, tasks ‘a’ and ‘b’) having the same task affinity (or the same priority). In this case, the CN needs to assign different priorities to the tasks with the same task affinity. Therefore, in step 416, the CN assigns priorities to the tasks having the same task affinity according to their required resources. The amount of required resources can be replaced with a packet length for the packet transmitted through the corresponding task, or, a transmission time interval of the packet. The amount Ti of required resources can be calculated by a packet length Li and a data rate Ri as shown in Equation (5):
where the amount of required resources is assumed to be a transmission time interval of a packet.
However, when the data rate is not designated, a basic data rate or an average data rate supported in the wireless network is assumed to be the data rate. For example, when scheduling is performed by an ad-hoc CN, the basic data rate is used, and when scheduling is performed by a fixed CN, the average data rate is used.
The amount of required resources (i.e., a length of a transmission packet or a transmission time interval of a packet) acquired for each task is illustrated in Table 4.
In Table 4, the CN assigns different priorities to the tasks having the same task affinity according to their required resources with tasks having smaller amounts of required resources being assigned the higher priorities. Such a rule can be normalized by Equation (6):
Finally, the CN can separately assign priorities to the respective tasks as shown in Table 5, considering the required resources for the tasks having the same task affinity.
In Table 5, there are tasks (tasks ‘f’ and ‘i’) having the same amount of required resources among the tasks having the same task affinity. In this case, the CN can assign priorities at its discretion.
The CN assigns priorities to the tasks according to their amounts of required resources as illustrated in Table 4. That is, a task requiring less resources is assigned a higher priority. Such a rule can be normalized by Equation (6).
The CN can separately assign priorities to the respective tasks considering their amounts of required resources as shown in Table 6.
In step 512, the CN determines whether there are tasks having the same amount of required resources. In Table 6, there are tasks having the same amount of required resources. That is, the tasks ‘a’, ‘d’, ‘g’ and ‘j’ have the same amount ‘5’ of required resources, and the tasks ‘b’, ‘e’, ‘h’ and ‘k’ have the same amount ‘10’ of required resources. Also, the tasks ‘c’, ‘f’ and ‘i’ have the same amount ‘15’ of required resources. In this case, the CN assigns different priorities to the tasks having the same amount of required resources.
Therefore, in step 514, the CN separately measures node affinities. After that, the CN measures an affinity ATi of an ith task using the acquired node affinities in step 516. Measurement on the node and task affinities using the measured node affinities are done in accordance with the method described above. The task affinities measured by the CN are illustrated in Table 2.
In step 518, the CN assigns priorities to the tasks having the same amount of required resources by considering the task affinities. Finally, the CN separately assigns priorities to the respective tasks as shown in Table 7, considering task affinities for the tasks with the same amount of required resources.
In Table 5, there are tasks (tasks ‘f’ and ‘i’) with the same amount of required resources. In this case, the CN can assign priorities at its discretion.
C. Second Embodiment (Task Affinities Measured by Node)
With reference to the accompanying drawings, a description will now be made of a detailed operation performed according to a second embodiment of the present invention. In the second embodiment, a node calculates task affinity for at least one of its desired tasks and reports the calculated task affinity to a CN, so that the CN can assign priorities to all tasks in a wireless network.
C-1. Operation of Node
If there is packet data to transmit, the node transmits, in step 612, a resource request message to a counterpart node that will receive the packet data. The resource request message includes information on at least one of its desired communication service, i.e., its desired task. The task information includes information indicating whether the node itself serves as a source node or a destination node for the task. Further, in step 612, the node receives resource request messages from other nodes. The node receives an acknowledgement (ACK) message from a counterpart node in response to its resource request message transmitted, and transmits an ACK message in response to a received resource request message. If the ACK message is not received, the node attempts retransmission of the corresponding resource request message.
Thereafter, in step 614, the node measures its own node affinity. Herein, the node affinity can be defined as the number of tasks to be performed by the corresponding node. For example, in
After acquiring its own node affinity, the node proceeds to step 616 where it measures an affinity ATi of an ith task to be performed by the node itself. The measurement on task affinity is separately performed on the tasks required for communication between the nodes in the network. The task affinity is calculated as the sum of an affinity ANsrc of a source node and an affinity ANdst of a destination node, constituting the corresponding task. This is defined as Equation (3).
In step 618, the node transmits the measured task affinity and information on the amount of resources required for performing the corresponding task to a CN. The required-resource amount information may include the length of packet data to be transmitted.
In step 620, the node receives a packet scheduling message from the CN. Based on the packet scheduling message, the node determines a time at which it will perform at least one of its desired task. When the determined time arrives, the node performs packet service for the corresponding task in step 622. Once the packet service is done, the node determines whether packet service for all of its desired tasks has been done, i.e., determines whether there are no more tasks to be performed, in step 624. If there are more tasks to be performed, the node determines whether the superframe has ended in step 626. If the superframe has not ended, the node returns to step 622 where it performs the remaining packet service.
However, if packet service for all of the desired tasks has ended, or the superframe has ended, the node proceeds to step 628 where it transitions to a doze state to minimize power consumption. By doing so, the node can transition to the doze state upon completion of the packet service, even before the superframe ends, to prevent unnecessary power consumption.
In the foregoing description, the node operates on a per-superframe basis to provide an example. However, when the node does not operate on a per-superframe basis, the node can transition to the doze state after packet service is completed regardless of whether the superframe has ended or not.
C-2. Operation of CN
Thereafter, in step 812, the CN assigns different priorities to the tasks (for example, tasks ‘a’ and ‘b’) having the same task affinity. Herein, the CN assigns priorities to the tasks having the same task affinity according to their required resources. That is, when tasks have the same affinity, the task with the smaller amount of required resources is assigned a higher priority. The amount of required resources for each task is illustrated in Table 4. The amount of required resources can be replaced with the length of a packet transmitted through the corresponding task, or, a transmission time interval of the packet.
When a data rate is not designated as the required-resource amount information, a basic data rate or an average data rate of the wireless network is assumed to be the data rate. For example, when scheduling is performed by an ad-hoc CN, the basic data rate is used, and when scheduling is performed by a fixed CN, the average data rate is used.
Finally, the CN can separately assign priorities to the respective tasks as shown in Table 5, considering the required resources for tasks with the same affinity.
Although the foregoing description is restricted to the case where there are tasks having the same affinity, if there are no such tasks, the CN can skip the process of assigning priorities according to the amount of required resources.
The amount Ti of required resources can be calculated by a packet length Li and a data rate Ri in accordance with Equation (5). As mentioned previously, when the data rate is not designated, a basic data rate or an average data rate of the wireless network is assumed to be the data rate. For example, when scheduling is performed by an ad-hoc CN, the basic data rate is used, and when scheduling is performed by a fixed CN, the average data rate is used. The amount of required resources (i.e., a length of a transmission packet or a transmission time interval of a packet) acquired for each task is illustrated in Table 4.
The CN assigns priorities to the tasks according to required resources, as illustrated in Table 4. That is, tasks requiring less resources are assigned higher priorities. Such a rule can be normalized by Equation (6). The CN can separately assign priorities to the respective tasks considering required resources as shown in Table 6.
If tasks require the same amount of resources, the CN assigns priorities to those tasks in step 912 while considering the task affinities reported from the nodes, which are illustrated in Table 2. To assign priorities separately to the tasks with the same amount of required resources, the CN reorders the task affinities of the corresponding tasks by level. The CN assigns priorities to the tasks having the same amount of required resources by affinity level. Finally, the CN can separately assign priorities to the respective tasks as shown in Table 7.
D. Simulation Result
With reference to the accompanying drawings, a detailed description will now be made of simulation results on the embodiments of the present invention. Here, it is assumed that all nodes can access each other and a length of a packet for exchange between nodes is randomly determined. In addition, it is assumed that when nodes are randomly designated, the entire data load in a wireless network is uniformly distributed to the nodes.
Table 8 illustrates power consumption according to a state (doze mode, transmit mode, receive mode, monitor mode) of a node.
As can be understood from Table 8, nodes have greatest power consumption in a transmit mode, and smallest power consumption in a doze mode.
Referring to
Referring to
Referring to
Referring to
When fairness is calculated by Equation (7), the present invention shows performance improvement of about 7% as compared with the existing scheme.
It can be noted from
As described above, the present invention assigns priorities according to affinities independently given to tasks, and assigns priorities to the tasks having the same affinity according to their amounts of required resources. Therefore, the present invention has the following advantages.
First, throughput of data communication is high, so users can receive high-capacity services.
Second, power consumption of nodes decreases, contributing to an increase in maintenance time of the wireless network supporting communication between the nodes.
Third, service providers can provide high-capacity, low-power services.
While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
106166/2004 | Dec 2004 | KR | national |