Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
36 views97 pages

Chapter2 SmartDevices Services

Uploaded by

damrudadakijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views97 pages

Chapter2 SmartDevices Services

Uploaded by

damrudadakijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 97

Smart

Devices &
services
BY
DR. NILESH M. PATIL
Definition

 A smart device is an electronic device,


generally connected to other devices or
networks via different protocols such as
Bluetooth, NFC, wi-fi, 3G/4g/5g, etc., That can
operate to some extent interactively and
autonomously
What makes a device smart?

Connectivity
• To the internet
• To other devices

Wireless
• This means they don’t need wires to connect to
other devices (except when charging)

Portable
• Can be carried around easily
WHAT MAKES A DEVICE SMART?

Data processing
• Capable of storing and manipulating data.

Autonomous (to a certain


degree)
• They can carry out tasks according to the way they
are programmed so the user doesn’t always need to
make command inputs
Examples of smart devices

Smartphon Tab Smart


es watches

Smart Smart
wristbands glasses
Smartphones
Differences between smartphones
and regular cell phones

Regular cellphones can only make calls


and exchange texts

Smartphones are like mini computers


which can handle a large variations of
tasks ranging from accessing the
internet to controlling a computer
remotely.
General Properties of a
smartphone
Can be used to place calls or exchange SMS and
MMS

Access the internet

Can take pictures and record videos

Capable of video chat


Specific Properties of a smartphone

Store and edit data

Able to connect to other devices via cable, Bluetooth,


Wi-Fi, NFC, etc.

Supports the installation of various programs


tablet pc
tablet pc

Tablets are a lot like smartphones. So


instead of listing the similarities, let us
look at their differences

• Larger screen (between 7 inches to 11


inches)
• Higher processing power
• Tablets are less portable due compared to
smartphones
• Some tablets don’t support any SIM
• Some tablets have USB ports and some even
have HDMI ports.
Wearable devices

Wearable devices are, as the name


implies, smart devices which can be worn
by a person

Smart
Smart Glass Smart Band
Watch
Types of Wearable devices

Watches

Glasses

Bracelets or wristbands

And more
Smart watches
Smart watches
A wearable computing device worn on a user's
wrist that offers functionality and capabilities
similar to those of a smartphone. Smart watches
are designed to, either on their own or when
paired with a smartphone, provide features like:
• It can obviously tell time and has a huge choice of
displays
• Some provide fitness monitoring capabilities
• Connecting to the internet
• Shows notifications on the watch while connected
to a smartphone
• Can be used to give various commands to a
connected smartphone
• Runs mobile apps
Smart glasses

Smart glasses are a wearable computing


device that adds information onto reality

• Provides real time information as visual


augmented reality
• Take pictures and record videos
• Making calls, messaging via audio
• Offering GPS coordinates and location
directions directly onto the road as visual
augmented reality
• Able to perceive distance and height of and
object from the user
• And more
Use of smart glass

 we just say the word and google glass will take a picture and record a
video
 we will never have to touch the hardware
 the photos and videos will be stored in the flash memory of the device,
and can also be shared on the social networking website
 smart glass will show us the text massage we receive and allow us to
reply them via voice command
 if we are in the habit of googling things a lot, we simply need to ask a
question and the device will put the answer from the internet
 smart glass can translate a phrase or sentence from one language to
another
 the widely used google maps are integrated into Google glass, so the
users will be able to chart the course of their journey or look up locations
or establishment via voice command
view through Google glasses
view through ICIS GLASS
Smart bands (health bracelets,
pedometers, Etc.)
Bracelets
or
wristbands
a multifunctional
wristband aimed at
use for young
people at the
weekend.
WHAT CAN IT DO?
 identification;
 pay with the wristband;
 location tracking;
 clock and alarm;
 sponsoring big event and
parties;
 wireless connectivity;
 detecting our heart beat rate;
 physical activity and fitness
monitoring.
Advantages of smart devices

Communication Options

Web Everywhere

Device Merger

Endless Applications
disadvantages of smart devices

Higher cost

Security

Distraction

Typing
Characteristics of service access
used by smart devices
 General Characteristics for smart devices,
environments and interaction
 Internal Smart Device Properties
 External System Interaction
General Characteristics for smart devices,
environments and interaction

Feature Requirement Design

Multiple applications Devices execute multiple Support different mixes of


accessed via a range of local processes; and act as local versus remote
devices portals to access processing
preconfigured sets of
multiple remote services

Simple service access Services should be simple Modularisation and


