View
218
Download
0
Category
Tags:
Preview:
Citation preview
Software Architecture Software Architecture Framework for Ubiquitous Framework for Ubiquitous
ComputingComputing
Divya ChanneGowdaDivya ChanneGowda
Athrey JoshiAthrey Joshi
AbstractAbstract
Ubiquitous computing permits users to compute “anywhere” Ubiquitous computing permits users to compute “anywhere” and “any time”and “any time”
Provides information services and applications through any Provides information services and applications through any device over different kinds of networks device over different kinds of networks
Design challenges - Interoperability , Adaptability, Mobility, Design challenges - Interoperability , Adaptability, Mobility, Heterogeneity Heterogeneity
Approach - HOMEROS middleware architecture, Layered Approach - HOMEROS middleware architecture, Layered model model
High flexibility by adopting a hybrid-network model and High flexibility by adopting a hybrid-network model and dynamically configurable reflective ORBdynamically configurable reflective ORB
Illustration - Ubiquitous printing service scenarioIllustration - Ubiquitous printing service scenario
IntroductionIntroduction Ubiquitous computing RequirementsUbiquitous computing Requirements
Interoperability: Ability of software to understand Interoperability: Ability of software to understand the exchanged information the exchanged information
Heterogeneity: Integrate heterogeneous network Heterogeneity: Integrate heterogeneous network technologies, Operating Systems, Programming technologies, Operating Systems, Programming Languages, devices and usersLanguages, devices and users
Mobility: Users should be supported in such a way Mobility: Users should be supported in such a way that they can move from one place or terminal to that they can move from one place or terminal to another and still get a personalized serviceanother and still get a personalized service
Adaptability: Software services must adapt to Adaptability: Software services must adapt to different kinds of terminals and networksdifferent kinds of terminals and networks
IntroductionIntroduction A middleware layer primarily hides the underlying A middleware layer primarily hides the underlying
complexity of the environment complexity of the environment
Insulates the applications from explicit protocol Insulates the applications from explicit protocol handling, disjoint memories, data replication, handling, disjoint memories, data replication, network faults, and parallelismnetwork faults, and parallelism
Masks the heterogeneity of computer architectures, Masks the heterogeneity of computer architectures, operating systems, programming languages, and operating systems, programming languages, and networking technologies to facilitate application networking technologies to facilitate application programming and managementprogramming and management
HOMEROS – Middleware – layered architecture HOMEROS – Middleware – layered architecture addressing the challengesaddressing the challenges
HOMEROSHOMEROS
A hybrid-network modelA hybrid-network model
Flexible - dynamically configurable ORBFlexible - dynamically configurable ORB
Consists of three layersConsists of three layers Core Component Management LayerCore Component Management Layer Extended Component Service LayerExtended Component Service Layer System Support LayerSystem Support Layer
ComponentsComponents
Core Component Management layer Core Component Management layer Core Component ManagementCore Component Management
dynamic loading, unloading, components in the dynamic loading, unloading, components in the upper layersupper layers
remote component execution and managementremote component execution and management
Extended Component Service layerExtended Component Service layer Event ManagerEvent Manager
distributes eventsdistributes events implements a decoupled communication model a decoupled communication model Consists of a single entry point one or more Consists of a single entry point one or more
event factoriesevent factories
Components (contd.)Components (contd.) Component RepositoryComponent Repository
Supports flexibility, adaptabilitySupports flexibility, adaptability Stores information on all component entities in the Stores information on all component entities in the
middlewaremiddleware Allows component manager to browse and retrieve Allows component manager to browse and retrieve
entitiesentities
System Support LayerSystem Support Layer Context ManagerContext Manager
provides proactive services using the user and provides proactive services using the user and resource informationresource information
The context manager offers basic services: context The context manager offers basic services: context filtering, aggregation, evaluation, learning log filtering, aggregation, evaluation, learning log
QoS-AdaptationQoS-Adaptation collects various device monitoring information from collects various device monitoring information from
resource managerresource manager provides QoS information to the configuration provides QoS information to the configuration
manager.manager.
Components (contd.)Components (contd.)
Configuration Manager Automatic Installation and configuration of new
components provides a flexible infrastructure for dynamic
software update and self-reconfigurable component module
Resource Manager dynamic reallocation of resources performs both self-inspection and self-adaptation
Security Manager Registration and authentication
Operational mechanismOperational mechanism
1.1. User pushes the send picture button, the PDA realizes a new dataUser pushes the send picture button, the PDA realizes a new data
2.2. CM analyses the data and data is sent to QACM analyses the data and data is sent to QA
3.3. Authenticates the user and returns the result to CMAuthenticates the user and returns the result to CM
4.4. CM forwards the data to EMCM forwards the data to EM
5.5. EM manages printing factory (Job, Schedule Process, and Event EM manages printing factory (Job, Schedule Process, and Event Queue), Queue),
6.6. Data is sent to CCMData is sent to CCM
7.7. CCM sends it to CR for querying whether component exists or notCCM sends it to CR for querying whether component exists or not
Operational mechanism(Alternate Operational mechanism(Alternate Flow)Flow)
8.8. CR returns availability of the resource to CCM CR returns availability of the resource to CCM
9.9. Sends the picture data (user position, pixel, resolution, Sends the picture data (user position, pixel, resolution, and so on), property, and existence of component to and so on), property, and existence of component to Discovery ServerDiscovery Server
10.10. Sends the print requests to photo shops Sends the print requests to photo shops
11.11. Photo shop server acknowledges the request along with Photo shop server acknowledges the request along with the price and location map to Discovery Serverthe price and location map to Discovery Server
12.12. Discovery server forwards the acknowledgement and the Discovery server forwards the acknowledgement and the result to the Middleware ( CM )result to the Middleware ( CM )
13.13. If printing component is discovered in step 8, CCM sends If printing component is discovered in step 8, CCM sends data to EM that commands the application to show a data to EM that commands the application to show a message on the screen of the PDAmessage on the screen of the PDA
Operational mechanism(Alternate Operational mechanism(Alternate Flow)Flow)
13.13. If printing component not discovered in the step 8. If printing component not discovered in the step 8. The request is fowarded to CRThe request is fowarded to CR
14.14. CR sends request to SM and also to CFMCR sends request to SM and also to CFM
15.15. SM returns certificate of authentication. And CFM SM returns certificate of authentication. And CFM sends the configuration details to RM.sends the configuration details to RM.
16.16. RM allocates the resource and sends it back to CFMRM allocates the resource and sends it back to CFM
17.17. CFM sends the data to QA CFM sends the data to QA
18.18. QA decides on the quality and forwards it to the userQA decides on the quality and forwards it to the user
ConclusionConclusion
The above middleware architecture addresses the The above middleware architecture addresses the ubiquitous computing environment requirements like ubiquitous computing environment requirements like flexibility, interoperability successfully. flexibility, interoperability successfully.
This architecture adopts a hybrid-network model to This architecture adopts a hybrid-network model to manage enormous resources, context, location data, manage enormous resources, context, location data,
and servicesand services..
ReferencesReferences
1.1. Seung Wok Han, Yeo Bong Yoon, and Hee Yong Youn, “Seung Wok Han, Yeo Bong Yoon, and Hee Yong Youn, “A A New Middleware Architecture for Ubiquitous Computing New Middleware Architecture for Ubiquitous Computing EnvironmentEnvironment”, ”, second IEEE WSTFEUSsecond IEEE WSTFEUS, 2004, 2004
2.2. Eila NiemeläEila Niemelä, , Juhani Latvakoski, “Survey of Juhani Latvakoski, “Survey of Requirements and Solutions of Ubiquitous SoftwareRequirements and Solutions of Ubiquitous Software “, “, Proceedings of the 3Proceedings of the 3rdrd International Conference on International Conference on Mobile Ubiquitous Multimedia, 2004 Mobile Ubiquitous Multimedia, 2004
3.3. T.T. Drashansky, S. Weerawarana, A. Joshi, R.A. T.T. Drashansky, S. Weerawarana, A. Joshi, R.A. Weerasinghe, and E.N. Houstis, “Software Architecture Weerasinghe, and E.N. Houstis, “Software Architecture of Ubiquitous Scientific Computing Environments for of Ubiquitous Scientific Computing Environments for Mobile Platforms”, Tech. Report TR-95-032, 1995 Mobile Platforms”, Tech. Report TR-95-032, 1995
Recommended