User:Ofriedri: Difference between revisions
(Version 1.0 ; motivation, table overview, 3 steps) |
No edit summary |
||
Line 67: | Line 67: | ||
} |
} |
||
public boolean equals(Object o) { |
'''public boolean''' equals(Object o) { |
||
... |
... |
||
Ack ack = (Ack) o; |
Ack ack = (Ack) o; |
||
Line 81: | Line 81: | ||
} |
} |
||
public boolean equals(Object o) { |
'''public boolean''' equals(Object o) { |
||
... |
... |
||
Data data = (Data) o; |
Data data = (Data) o; |
||
Line 90: | Line 90: | ||
|- |
|- |
||
| Adapt the MAC layer: |
|||
| |
|||
*add necessary constants for all PHY models to be supported |
|||
| |
|||
*add necessary member variables to the Configuration class |
|||
| |
|||
*change/add Constructors |
|||
| brn.swans.mac.MacMcExOR.java |
|||
| in class MacMcExOr: |
|||
// TODO |
|||
|- |
|- |
||
| |
| |
Revision as of 12:05, 26 June 2006
BitRateSelection: Integration into JiST
Motivation of work
Bit rate selection in Wireless Network is still a relatively new research topic. The inherent support of data transmission at different bitrates within the 802.11 MAC layer motivates exploitation of this feature. Previous work has come up with several interesting bit-rate selection algorithms. However, implementation of these inside widely-used network simulators (such as ns-2 and JiST/SWANS) has been sparse.
The current project is dedicated to add support of several bitrates into the JiST/SWANS simulation environment and implementing on top of it several bit-rate selection algorithms. There are three steps in this project, which are listed chronologically:
- Extending the MAC (a) and Radio (b) layers to support choice of different physical layer (PHY) models (OFDM, DSSS/CCK, ERP-OFDM, ERP-DSSS/CCK)
- Implementation of popular/promising bit-rate selection algorithms on top of the modified Radio and MAC layers
- Possible development of a special bit-rate selection algorithm for opportunistic routing
1a. Extending the mac layer to support multiple PHYs
Source code base: svn://brn-svn/brn/simulation/NetCodExOR (svn co ~)
Description | concerned file(s) | changed/added code |
---|---|---|
introducing new constants for: bandwidth | jist.swans.Constants | in class Constants:
public static final int BANDWIDTH_1MBit = (int) 1e6; // 1Mb/s public static final int BANDWIDTH_2MBit = (int) 2e6; // 2Mb/s public static final int BANDWIDTH_5_5MBit = (int) 5.5e6;// 5.5Mb/s public static final int BANDWIDTH_6MBit = (int) 6e6; // 6Mb/s public static final int BANDWIDTH_9MBit = (int) 9e6; // 9Mb/s public static final int BANDWIDTH_11MBit = (int) 11e6; // 11Mb/s public static final int BANDWIDTH_12MBit = (int) 12e6; // 12Mb/s public static final int BANDWIDTH_18MBit = (int) 18e6; // 18Mb/s public static final int BANDWIDTH_22MBit = (int) 22e6; // 22Mb/s public static final int BANDWIDTH_24MBit = (int) 24e6; // 24Mb/s public static final int BANDWIDTH_33MBit = (int) 33e6; // 33Mb/s public static final int BANDWIDTH_36MBit = (int) 36e6; // 36Mb/s public static final int BANDWIDTH_48MBit = (int) 48e6; // 48Mb/s public static final int BANDWIDTH_54MBit = (int) 54e6; // 54Mb/s |
adapt MacMcExOrMessage to include information about the bitrate with which it is supposed to be sent | brn.swans.mac.MacMcExORMessage.java | in class MacMcExORMessage:
/** Bitrate at which to transmit this message */ protected int bitrate; /** @return The bitrate at which to transmit this message */ public int getBitrate() { return bitrate; }; /** @return true if this == o, else false. */ public boolean equals(Object o) { ... MacMcExORMessage msg = (MacMcExORMessage) o; ... if (bitrate != msg.bitrate) return false; // added this line ... } in class MacMcExORMessage.Ack: public Ack( /* previously existent parameters */ , int bitrate) { ... // same code as in previously existent constructor this.bitrate = bitrate; // added this line } public boolean equals(Object o) { ... Ack ack = (Ack) o; ... if (bitrate != ack.bitrate) return false; ... } in class MacMcExORMessage.Data: public Data( /* previously existent parameters */ , int bitrate) { ... // same code as in previously existent constructor this.bitrate = bitrate; // added this line } public boolean equals(Object o) { ... Data data = (Data) o; ... if (bitrate != data.bitrate) return false; ... } |
Adapt the MAC layer:
|
brn.swans.mac.MacMcExOR.java | in class MacMcExOr:
// TODO |
1b. Adapting the Radio layer
TODO:
- adapt the Radio layer to support different sensitivity values (dB) according to the PHY layer
2. Implementation of bit-rate selection algorithms
Candidates for implementation are:
3. Bit-rate selection in combination with opportunistic routing
- ExOR
- McExOR