| | 1 | = Radio Management API (User Exposed) = |
| | 2 | |
| | 3 | These API define the calls that can be made by the system user for controlling radio-related features of the WiMAX system. These API are further classified based on the functionality they provide. |
| | 4 | == Custom Service Class Suport == |
| | 5 | These APIs will allow the user to create user-defined service flow types apart from the 5 standard service flows supported as a part of the current model. |
| | 6 | === reateServiceFlow(SlideID, direction, priority, classifier-ips, classifier-ports, service_type, service_params) === |
| | 7 | - Direction – Uplink or downlink for the class. |
| | 8 | - Priority – priority of the service class |
| | 9 | - Classifier-ips TLV - Source/Destination IP classifiers for flow classification |
| | 10 | - Classifier-ports TLV – Source/Destination port classifiers for flow classification. |
| | 11 | - Service_type - One of the five types – BE/UGS/rtPS/nrtPS/ertPS |
| | 12 | - Service params is the TLV for each service type |
| | 13 | - Return type: Service type id - STID (integer) > 6. 1-5 are reserved for the default service flow types. |
| | 14 | - Note that the service type is created by the Radio management grid service for |
| | 15 | a specific slice ID and hence it will be specific to that slice. |
| | 16 | === createServiceClass(SlideID,STIDs{}) === |
| | 17 | - SliceID identifies the requesting slice. |
| | 18 | - STIDs are the service type ids. |
| | 19 | - Success returns the Service class ID (SCID), which can be used in install or remove. |
| | 20 | === installServiceClass(SlideID,SCID) === |
| | 21 | - SliceID identifies the requesting slice. |
| | 22 | - Installs all the service flows that are part of the service class SCID. |
| | 23 | - Success results in end – to – end datapath setup between wireless clients and virtual machine slice. |
| | 24 | === uninstallServiceClass(SlideID,SCID) === |
| | 25 | - SliceID identifies the requesting slice. |
| | 26 | - Un-installs all the service flows that are part of the service class SCID. |
| | 27 | - Success returns ok and nok otherwise. |
| | 28 | |
| | 29 | === deleteServiceClass(SlideID, SCID) === |
| | 30 | - Deletes the service class corresponding to the specification in the request. |
| | 31 | - Returns success if the service class could be successfully deleted (none of the |
| | 32 | flows are actively using these service classifiers). |
| | 33 | |
| | 34 | === deleteServiceFlow(SlideID, STID) === |
| | 35 | - Results in deletion of service flow type identified by STID if any such flow type exists. |
| | 36 | - Success results in “ok” and “nok” otherwise. |
| | 37 | |
| | 38 | |
| | 39 | == Slice Radio Control == |
| | 40 | |
| | 41 | === setMinimalMcs(SliceID, MSID, SCID, mcs) === |
| | 42 | - Used to set the minimal modulation and coding scheme (MCS) to be used for |
| | 43 | that service class. An auto rate provision will select a better MCS based on the |
| | 44 | observed CINR conditions. |
| | 45 | - The user can chose one among available MCSs as an option for that class. |
| | 46 | - We are still exploring the possibility of setting this per class per MSID. As per our |
| | 47 | current understanding, this is difficult. |
| | 48 | |
| | 49 | === setFixedMcs(SliceID, MSID, SCID, mcs) === |
| | 50 | - Used to set a fixed MCS for a particular service class. |
| | 51 | - This disables the automatic MCS adjustment using measured CINR. |
| | 52 | - If possible we wish to set this mcs value per MSID. |
| | 53 | |
| | 54 | === setRadioResource(SliceID, MSID, RR) === |
| | 55 | - Information provided by this function should be consulted during initial ranging and connection setup. |
| | 56 | - RR – Radio resource uplink + downlink (set in % - 0 to 100) |
| | 57 | |
| | 58 | === setBandwithUlDlRatio(bandwidth UL_DL_ratio) === |
| | 59 | - Set supported bandwidth: 10M, 7.5M, 5M Hz |
| | 60 | - Based on RR allocation in set_radio_resource(), this routine allows the user to set |
| | 61 | the uplink-downlink ratio as a fraction of the RR. |
| | 62 | - UL_DL_ratio is used as a key to select one among standard UL_DL ratio supported by the BS. All MS has to use the same ul_dl_ratio |
| | 63 | |
| | 64 | == Slice Radio Monitoring == |
| | 65 | |
| | 66 | === getAllClientsInfo( SLICEID ) === |
| | 67 | - Returns the number of WiMAX clients associated with a particular SLICEID. |
| | 68 | - Return value ranges between 0 and maximum number of clients that can be owned by a slice on success, “nok” otherwise |
| | 69 | |
| | 70 | === getClientInfo(SLICE ID, MSID) === |
| | 71 | - Returns detailed information about a single client in the network. |
| | 72 | - Information for individual MAC address includes the amount of disk quota, disk space used, and the CPU quota (reserved and used). |
| | 73 | - Returns XML with appropriate parameters on success, “nok” otherwise |
| | 74 | |
| | 75 | === getSliceResource(SLICEID) === |
| | 76 | - This mechanism allows every slice to monitor its current usage, and the limits |
| | 77 | - Values returned may vary based on the virtualization technology used - (disk space, CPU). |
| | 78 | - Returns XML with appropriate parameters on success, “nok” otherwise |