to abstraction of ICT
initiate and to operate resources
Minimum configuration Device access to local Self discovery networks,
and maintenance resources and remote services, etc. Use of
services. appliance, utility self
management, etc models
Shared resources & Support access to Concurrency control
services resources by multiple
users
Internal Smart Device Properties
Feature Requirement Design

Open, Interoperable, Users prefer a choice of service Use virtualisation and


Heterogeneous instances, access devices and mediation combined with
networks abstraction to support these
properties

Dynamic service provision Discover, select, compose & invoke Discover, compose, invoke &
services anywhere, anytime from maintain services
anywhere relevant

Mobility Range of mobile services and users Mobility support to: route to
depending on the application mobile receivers; to discover
mobile access nodes

Volatile remote service Intermittent access is due to Design to execute self


access network failures, dynamic service sufficiently and in an
access, concurrency, upgrading, etc. intermittent offline mode

Local resource constraints Some types of mobile & embedded Adapt operation to limited ICT
access devices have energy, data resource context, limited local
storage, display and input energy self sufficiency
constraints
External System Interaction

Feature Requirement Design

ICT Context aware Awareness of local OS versus application


resource availability, support
Volatile remote resource
availability
User context aware Smart devices are often Devices act as a source for
(Personalized) personalized but users a personal space that can
may interact with many expand into other devices.
other impersonal services. Support for dynamic
User direct, indirect user
Context is dynamic varies profiling
with activity, time, etc.
Physical Context aware Devices are active, Limited awareness of the
situated in a relatively physical world
passive physical world
environment
Different viewpoints of distributed
ICT system components
• Components are User Access (U), Service
Processing (P), Communication (C), and
Resources (R) such as Information (I), sensors,
controllers, and other device hardware.
• The User Interface (UI) is also called the
presentation layer in business information
models.
• Processing or Computation is referred to as
Application Logic or Business Logic layer in
business information models.
• Resources, data sources, data storage, sensors,
controllers, etc. are encapsulated in the
Resource Management layer in business
information models.
• Resources are bound to hardware, are passive,
and are activated by users and services.
Reducing System Complexity using Abstraction
(Modularisation)

System architectures focus on the idea of


reducing complexity through both a
separation of concerns using modularisation
& transparency

Two common criteria for modules:


high cohesion
loose-coupling

Meyer (1998) uses five criteria for


modularisation:
Decomposability:
Composability:
Understandability:
Continuity:
Protection:
• Abstractions define those things that are important in a
system
• Abstraction that simplifies the view or access to internal
 Decomposability: This criterion refers to the extent to which a system can be
broken down into smaller, manageable modules or components. A highly
decomposable system allows for easier understanding and modification since
changes can be isolated to specific modules without affecting the entire system.
 Composability: Composability evaluates how effectively modules can be combined
or composed to create larger systems or assemblies. Modular systems with good
composability enable the integration of modules in various configurations to fulfill
different requirements or accommodate changes.
 Understandability: Understandability measures the clarity and ease with which a
module's functionality, interfaces, and interactions can be comprehended by
developers or users. Modules that are well-structured and documented facilitate
understanding, leading to more efficient development, debugging, and
maintenance processes.
 Continuity: Continuity refers to the cohesion and coherence within modules and
across module boundaries. A system with good continuity maintains logical
relationships and dependencies among modules while minimizing coupling,
ensuring that changes to one module do not cause unexpected side effects in
others.
 Protection: Protection assesses the degree to which modules can encapsulate
their internal implementation details and protect them from unauthorized access
or unintended interference. Module interfaces should provide controlled access to
functionality while hiding implementation complexities, promoting modularity and
security.
Service Architecture Models

 Partitioning and Distribution of Service Components


 Multi-tier Client Service Models
 Middleware
 Service Oriented Computing (SOC)
 Grid Computing
 Peer-to-Peer Systems
Partitioning and Distribution of Service Components

