PATTERNS
Mobile environment can exploit several patterns for different tasks typologies
ARCHITECTURAL PATTERNS
inherited from non mobile environments, patterns for application’s architectures that describes how component should interact
Level-based
Multi-layer sw architecture with different responsibilities “rigidly” allocated to different layers
Client-Server
Most frequent pattern in distributed computing: clients use resources and services offered by server
Peer-to-peer
Any node can dynamically play the role of either client or server; functionality could be more or less symmetric
Pipeline
Pipeline as chain of processing elements aligned in such a way that output of one is offered as input for the successive one in the chain
Multi-tier
Client-server architecture where applications are run by a multiplicity of different software agents
Blackboard
A common knowledge base (blackboard) is updated iteratively by different knowledge sources, starting from including problem specification and then evolving to solution results
Publish/Subscribe
Different nodes publish data to a broker that can be received from different nodes acting as subscribers
other types of patterns specific for mobile nodes are
- COMMUNICATION_PATTERNS
- RESOURCE_MANAGEMENT_PATTERNS
- DISTRIBUTION_PATTERNS Tre categorie principali:
- per la distribuzione
- per la gestione delle risorse e la sincronizzazione
- session token
- caching
- eager acquisition
- lazy acquisition
- synchronization
- rendezvous & state transfer
- per la comunicazione