Context-Awareness in Context-Awareness in Mobile Environments Mobile Environments Gruia-Catalin Roman Gruia-Catalin Roman Mobile Computing Laboratory Mobile Computing Laboratory Department of Computer Science and Department of Computer Science and Engineering Engineering 7 June 2002 (Philadelphia, PA) 7 June 2002 (Philadelphia, PA)
47
Embed
Context-Awareness in Mobile Environments Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer Science and Engineering 7 June 2002 (Philadelphia,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Context-Awareness in Context-Awareness in Mobile Environments Mobile Environments
Gruia-Catalin RomanGruia-Catalin Roman
Mobile Computing LaboratoryMobile Computing Laboratory
Department of Computer Science and EngineeringDepartment of Computer Science and Engineering
7 June 2002 (Philadelphia, PA)7 June 2002 (Philadelphia, PA)
22
MOBILE COMPUTINGMOBILE COMPUTING
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
1717
1818
1919
2020
2121
Trends in Mobile ComputingTrends in Mobile Computing
TechnologyTechnology MiniaturizationMiniaturization Wireless communicationWireless communication JavaJava
SocietySociety Ubiquitous accessUbiquitous access Increasing levels of mobilityIncreasing levels of mobility Computing and communication melting into the fabric of societyComputing and communication melting into the fabric of society
• InfrastructureInfrastructure
• EnterprisesEnterprises
• PeoplePeople
2222
Physical MobilityPhysical Mobility
Fixed networkFixed network Nomadic computingNomadic computing Ad hoc computingAd hoc computing
2323
Research ImplicationsResearch Implications
New design constraintsNew design constraints Frequent disconnectionFrequent disconnection Unpredictable movementUnpredictable movement Asymmetric bandwidthAsymmetric bandwidth Limited resourcesLimited resources Short battery lifeShort battery life
Interesting opportunitiesInteresting opportunities Spatial knowledgeSpatial knowledge Movement profileMovement profile
Increased demandsIncreased demands Reasoning about behaviorReasoning about behavior Connectivity maintenanceConnectivity maintenance AdaptationAdaptation
2424
Logical MobilityLogical Mobility
Code on demandCode on demand Remote evaluationRemote evaluation Mobile agentsMobile agents
2525
Research TrendsResearch Trends
Code on demand is made popular by JavaCode on demand is made popular by Java Mobile code languages (e.g., Oblique, Facile, Mobile code languages (e.g., Oblique, Facile,
Telescript) are losing groundTelescript) are losing ground Mobile agent systems (e.g., Agent TCL) are an Mobile agent systems (e.g., Agent TCL) are an
emerging new technologyemerging new technology Middleware is growing in practical importanceMiddleware is growing in practical importance
2626
Mobility ParadigmsMobility Paradigms
Continued access to remote resourcesContinued access to remote resources Delegation to mobile agentsDelegation to mobile agents Disconnected operationDisconnected operation Ad hoc grouping of people and devicesAd hoc grouping of people and devices Mass mobilityMass mobility
2727
Ad Hoc Network ChallengeAd Hoc Network Challenge
No fixed network infrastructureNo fixed network infrastructure Transient interactionsTransient interactions Decoupled computingDecoupled computing Open environmentOpen environment Physical and logical mobilityPhysical and logical mobility Frequent disconnectionsFrequent disconnections Limited guaranteesLimited guarantees
2828
Sample ApplicationsSample Applications
Highway information managementHighway information management Disaster responseDisaster response Military applicationsMilitary applications Contamination zone explorationContamination zone exploration Wireless anywhere classroomWireless anywhere classroom Cave and mine explorationCave and mine exploration Self-organizing office and factorySelf-organizing office and factory Video games in physical spacesVideo games in physical spaces
2929
Mobile Computing LaboratoryMobile Computing Laboratory
Rapid development of dependable mobile Rapid development of dependable mobile applications over ad hoc networksapplications over ad hoc networks
Formal models: Formal models: • precise semantics and analysisprecise semantics and analysis
Coordination ModelsCoordination Models• rapid developmentrapid development
Formal modelsFormal models Integrated perspective on physical and logical mobilityIntegrated perspective on physical and logical mobility Pragmatic use of formal thinkingPragmatic use of formal thinking
• Precise semantics for coordination constructsPrecise semantics for coordination constructs• Formal verification of protocols and algorithmsFormal verification of protocols and algorithms• Informal reasoning during the design processInformal reasoning during the design process
CommunicationCommunication High-level abstract coordination mechanismsHigh-level abstract coordination mechanisms Mobility and location sensitive protocolsMobility and location sensitive protocols
Programming Programming Decoupled style of computingDecoupled style of computing Context aware programming methodsContext aware programming methods Middleware supported application developmentMiddleware supported application development
3131
Recent ActivitiesRecent Activities
Formal models of mobilityFormal models of mobility• Mobile UNITYMobile UNITY• CodeWeaveCodeWeave
Coordination modelsCoordination models• GVDSGVDS — Global Virtual Data Structures — Global Virtual Data Structures• Application-specific coordination modelsApplication-specific coordination models
Middleware for mobilityMiddleware for mobility• LLIMEIME
• Coordination veneers over Coordination veneers over LLIMEIME
• LLIMEIMELiteLite
Algorithms and protocols for mobile computingAlgorithms and protocols for mobile computing Mobile applications including peer to peer Mobile applications including peer to peer
communication on highwayscommunication on highways
3232
Mobile UNITYMobile UNITY
ProgramProgram unit of modularityunit of modularity unit of mobilityunit of mobility fully decoupledfully decoupled
MobilityMobility arbitrary physical and logical spacesarbitrary physical and logical spaces reduced to assignmentreduced to assignment
SystemSystem programsprograms small set of coordination constructssmall set of coordination constructs
Proof logicProof logic minimal extension of UNITYminimal extension of UNITY
UNITY + UNITY + + +unique namesunique names
X
Y
3333
Model EvaluationModel Evaluation
Rich set of coordination constructs Rich set of coordination constructs expressing transient and transitive expressing transient and transitive interactionsinteractions
Formal specification and Formal specification and verification of Mobile IPverification of Mobile IP
Formal specification and Formal specification and verification of mobile codeverification of mobile code
Semantic basis for a new model of Semantic basis for a new model of fine grained mobility (CodeWeave)fine grained mobility (CodeWeave)
Reactive programming support for Reactive programming support for dynamic reconfigurationdynamic reconfiguration
homeagent
foreignagent
mobilenode
correspondentnode
3434
Coordination ModelsCoordination Models
Global virtual data Global virtual data structures (GVDS)structures (GVDS)
Service provision (Jini) in Service provision (Jini) in ad hoc networksad hoc networks
Event notification in ad Event notification in ad hoc networkshoc networks
Ad hoc code repositoriesAd hoc code repositories Administrative domain Administrative domain
structures in ad hocstructures in ad hocservice registration
service usage
service discovery
3535
mobileagent
federated tuple space
hosttuple space
A Middleware for Mobility — LA Middleware for Mobility — LIMEIME
ProfileProfile Linda-style coordination extended to ad Linda-style coordination extended to ad
hoc settingshoc settings Transparent data sharing based on Transparent data sharing based on
connectivityconnectivity Atomic and transitive engagement and Atomic and transitive engagement and
disengagementdisengagement Selective data sharingSelective data sharing Transparent tuple migrationTransparent tuple migration Novel reactive constructsNovel reactive constructs
DistributionDistribution Open sourceOpen source Available on Available on SourceForgeSourceForge
Active effortsActive efforts LLIMEIMELiteLite Coordination veneersCoordination veneers
3636
Mobile AlgorithmsMobile Algorithms
New algorithm design strategies New algorithm design strategies for nomadic settingsfor nomadic settings
host as message paradigmhost as message paradigm FIFO communication/motionFIFO communication/motion
Message deliveryMessage delivery adaptation of distributed adaptation of distributed
snapshotssnapshots Mobile trackingMobile tracking
based on diffusing computationsbased on diffusing computations Termination detectionTermination detection
Wireless chat roomWireless chat room Decoupled game playingDecoupled game playing Commando gamesCommando games Cooperative work (puzzle)Cooperative work (puzzle)
Technology transferTechnology transferFord ResearchFord Research, Detroit, MI, Detroit, MI
smart intersectionssmart intersections synchronized cruse controlsynchronized cruse control
Context awareness is a necessity in ad hoc mobilityContext awareness is a necessity in ad hoc mobility Agility is important in highly dynamic environmentsAgility is important in highly dynamic environments Small components rely on opportunistically available Small components rely on opportunistically available
resources while availableresources while available Perception of context varies by task and situationPerception of context varies by task and situation Large-scale deployment of context-aware middleware Large-scale deployment of context-aware middleware
rests with asking for exactly what is needed, when it is rests with asking for exactly what is needed, when it is needed, and nothing more needed, and nothing more
Transparent context management can simplify the Transparent context management can simplify the programming taskprogramming task
3939
Computational ModelComputational Model
Ad hoc networkAd hoc network Mobile hostMobile host Mobile agentMobile agent Object/DataObject/Data
4040
Agent-Centered ContextAgent-Centered Context
referenceagent
Context is extended beyond Context is extended beyond host boundarieshost boundaries
Context is separated into Context is separated into task-specific viewstask-specific views
An agent may have An agent may have multiple viewsmultiple views
Views may change Views may change over timeover time
Views are defined in Views are defined in terms of propertiesterms of propertiesof the network, hosts, of the network, hosts, agents, and objectsagents, and objects
Active views may exhibit built-in Active views may exhibit built-in behaviors (e.g., data migration)behaviors (e.g., data migration)
4141
Technical ConsiderationsTechnical Considerations
Presentation stylePresentation style coordination model amd semanticscoordination model amd semantics
DefinitionDefinition declarative specificationdeclarative specification expressive powerexpressive power
ComputationComputation context discovery and maintenancecontext discovery and maintenance context evaluation infrastructurecontext evaluation infrastructure
Executable specificationsExecutable specifications Formal semantic analysisFormal semantic analysis Weak semantics and formal guaranteesWeak semantics and formal guarantees Algorithm and protocol design and analysisAlgorithm and protocol design and analysis Novel routing protocolsNovel routing protocols Security mechanicsSecurity mechanics Common middleware frameworksCommon middleware frameworks
4646
ConclusionsConclusions
Mobility challenges our way of thinkingMobility challenges our way of thinking we explore novel uses of location information and morewe explore novel uses of location information and more
A solid grounding in traditional distributed computing is a A solid grounding in traditional distributed computing is a prerequisite for successprerequisite for success
we leverage off past work on formal models and algorithmswe leverage off past work on formal models and algorithms
Complexity demands an increasing reliance on Complexity demands an increasing reliance on pragmatic application of rigorous design techniquepragmatic application of rigorous design technique
we focus on coordination models having precise semanticswe focus on coordination models having precise semantics
Sensitivity to the market place and application demands Sensitivity to the market place and application demands is more important than everis more important than ever
we emphasize application-driven empirical evaluationwe emphasize application-driven empirical evaluation