the key points for various designs for dividing and distributing services in ubiquitous computing environments:
1. Application Dependency: The design of service distribution depends on the specific application requirements. For
example, a chess application may run locally on high-resource devices but may require remote execution on low-
resource devices.
2. Communication Service Type: Different types of communication services, such as high-performance networks or
unreliable mobile networks, influence the design choices for service distribution. The need to cope with network
reliability and performance impacts the distribution strategy.
3. Access Device Type: The type of access device used, whether high-resource or low-resource, determines whether
the application can execute locally or requires remote execution over the network.
4. Balance of Local and Remote Processing: There's a need to balance the degree of local processing and remote
processing based on factors such as network reliability, available resources, and power consumption. This
balance may shift dynamically based on the application requirements and available infrastructure.
5. Middleware Service Model: Generic services such as communication and data management can be factored out
of specific application servers and hosted in computer nodes, enabling them to be shared across multiple
application services.
6. Service-Oriented Computing (SOC): SOC defines an explicit notion of services, often implemented using
technologies like XML Web Services (WS). It emphasizes modular and loosely coupled service components.
7. Mobile Client Model: In the mobile client model, the network addresses of client devices can move during a
service invocation session, and service access is optimized for low-resource mobile devices.
8. Peer-to-Peer Service Model: This model supports flexible service availability over dynamic service infrastructures
like mobile ad hoc networks (MANETs) and enables decentralized communication and collaboration.
Balancing the use of local processing against the amount of communication needed depends
upon the application and how it is designed.
Multi-tier Client Service Models

In Figure, five different designs for information resource Ubiquitous Computing


(UbiCom) systems are illustrated based on the distribution of their A (Application), P
(Presentation), and I (Information) components:
1. Single Tier, Monolithic System
2. Two Tier, Thin Client-Server Model
3. Two Tier, Fat Client-Server Model
4. Three-Tier Systems
5. Four-Tier Systems
6. Five or More Tier Systems
 In this design, the entire application service

Single resides locally on a single device or tier when


it is operating.

Tier,
 The system may have networking capabilities
to go online under special conditions, such as
interruptions in operation or local failures.
Monolit
hic
System
Two  In this model, the access device (client device
or terminal) primarily supports data access or
presentation.
Tier,  Service processes execute remotely, and the
information associated with these services is
Thin stored remotely as well.

Client-
Server
Model
 In contrast to the thin client-server model, the
Two access device in the fat client-server model
can support some local processing and use of

Tier, Fat
services.
 While the device can execute some tasks

Client-
locally, it can also invoke remote services as
needed.

Server
Model
 In a three-tier system, intermediate nodes are introduced
between the access devices and the end service nodes.
 Example is services that act on behalf of the access node
to simplify operations. These intermediary services handle

Three-
complex operations, such as authentication or data
transformation, on behalf of the access device.

Tier
Systems
Four-Tier Systems

 In a four-tier system, application processing


and application data are typically put on
separate nodes.
 Multiple application and generic application
support services, known as middleware
services, can be defined to handle various
aspects of application logic and data
management.
 For example, in an e-commerce application,
a user request for a service may involve
authentication and banking services, which
are separate from the main application logic.
These services interact with the application
to verify user credentials and process
payments.
Five or More Tier Systems

 Application services can also be


designed to be distributed over five
or more tiers depending on the
complexity and requirements of the
application.
 For instance, in a banking
application, authentication and
banking services could be
separated into distinct tiers to
manage security and transaction
processing separately.
Distributed Data (D) Storage

 Information (I), Processing (P), Service Access (A) and Data (D)
can themselves be partitioned and distributed.
 Examples of Partitioned & Distributed Data
 Transaction Monitors (TM): distributed data transactions;
 Data Warehouses, centralized analysis of distributed data
 Distributed Databases: distributed queries
Distributed Data (D) Storage:
Transaction Processing

Access1 (A) Access2 (A)


Transactions Transactions

Monitor: Route,
Jobs
schedule, monitor
P

Transaction Manager:
record lock, check- Lock
point, log R Logs

Database 1
Rules
Distributed Data (D) Storage:
Data Warehouse

Access1 (A) Access n (A)

Data mining (P) OLAP (P)

Aggregated Metadata
Data repository
R
Refresh, Load , Clean, Transform

Export Export
R R

Database 1 Database 1
Distributed Data (D) Storage:
Distributed Database

Access1 (A) Access n (A)

Distributed Query (P)

Wrapper (P)

Export Export
R R

Database 1
Database
Distributed Processing

 Partitioning & distributing processing onto multiple CPUs


 Use for computation-intensive tasks
 Time gained in increasing processing time must be greater than
time to partition & distribute tasks, collect individual results &
combine them.
Many different architectures
 Super-computers - specialised multiple CPU systems
 Clusters of networked MTOS computers, e.g., Grids.
 Multiple CPUs in MTOS computers. e.g., multi-core processor
 P2P computing
 Cellular computing
Proxy based Service Access

 Some applications, to mask the complexity of communication from being


supported in the client access process, use a client proxy.
 Proxy-based service access can:
