240 likes | 357 Views
Policy Based Autonomic Decision Making for Wireless Networks. Niki Gazoni, Fontas Fafoutis {ngazoni,fontas}@csd.uoc.gr. Department of Informatics and Telecommunications University of Athens, 2007. E2RII. End-To-End Reconfigurability Phase II http://e2r2.motlabs.com
E N D
Policy Based Autonomic Decision Making for Wireless Networks Niki Gazoni, Fontas Fafoutis {ngazoni,fontas}@csd.uoc.gr Department of Informatics and Telecommunications University of Athens, 2007
E2RII • End-To-End Reconfigurability Phase II • http://e2r2.motlabs.com • Intelligent Wireless Communication System • Main Characteristics • RAT Interoperability • Context Aware • Autonomic • Reconfigurable
RAT Interoperability • Multiple Radio Access Technologies • WLAN, WiFi, WiMAX • GSM/GPRS, UMTS, HSDPA • Bluetooth, Infrared
Context Aware • Aware of their environment • Location • Device Capabilities • Static (Hardware, OS, Java VM) • Dynamic (Memory, Battery, CPU, Signal Strength) • User Preferences • Tariff Class, Network Preferences • Network Characteristics • Static (Capacity, Coverage) • Dynamic (Congestion, Delay, Available Bandwidth) • Service Requirements • Resources • etc
Autonomic • Minimize human interference • Self – Management • Self – Configuration • Self – Awareness • Self – Healing • Self - *
Reconfigurable • Dynamic Adaptation based on Contextual Information • Protocol Adaptation (Transport Layer) • A protocol reconfigures its congestion control algorithm to a more suitable according to the monitored traffic • Service Adaptation (Application Layer) • Video conference application “downgrades” to phone conference when network cannot support video requirements due to heavy load • Seamless • Transparent to the User
Basic Architecture Service Provisioning Self-Configuration / Self-Management Autonomic Decision Making Context Management
Autonomic Decision Making • Wireless Communication World • Modeled in OWL • Policies define the behavior of the System • Expressed in SWRL rules • Decision Making Process • Contextual Information is imported into the Ontology • Reasoner infers knowledge based on rules and context • Decision is parsed from the output of the reasoner
Protégé • Developed by Stanford University • http://protege.stanford.edu • Graphical Ontology Designer • Developed in Java • Open Source • Supports OWL / RDF Ontologies • Supports SWRL Rules bound to the Ontology • Supports Plug-ins (Reasoners) • Provides Java Library: protégé.jar • Differences between Protégé OWL implementation and standard OWL • Unique Name Assumption (UNA) • Survey (2007) suggests that 70% of academic researchers use Protégé as ontology editor
Ontology - OWL Classes • Device • Cell phone, Laptop, PDA • Network • Instance that has specific operator and uses specific RAT • Service • Classified based on requirements • SMS, Phone Call, File Transfer, Web, Video Streaming • Area • User Location, Coverage • CostProfile • Free, Economic, Advanced • RAT • GPRS, UMTS, WiFi
Ontology – OWL Properties • Values • Provided by the Context Management module • Produced by the Reasoner • Example Properties • hasCost (Network → CostProfile) • hasService (Network → Service) • PrefersOperator (User→ Operator) • hasLowBudget (User → boolean) • isCustomer (User → Operator
Expressing policies in SWRL rules • Policy continuum • Different stakeholders, different views • Business view, system view, administrator view, device view ... • Goals • Choosing the most appropriate network • Ability for handovers • Automated procedures (e.g mass updates) • Restrictions while using SWRL
Choosing the most appropriate network • isAccessible • Set of networks that are available in the area and the user can connect to • isProposed • Subset of available networks that support the desired service • isPrefered-Cost • Subset of previous networks that comply with user’s budget profile • isPrefered • Subset of previous networks that comply with user’s preferred provider profile
a.PayedNetworks isInArea(?d, ?a) ^ availableAt(?n, ?a) ^ hasType(?n, ?r) ^ supportsRAT(?d, ?r) ^ operatedBy(?n, ?o) ^ usesDevice(?u, ?d) ^ isCustomer(?u, ?o)→ isAccessible(?d, ?n) Device needs to be in network’s coverage Device must support network’s RAT User must be customer of network’s operator Device can connect to the network Example Rule
Jess Rule Engine • Reasoner • Developed in Java • Free for Educational Use • http://herzberg.ca.sandia.gov/jess • Can be imported in Protégé • Implements Rete Algorithm • Charles Forgy Ph.D. Thesis • How it works • Translates ontology knowledge into Jess Facts • Reasons Jess Facts using Rete Algorithm • Translates new Jess Facts back into ontology knowledge • Jess Facts • (assert (property_name domain_class range))
RWNO-GPRS RWNO-WiFi UoA-WiFi Example Scenario • Context • Two Operators • UoA • RWNO • Three Networks • UoA-Wifi (Free) • RWNO-GPRS (Economic) • RWNO-WiFi (Advanced) • A User • UoA Student • Low Budget • Preferred Operator: UoA • Scenario • User is roaming while consuming a low requirement service • Objective • Decide on the network which best fits to the contextual information
Network Selection • (assert (isAccessible MobilePhone RWNO-GPRS)) • (assert (isProposed MobilePhone RWNO-GPRS)) • (assert (isPrefered-Cost MobilePhone RWNO-GPRS)) • (assert (isAccessible MobilePhone RWNO-GPRS)) • (assert (isAccessible MobilePhone RWNO-WiFi)) • (assert (isProposed MobilePhone RWNO-WiFi)) • (assert (isProposed MobilePhone RWNO-GPRS)) • (assert (isPrefered-Cost MobilePhone RWNO-GPRS)) • (assert (isAccessible MobilePhone RWNO-GPRS)) • (assert (isAccessible MobilePhone RWNO-WLAN)) • (assert (isAccessible MobilePhone UoA-WiFi)) • (assert (isProposed MobilePhone RWNO-WLAN)) • (assert (isProposed MobilePhone RWNO-GPRS)) • (assert (isProposed MobilePhone UoA-WiFi)) • (assert (isPrefered-Cost MobilePhone RWNO-GPRS)) • (assert (isPrefered-Cost MobilePhone UoA-WiFi)) • (assert (isPrefered MobilePhone UoA-WiFi)) RWNO-GPRS RWNO-WiFi UoA-WiFi
Implementation • So far everything runs on Protégé Platform • How to implement it into a Java application? • protege.jar • jess.jar • swrl-jess-bridge.jar
Protégé-OWL API • Parse an ontology file into an OWLModel class • OWLModel Constructor • ProtegeOWL.createJenaOWLModelFromURI(String uri) • Update the OWLModel • OWLModel methods • OWLNamedClass getOWLNamedClass(String name) • OWLProperty getOWLProperty(String name) • OWLIndividual getOWLIndividual(String name) • void createOWLIndividual(String name) • void addPropertyValue (OWLProperty prop, Object value)
SWRL-Jess-Bridge API • Links an OWLModel object to a Rete object (jess.jar) • SWRLJessBridge Constructor • SWRLJessBridge(OWLModel model, Rete rete) • Using the bridge we can control the reasoner • SWRLJessBridge Methods • void resetBridge() • void ImportSWRLRulesAndOWLKnowledge() • void ExportSWRLRulesAndOWLKnowledge() • void RunRuleEngine() • void WriteAssertedIndividualsAndProperties2OWL() • String[] getAssertedProperties() • int getNumberOfAssertedProperties()
ADM Module • Initialization • Import the owl file containing the ontology, the policies and (relatively) static knowledge into an OWLModel • Create a Rete object and bridge it with the model • Decision Making in 5 steps • Update the OWLModel with dynamic knowledge • Infer knowledge using the bridge • Clear the OWLModel from useless knowledge • Parse the asserted properties • Return the decision
Difficulties • Measurements on a desktop computer show a slow decision making procedure • Caching • Re-code some modules in C++ • Impossible to run it on cell phones • Libraries in use do not run in J2ME • Much slower decision making due to limited computing power
Thank You Questions?