140 likes | 313 Views
Distributed Dynamic Channel Allocation in Wireless Network. Channel Allocation. Cellular network consists of cells. Mobile service station (MSS) is incharge of a cell. MSS makes all decision for channel allocation.
E N D
Channel Allocation Cellular network consists of cells. Mobile service station (MSS) is incharge of a cell. MSS makes all decision for channel allocation.
Message passing between MSS & its neighbors to avoid co-channel interference. • Time stamped requests are sent by MSS to neighboring MSS for channel allocation. MSS Neighbour MSS Time stamped Request
Message Types REQUEST MSS Neighboring MSS RESPONSE CHANGE_MODE RELEASE ACQUISITION
Message Types • REQUEST- requesting to acquire a channel. • RESPONSE- responding to the request from receiving node. • CHANGE_MODE- mode changed from local to borrowing or vice versa. • RELEASE- sending node has released the channel. • ACQUISITION- sending node has acquired a channel.
Network Class • Nodes: Arraylist of all nodes/MSS. • Spectrum: Set of all channels
Node Class • PR: set of primary channels. • Use: set of currently used channels • Iuse: Set of channel used by interfering node • Mode: represents mode of the node i.e. Local or borrowing. • Waiting: number of requests not received ACK. • Pending: check if any pending request. • Rounds: number of attempts to acquire channel in borrowing mode.
Public class Node extends Thread { Public Node () { Super(); } Public void run () { Node.request_channel(time); } } Public class MobileHost { public static void main(String[] args) { new Node(“MH1”).start(); new Node(“MH2”).start(); } }
Concurrency 1. Multiple requests when node in local mode. MH1.Node1.request_channel || MH2.Node1.request_channel • All requests are proceeded in parallel with no deadlock.
2. Multiple requests when node in borrowing mode. MH1.Node1.request_channel (r_Node2) || MH2.Node1.request_channel (r_Node2) • Algorithm prioritize the request based on time stamps. i.e. Lower the timestamp higher the priority. • Thus no need to apply external locks or synchronize methods.
Plan • Implementing all the messages passed between nodes in java. • Verify the behaviour in case of concurrency.