1. offload presentation processing and network processing from the low-
resource client access device to the third proxy node
2. hide the heterogeneity of different terminal types and different types of
networks
3. simplify and compose access to multiple service providers
4. reduce the complexity of communication used in access devices
5. enable devices to operate intermittently in a disconnected state
6. shield network-based applications from the mobility of the access
devices
Proxy
based
Object5 Object6
Object5 Object6

Object4
Object4

Object1 Object2
Encode / decode data for Object1 Object2
Object3

transmission
Object3

User Query
Client Proxy Server
Service
Result
Optional confirmation
Access
of result received

Use of proxies to simplify network access by


transparently encoding and decoding the transmitted
data on behalf of clients and/ or servers
Proxy based Service Access

 What are the disadvantages of Proxy-based access?

 being a single point of failure, the use of additional network hop can
increase the latency
 In some cases, proxy clients can be positioned far from the
application Web servers and access devices, further increasing the
latency.
 Some of these issues can be addressed by having replicated
distributed proxy servers, positioned at optimum points in the
network.
Middleware

 Middleware in ubiquitous computing refers to software that sits between the


application layer and the operating system, providing services and support
functions to facilitate communication, integration, and management of
distributed components in a heterogeneous environment.
 Key Features and Functions:
1. Abstraction and Heterogeneity Management
2. Interoperability
3. Communication Support
4. Resource Discovery and Management
5. Security and Privacy
6. Scalability and Fault Tolerance
Middleware
Middleware

 Advantages for Application?


 can be application and operating system independent

 Advantages for OS?


 The OS does not need to be rebuilt or rebooted every time new types
of hardware are added.
 The middleware itself is distributed but this is transparent to the
application.
 The middleware model also makes applications simpler to define
because the middleware can handle the complexity of dealing with
the detailed use of system services.
Service Oriented Computing
(SOC)
 SOA (Architectures) , also referred to as SOC (Computing)

 Services as computational or information processing components


 That are autonomous and heterogeneous
 Can run on different platforms
 Are possibly owned by different organizations.
SOC Standards

Several different standards for SOC


 (XML based) Web Services
 Computer Grids OGSI (Open Grid Services Infrastructure )
 OASIS (Organization for the Advancement of Structured
Information Standards) SOA RM
 Open Group SOA Working Group
 Semantic Web Services
Service Oriented Computing
(SOC)


Notion of service characterised by:
Descriptions (or specification) of some task (a set of one or more actions) that are
offered by providers to users. It is assumed that descriptions are discoverable. A
complication is that the provider and user may not share a common understanding of
the specification or how to specify a service.
 Outcomes: the service is the means to achieve a defined outcome for a task, e.g., a
repair service enables normal operation to be resumed within a certain time frame.
 Offers: (or tenders) to perform a task on behalf of another. It is assumed that if an offer
is made that the provider is available.
 Competency: to undertake the task, e.g., a provider may publicize qualifications that
have been validated by an independent regulatory authority
 Execution: actually, performing the service on behalf of someone.
 Composition: Multiple services may need to be composed before they can be executed
with respect to an outcome and time constraints.
 Constraints or policies: for a service, which may be specified either by the user, e.g., for
a taxi service ‘don’t drive too fast’, or by the provider ‘not exceeding the speed limit’.
Service Oriented Computing
(SOC)
Grids

 Grid computing is a distributed computing paradigm that enables the


coordinated use of heterogeneous and geographically dispersed resources to
solve large-scale computational problems.
 Grid computing leverages the collective power of numerous interconnected
computers, storage systems, and other resources.
 (Early) Grid computing system design tends to focus on high performance
computing rather than fault-tolerance & dynamic ad hoc interaction.
 Three main types of Grid system occur in practice:
 Computational Grids: primarily emphasizes the efficient utilization of
computational resources distributed across multiple nodes.
 Data Grids: focuses on the management and sharing of large volumes of
distributed data resources.
 Service Grids: emphasizes the provision and orchestration of distributed
services and resources.
Peer-to-Peer Systems (P2P)

P2P can be defined as:


 distributed systems consisting of interconnected nodes
 able to self-organize into network topologies
 with the purpose of sharing resources such as content, CPU
cycles, storage and bandwidth,
 capable of adapting to failures and accommodating transient
populations of nodes
 while maintaining acceptable connectivity and performance
 without requiring the intermediation or support of a global
centralized servers or authorities.
P2P Benefits
 lower cost of ownership for content sharing: by eliminating specialized server costs and by
distributing the maintenance costs through multiple low-cost peers that can interact;
 performance enhancements: the resources of all the nodes can be used for storage,
