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?