policy based autonomic decision making for wireless networks niki gazoni, fontas fafoutis...
Post on 22-Dec-2015
214 Views
Preview:
TRANSCRIPT
Policy Based Autonomic Decision Making for Wireless
Networks
Niki Gazoni, Fontas Fafoutis {ngazoni,fontas}@csd.uoc.gr
Department of Informatics and TelecommunicationsUniversity 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
Example Rule
• 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
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))
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
RWNO-GPRS
RWNO-WiFi
UoA-WiFi
Network Selection• (assert (isAccessible MobilePhone
RWNO-GPRS))
• (assert (isProposed MobilePhone RWNO-GPRS))
• (assert (isPrefered-Cost MobilePhone RWNO-GPRS))
RWNO-GPRS
RWNO-WiFi
UoA-WiFi
• (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))
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
top related