computation and data exchange rather than focusing resources mostly in the server type
nodes;
 ad hoc resource utilization and sharing: as demand for particular services peaks, more
nodes can act as servers, for example, as file servers, to meet demand;
 autonomous control and ownership: peers can have a greater degree of and exercise more
decentralized, autonomous control over their data and resources. No reliance on a central
server to collect and relay information.
 anonymity and privacy: session-based IDs and addresses can be assigned and can be
hidden and masked as data gets routed; one cannot tell who has created data, who is
querying data, who is storing data etc.;
 fault tolerance: there are no central servers that can be attacked or can cause complete
system failure, instead, alternative paths and servers can be used when one fails
P2P System Design Challenges
(Limitations)
 More complex coordination is often needed. In contrast, with client server interaction, clients initiate
content downloads and uploads while servers react to clients to satisfy these requests or notify
clients when service updates are available. In contrast, it is not so clear how to initiate sessions, e.g.
two interacting peers can both decide to wait or to send to each other.
 Nodes can act as freeloaders: nodes may be happy to play a role of service requesters but are
always configured to refuse the requests of others to use their resources. More complex security
may be needed as identification can be masked so access control is harder.
 Network address discovery: peers need to be dynamically assigned network addresses and to
discover addresses of destination nodes. The use of broadcasting to discover the network addresses
of others can flood networks.
 Ad hoc network routes: need to create and discover ad hoc routes between nodes, inefficient multi
hop routes can form to link source nodes to destination nodes.
 Service discovery: how to discover the selective nodes where services can be invoked from versus
the inefficiency of distributing services to all nodes.
Variations of P2P system

 3 main types of P2P system depending on the types of computer


nodes:
 Pure P2P
 Partial P2P
 Hybrid P2P networks
 Pure peer-to-peer (P2P) refers to a decentralized networking
architecture where every participant in the network can act as
both a client and a server. In a pure P2P system, there is no
central server or authority controlling the network; instead, all
nodes communicate directly with each other, forming a
distributed network where resources and responsibilities are
shared among participants.
 Partial P2P, also known as hybrid P2P, refers to a networking
architecture that combines elements of both peer-to-peer (P2P)
and client-server models. Unlike pure P2P systems where all
participants have equal roles and responsibilities, partial P2P
systems incorporate centralized components or servers alongside
peer-to-peer interactions.
 Hybrid P2P, also known as hybrid peer-to-peer, is a networking
architecture that combines elements of both peer-to-peer (P2P)
and client-server models in a more integrated and sophisticated
manner than partial P2P systems. In hybrid P2P architectures,
nodes in the network can act as both clients and servers, and the
system dynamically adapts its behavior based on factors like
network conditions, resource availability, and user preferences.
search
A B Link not
accessed
H
G
Servent
Node C D E F Pure
N P2P Hybrid
J
New P2P
search Node I L
Centralised K Node
Directory with
Node (used in content
Hybrid P2P
for searches)

P2P System Types: Pure, Hybrid


Super
H
Node G
C D E F
Node Partial
N with P2P
J content

I L
K

P2P System Types : Partial P2P


Service Provision Life Cycle

 Service Provision Life-Cycle in ubiquitous computing is divided into four phases namely
1. Service creation,
2. Service operation,
3. Service maintenance and
4. Service dissolution.
 The provision of application services for smart devices entails the management of
distributed services throughout their life cycle and not just in specific phases such as
service discovery.
 There are two separate aspects to this, first, defining a generic life cycle model for service
provision and, second, to manage this life cycle.
 In a simple service provision lifecycle model, only two of the five service model
components are active, the processing services or service provision and service access
or clients, the other three components, communication, stored information and
information sources, are treated as passive components.
Announcement (P), Discovery (A) Invoke (A) Terminate (A,P)
Selection (A), Configuration (A|P) Coordinate (A,P) Remove registrations (P)
Composition (A)

Creation Execution Dissolution

Maintenance

Re-invoke (A), Update descriptions (P)


Reconfiguration (A), Update composition (A)
 Service creation:
 Service processes registers themselves in service directory
 Service requesters in access nodes search for services.
 Services get selected, configured and multiple services need
to be composed.

 Service execution:
 Services are invoked and multiple interlinked services need to
be coordinated.

69
 Service maintenance:
 Service processes, access configurations, service
compositions can be updated

 Service Dissolution:
 Services may be put off-line or terminated temporarily by the
processes themselves or by requestors

70
 Static device like: set-top audio video receivers can support both dynamic service
initiation and execution.
 This enables the device to be preconfigured using default settings and shipped to
be used in different regions where it must detect and tune itself to regional RF
broadcast signal sources.
 This can also enable a static smart device to switch to an alternative service
provider when a fault occurs, providing the user has permission to access, possibly
via another service contract.to
 Network Discovery must precede service registration and service discovery.

 Dynamic network discovery is used by mobile nodes and when new nodes are
introduced into a network.
 DNS is used to map IP address to a name of some network node and vice versa.

 DHCP is used to discover network: A DHCP server manages a record of all the
IP addresses it allocates to network nodes.
 Complexity is managing DHCP server and in detecting & resolving
duplicate IP addresses because multiple DHCP servers may issue
overlapping addresses.
 Permanent may conflict with dynamic.

 Zeroconf or zeroconfiguration networking : set of techniques that automatically


creates usable IP network without configuration or special servers.

72
Service announcements, service Discovery

 If service providers or requesters are static


 Then need arises for dynamic service discovery
 Is needed to allow service requesters to change providers
when requesters or providers are mobile.
 When network access is intermittent and when they( R & P)
fail.
 Dynamic service discovery: involves decoupling service
provision from service requests and supporting dynamic
announcements.

73
Service announcements, service Discovery
contd..

2 approaches of service announcemnets


• Push: uses broadcast to announce available service
requests or capabilities to no of unknown parties.

• Pull: uses lookups to search or browse requests or


capabilities previously announced to the directory held
by some known third party.

74
 Web Services (WS) support machine-to-machine interaction

 Service Interfaces described in machine-processable, syntactical format

 WS SOAs consist of many possible WS protocols depending on the application and service
requirements.
 Core WS SOA protocols are:

◦ SOAP: Used as a lightweight XML-based transport-independent protocol to exchange information


between peers in a distributed environment.

◦ WSDL: Web Service definition language, used to define sequences of service


actions.

◦ UDDI : Universal Description, Discovery, and Integration: is directory based infrastructure,


XML based standard for describing, publishing and finding web services

75
Service Invocation

Specifying an application protocol in terms of a set of service


descriptions of service actions is often insufficient to invoke a service.

 Requesters need to know how to invoke the services


 It may require to download specific service access
software.
 Requesters may not know order of execution
 Interaction in the process needs to be coordinated.
 Often coordination may be hard-coded into each service
API and under the control of the provider.
 Makes the coordination of multiple services inflexible.

76
Service Invocation
 Multiple heterogeneous processes need to be interleaved
Eg: select item, order item, receive acknowledgement and receive
item need to be interleaved with separate pay for item process.

Different approaches to service invocation


 Depending on application interaction pattern

 Characteristics of service infrastructure

Main service invocation designs considered include:


 Volatile service access

 On- demand service request

 Delayed reads & mail boxes

 Event based notification etc..

77
 Enterprise Service Bus or ESB supports messaging, Web
Service integration, data transformation and intelligent
routing for SOC
 Decouples service provision from service access.

78
 Service processes are sequences of individual service actions
that are scheduled for execution.
 Service processes may involve one or more entities, one or
more actions and involve one or more processes.
 Composition concerns?
 Statically organising services design issues.
 Dynamic service composition?
 Composition can occur incrementally

79
Smart Mobile Devices
80
 Smart mobile devices encompass a broad category
of portable electronic gadgets designed to provide

and interaction
Ubiquitous computing: smart devices, environments
various functionalities beyond traditional calling and
texting.
 They are characterized by their advanced
computing capabilities, connectivity options, and
versatile features.
 Here are some common types of smart mobile
devices: Smartphones, Tablets, wearable Devices,
Smart Home Devices, Gaming Consoles, E-readers.
Characteristics of Smart Mobile
Devices
 Connectivity: Smart mobile devices are equipped with various connectivity options, including Wi-Fi,
Bluetooth, cellular data, and NFC (Near Field Communication), enabling users to connect to the internet,
other devices, and networks.
 Operating System (OS): Smart mobile devices run on sophisticated operating systems like iOS (Apple),
Android (Google), or Windows Mobile, which provide a platform for running applications and managing
device functionality.
 Touchscreen Interface: Most smart mobile devices feature touchscreen displays, allowing users to
interact with the device through gestures such as tapping, swiping, and pinching.
 Multimedia Capabilities: Smart mobile devices support multimedia features like high-resolution displays,
cameras for photos and videos, audio playback, and sometimes even video editing capabilities.
 Application Ecosystem: They have access to extensive app ecosystems through dedicated app stores
(e.g., Apple App Store, Google Play Store) where users can download and install various applications for
productivity, entertainment, communication, and more.
 Processing Power: Smart mobile devices are equipped with powerful processors (CPUs and GPUs) and
sufficient RAM to handle multitasking, run demanding applications, and provide a smooth user experience.
Characteristics of Smart Mobile
Devices
 Sensors: They incorporate a variety of sensors such as accelerometers, gyroscopes, GPS, ambient light
sensors, proximity sensors, and fingerprint scanners, which enable features like motion sensing, location-
based services, automatic screen brightness adjustment, and security enhancements.
 Portability: Smart mobile devices are designed to be portable and lightweight, allowing users to carry
them easily and use them on the go.
 Customization Options: Users can personalize their smart mobile devices with custom wallpapers,
themes, widgets, and settings to suit their preferences and needs.
 Battery Life Management: Smart mobile devices employ power management techniques to optimize
battery life, including battery-saving modes, adaptive brightness, and background app management.
 Security Features: They offer various security features such as device encryption, biometric
authentication (e.g., fingerprint scanning, facial recognition), remote device tracking and wiping, and
secure app sandboxes to protect user data and privacy.
 Cloud Integration: Many smart mobile devices seamlessly integrate with cloud services, enabling users
to store and access their data (e.g., photos, documents, contacts) across multiple devices and platforms.
Mobile service design

 Mobile service design in ubiquitous computing focuses on


creating seamless and context-aware experiences for users
across various devices and environments.
 Ubiquitous computing, also known as pervasive computing,
involves integrating computing technology into everyday objects
and environments to make them smarter and more responsive to
user needs.
Key considerations and principles for
mobile service design in ubiquitous
computing
 Context Awareness: Design mobile services that are aware of the user's context, including location, time,
preferences, and activities. Utilize sensors and data from the environment to adapt the service experience
accordingly.
 Seamless Experience: Aim for a seamless and consistent user experience across different devices and
interaction channels. Users should be able to transition between devices and contexts without
interruptions or disruptions.
 Adaptive Interfaces: Design interfaces that can adapt to different screen sizes, input methods, and
environmental conditions. Consider responsive design principles to ensure that the service remains usable
and accessible across a variety of devices and platforms.
 Personalization and Customization: Provide options for personalization and customization to tailor the
service experience to individual user preferences and needs. Allow users to configure settings, adjust
preferences, and receive personalized recommendations.
 Contextual Interaction: Enable contextual interaction by leveraging contextual cues and user input to
anticipate user needs and provide relevant information or services proactively. For example, a smart
assistant could suggest nearby restaurants based on the user's location and past dining preferences.
Key considerations and principles for
mobile service design in ubiquitous
computing
 Privacy and Security: Prioritize user privacy and security by implementing robust data protection
measures and obtaining user consent for data collection and processing. Minimize the collection of
sensitive information and ensure transparent communication about how data is used.
 Cross-Device Integration: Enable seamless integration and synchronization between different devices and
platforms to provide a cohesive user experience. Allow users to access and interact with the service from
smartphones, tablets, wearables, smart home devices, and other connected devices.
 Feedback and Iteration: Collect feedback from users and iterate on the design based on user insights and
observations. Conduct usability testing and gather user feedback to identify pain points, usability issues,
and areas for improvement.
 Scalability and Reliability: Design mobile services that are scalable and reliable to accommodate varying
usage patterns and handle fluctuations in demand. Ensure that the service can scale gracefully to support
increasing numbers of users and devices.
 Accessibility: Ensure that the mobile service is accessible to users with diverse abilities and needs.
Consider accessibility guidelines and standards to make the service usable for individuals with disabilities,
including visual impairments, motor impairments, and cognitive impairments.
SMS (Short Message Service)

 SMS is a ubiquitous communication channel that allows users to


send and receive short text messages via mobile devices.
 In mobile service design, SMS can be utilized for quick
notifications, alerts, reminders, and transactional communication
between users and service providers.
 It serves as a reliable and accessible means of communication,
particularly in areas with limited internet connectivity.
Mobile Web Services

 Mobile web services refer to online platforms and applications


accessible through mobile web browsers.
 They provide users with access to information, resources, and
interactive functionalities directly from their mobile devices.
 In ubiquitous computing, mobile web services play a crucial role
in delivering content, services, and experiences across different
devices and environments.
 They are designed to be responsive, adaptable to various screen
sizes and resolutions, and often integrate with native device
features to enhance functionality and user engagement.
Thin client server architecture
example
A micro-browser running on a mobile device is used to retrieve content over a
wireless network.
Java VM (Java Virtual
Machine) in Mobile Service
Design

Java VM is a virtual machine that enables the execution of Java
bytecode, allowing Java applications to run on various platforms
without modification.
 In mobile design, Java VM provides a platform-independent
environment for developing and deploying mobile applications.
 It allows developers to write applications in Java programming
language and run them on different mobile devices that support
Java ME (Micro Edition) or other Java-based mobile platforms.
J2ME in Mobile Service Design

 J2ME (Java 2 Platform, Micro Edition) is a version of the Java


platform designed for resource-constrained devices, such as
mobile phones, PDAs, and embedded systems.
 It provides a set of libraries, APIs, and virtual machine
specifications tailored for mobile and embedded development.
 J2ME is commonly used in mobile design to create lightweight,
portable applications for feature phones and early smartphones.
 It offers APIs for user interface development, network
communication, database access, and other mobile-specific
functionalities.
.Net CF in Mobile Service Design

 .NET CF (Compact Framework) is a subset of the Microsoft .NET


Framework designed for building applications for resource-
constrained devices, including Windows Mobile and Windows
Embedded Compact devices.
 In mobile design, .NET CF enables developers to write
applications in languages like C# and VB.NET and run them on
Windows Mobile devices.
 It provides access to a subset of the .NET Framework APIs
optimized for mobile development, including UI controls, data
access, networking, and security features.
Mobile Code

 Mobile code refers to executable code that is transmitted and executed


on a mobile device, typically over a network.
 Mobile code allows the execution of code on a mobile device that is not
pre-installed but is transmitted from a remote server or another source.
This enables dynamic updates, feature enhancements, and bug fixes
without requiring users to manually update their applications.
 Mobile code often involves the use of web-based technologies such as
JavaScript, HTML, and CSS. This allows developers to create responsive
and interactive mobile web applications that can be accessed through
mobile browsers.
 Mobile code enables the delivery of dynamic content to mobile
applications. This can include personalized content, real-time updates,
and interactive elements that enhance the user experience.
Smart Card Devices

 A smart card is a plastic card embedded with digital memory and (usually) a microprocessor
chip, as opposed to cards that store data on magnetic strips. It is reprogrammable, stores and
processes data in the card, and transacts data between card users and applications.
 Data can be stored and processed within the card’s memory or microprocessor, which is
accessed using a card reader.
 Smart cards are small and easy to carry around.
 They provide a secure data container, that can be used for authentication purposes, e.g., as a
hardware-based digital signature, and can be used for metered services.
Contactless and Contact Smart Cards

 Smart cards maybe either contact-based or contactless.


 Contact cards have to be inserted in a reader and a
physical electrical contact made.
 This may be chosen for security reasons, e.g., a chip (and
enter) PIN (Personal Identification Number) application.
 Contactless cards also contain an antenna and an RF
transceiver or transponder.
 The card can be waved near a reader or base station to
interact, e.g., a smart travel card designed to be
contactless reduces the time to gain authorization
compared to the use of a contact card.
 Contactless cards include an inbuilt antenna and
transceiver to interact with a reader. Contact cards include
electrical contacts for a reader.
 A typical smart card OS is also shown.
Smart Card OS

 The primary tasks of a smart card operating system


1. transferring data to and from the smart card,
2. controlling the execution of commands,
3. managing files,
4. managing and executing cryptographic algorithms to protect
access to stored data, and
5. managing and executing program code.
 The components of a typical card OS are combined into a single IC
chip to reduce size.
 To standardize the communication protocol between the on-card
application, and off-card programs accessed via the reader, the
ISO/IEC 7816 standard has been defined.
Smart Card Development
 Java Card refers to the technology that allows small Java-based applications (applets)
to be run securely on smart cards and similar small memory footprint devices such as
JavaRings.
 A Java Card is the tiniest version of Java targeted for embedded devices. It is widely
used in SIM cards (used in GSM mobile phones) and ATM cards.
 Java CardVM runs in many smart cards, e.g., the GSM phone Subscriber Identification
Module (SIM) card. SIM cards securely store the service subscriber key (IMSI) that is
used to identify a subscriber.
 SIM cards allow users to change phones by simply removing the SIM card from one
mobile phone and inserting it into another mobile phone or broadband telephony
device.
 Java Card focuses on providing a common programming interface for the development
of smart card applications
Thank you
ANY QUESTIONS?

You might also like