UBI-I
Module-1
Ubiquitous Computing Applications
1. Personal Memories
How we were & we are recording personal memory of the physical world:
● Up until the 1980s, capturing personal memories through photography required a
manual process involving:
○ Manual light reading
○ Setting aperture and camera shutter speed
○ Manually focusing lenses
○ Using camera film, which had a limited capacity of 12-36 images
○ Developing film through a specialist processing company, which often took
several days
Enhancing Personal Memories Service Using UbiCom:
● Digital cameras now offer significant enhancements:
○ Automatic Capturing: Built-in displays and automatic functions make
capturing images easier and more intuitive.
○ Context of Recording: Integration with GPS provides location data, and time
stamps ensure temporal context.
○ Modifications: Digital images can be easily edited and modified using
software.
○ Simple UI: User-friendly interfaces simplify the process of taking and
managing photos.
○ Immediate Viewing: Images can be viewed immediately after being taken.
○ AV Databases, IP, and MEMS: Use of audiovisual databases, Internet
Protocol (IP) connectivity, and Micro-Electro-Mechanical Systems (MEMS)
technology allows for enhanced functionality.
○ ICT Device Discovery: Digital cameras can interact with other Information
and Communication Technology (ICT) devices, like printers and cloud
storage, seamlessly.
Advanced Features:
● Person-aware, Location-aware, and Time-aware: Modern AV recording devices
can integrate personal, locational, and temporal data to create richer and more
meaningful personal memory records.
● Networked Interaction: These devices can interact with other ICT devices and
databases, such as family and friends' databases, enhancing the sharing and
organisation of personal memories.
2. Adaptive Transport Scheduled Service
20th Century Transport:
● Fixed timetables with passengers waiting without real-time updates.
● Vehicle drivers communicated with a central controller via radio.
● Controllers manually notified about delays and schedule changes.
Enhancing Transport Service Using UbiCom:
● GPS Positioning: Vehicles' positions are tracked in real-time using GPS.
● Estimated Time of Arrival: Real-time data allows for precise estimation of arrival
times, reducing passenger waiting times.
● Location Tagging: Vehicles can tag their locations along the route, providing
up-to-date information on progress and delays.
21st Century Benefits:
● Passengers can access real-time information about vehicle locations and arrival
times via apps and electronic displays at stops.
● Enhanced communication between vehicles and central systems improves overall
efficiency and responsiveness to traffic conditions.
3. Foodstuff Management
Enhancing Foodstuff Management Using UbiCom:
● Ubiquitous Home Environment: Designed to support healthy eating and weight
management through a networked system of physical devices.
● Integrated Sensors: Sensors embedded in the home environment track and
manage food consumption.
● Scanners: Used to scan packaging, barcodes, expiry dates, food ingredients, and
weight percentages.
Benefits:
● Healthy Eating: Helps users manage their diet by providing detailed information
about the nutritional content and freshness of food items.
● Inventory Management: Automated tracking of food stock and expiry dates reduces
waste and ensures fresh food is consumed.
● Personalised Recommendations: Systems can offer personalised dietary
recommendations based on individual health goals and consumption patterns.
4. Utility Regulation
Enhancing Utility Regulation Using UbiCom:
● User Context-aware Devices: Devices designed to understand and adapt to user
behaviours and preferences.
● Multi-agent and Autonomic System Models: These models enable devices to
operate as part of a Smart Grid, optimising energy and resource use autonomously.
● Advanced Utility Metres: Present consumption data per unit time and per device,
providing detailed insights into usage patterns.
Smart Grid Integration:
● Demand Response System: Automatically adjusts utility consumption based on
real-time demand and supply conditions, promoting efficient use of resources.
● Energy and Water Regulation: Smart systems monitor and regulate energy and
water usage, reducing waste and lowering costs for end-users.
● Networked Appliances: Integration with household appliances ensures coordinated
and efficient operation, enhancing overall utility management.
By leveraging ubiquitous computing technologies, these scenarios illustrate how daily life
can be significantly enhanced through smarter, more efficient, and context-aware systems.
Ubiquitous Computing Properties
A. Core Properties of UbiCom Systems
1. Networked and Distributed
○ Ubiquitous computing systems need to be interconnected and capable of
operating across various devices and environments. They must be
seamlessly integrated, providing transparent access to networked resources.
In 1991, wireless computing was minimal, and the Internet was far less
pervasive, limiting the reach and functionality of networked systems.
2. Hidden Human-Computer Interaction (HCI)
○ Interaction with computers needs to be less intrusive and more integrated into
the user's environment. Much of the traditional HCI is too prominent and
disruptive. UbiCom systems aim to make computing more intuitive and less
noticeable.
3. Context Awareness
○ Computers need to be aware of their environment to optimize their operation.
This includes understanding physical contexts like location and time, as well
as human contexts such as user activities and preferences.
4. Autonomous Operation
○ UbiCom systems should be capable of operating without human intervention,
managing themselves through self-governance. This includes the ability to
make decisions and take actions independently.
5. Intelligent and Dynamic Interaction
○ These systems should handle multiple dynamic actions and interactions,
driven by intelligent decision-making. This involves some form of artificial
intelligence (AI) to adapt to changing conditions and user needs.
B. Distributed System Properties MOST NU
1. Universal, Seamless, Heterogeneous
○ The system should operate across different homogeneous environments,
integrating devices and environments seamlessly, and adapting to new
contexts as new resources become available.
2. Networked
○ UbiCom devices are interconnected, often using wireless networks to
facilitate communication and data exchange.
3. Synchronized and Coordinated
○ Multiple entities can interact in a coordinated manner, either synchronously or
asynchronously, across time and space.
4. Open
○ New components can be introduced, accessed, modified, or retired
dynamically, ensuring the system remains adaptable and scalable.
5. Transparent and Virtual
○ The complexity of computing operations is reduced, presenting a single virtual
system even though it is physically distributed.
6. Mobile and Nomadic
○ Users, services, data, code, and devices can be mobile, supporting dynamic
and flexible interactions.
C. Implicit Human-Computer Interaction (iHCI) System Properties PANAUT
1. Non-Intrusive, Hidden, Invisible, Calm Computing
○ ICT is non-intrusive and blends into the environment, allowing intuitive use by
users.
2. Tangible and Natural
○ Interaction occurs via natural user interfaces and physical artefacts, involving
gestures, touch, voice control, and eye gaze control.
3. Anticipatory, Speculative, Proactive
○ Systems anticipate user actions and goals, improving performance and user
experience based on current, past, and group contexts.
4. Affective and Emotive
○ Computing relates to human emotions, influencing and arising from them,
enhancing user interaction through emotional intelligence.
5. User Aware
○ ICT is aware of the user's presence, identity, characteristics, and current
tasks, adapting interactions accordingly.
6. Post-Human
○ Extends a person's experience across space and time, creating a sense of
being in an extended world.
7. Sense of Presence, Immersed, Virtual, Mediated Reality
○ Creates a real-time interactive environment, blending virtual and real views to
enhance the sense of presence.
D. Context-aware System Properties
1. Sentient, Unique, Localized, Situated
○ Systems can discover and leverage the situation or context, such as location,
time, and user activity.
2. Adaptive, Active Context Aware
○ Systems actively adapt to context changes in a dynamic environment, rather
than just presenting context changes to the user.
3. Person Aware, User Aware, Personalized, Tailored
○ Systems are tailored to individual users based on personal details or
characteristics, triggering system adaptations.
4. Environment Aware, Context Aware, Physical Context Aware
○ Systems are aware of the physical world context, including spatial and
temporal factors, and adapt accordingly.
5. ICT Awareness
○ Systems are aware of the ICT infrastructure, including network quality of
service (QoS) when transmitting messages.
E. Autonomous System Properties UAESR
1. Automatic
○ Operates without human intervention, performing tasks independently.
2. Embedded, Encapsulated, Embodied
○ System's input, output, and computation are contained within the device it
controls, acting as a self-contained unit.
3. Resource Constrained
○ Designed to be portable or embeddable, with constrained computation, data
storage, input/output, and energy usage.
4. Untethered, Amorphous
○ Operates independently, minimizing external dependencies and authority.
5. Autonomic, Self-Managing, Self-Star
○ Supports self-configuring, self-healing, self-optimizing, and self-protecting
behaviors.
6. Emergent, Self-Organizing
○ Complex behavior arises from the interaction of multiple simple behaviors.
F. Intelligent System Properties
LGCCRR
1. Reactive, Reflex
○ Senses environment events and triggers actions that may change the
environment through actuators.
2. Model-Based, Rule/Policy-Based Logic/Reasoning
○ Uses models to understand its operation and the world, employing various
representation forms such as rule-based or logic-based.
3. Goal-Oriented, Planned, Proactive
○ Plans actions dynamically based on user goals rather than pre-programmed
actions, handling multiple concurrent goals.
4. Utility-Based, Game Theoretic
○ Systems can optimize behavior based on utility functions, considering
competitive and cooperative interactions.
5. Learning, Adaptive
○ Improves performance over time through learning and adaptation.
6. Cooperative, Collaborative, Benevolent
○ Multiple agents share tasks and information to achieve shared goals.
7. Competitive, Self-Interested, Antagonistic, Adversarial
○ Agents have private goals and operate in a multi-entity setting without
requiring collaboration, potentially acting adversarially.
8. Orchestrated, Choreographed, Mediated
○ Interactions can be controlled by a designated leader (orchestrated), allowed
some freedom (choreographed), or constrained by a common entity
(mediated).
9. Task Sharing, Communal, Shared Meaning
○ Interactions are sharable and commonly understood within a defined domain.
10. Shared Knowledge, Speech Act-Based, Intentional, Mentalistic
○ Interactions are based on shared beliefs, desires, intentions, and speech
acts, facilitating coordinated actions.
11. Emergent
○ Higher levels of organisation and behaviour emerge from simple interactions
among entities.
Module-2
Service Architecture Models in Ubiquitous Computing
1. Partitioning and Distribution of Service Components
1. Application Dependency: Service distribution is tailored to specific application
requirements. High-resource devices may run applications locally, while low-resource
devices may rely on remote execution.
2. Communication Service Type: Network types (e.g., high-performance, unreliable
mobile) influence distribution strategies, balancing network reliability and
performance.
3. Access Device Type: Device capabilities determine whether applications execute
locally or remotely.
4. Balance of Local and Remote Processing: The balance between local and remote
processing depends on network reliability, available resources, and power
consumption, and may shift dynamically.
5. Middleware Service Model: Generic services like communication and data
management are hosted on computer nodes, shared across multiple applications.
6. Service-Oriented Computing (SOC): Emphasises modular and loosely coupled
service components, often implemented with technologies like XML Web Services.
7. Mobile Client Model: Optimizes service access for mobile devices with dynamic
network addresses during service invocation sessions.
8. Peer-to-Peer Service Model: Supports flexible service availability over dynamic
infrastructures like MANETs, enabling decentralised communication and
collaboration.
2. Multi-tier Client Service Models
1. Single Tier, Monolithic System: Entire application service resides locally on a single
device, which may have networking capabilities for special conditions.
2. Two Tier, Thin Client-Server Model: Client device primarily supports data access or
presentation, with remote execution and data storage.
3. Two Tier, Fat Client-Server Model: Client device supports some local processing
but can also invoke remote services as needed.
4. Three-Tier Systems: Introduces intermediate nodes between access devices and
end service nodes for tasks like authentication and data transformation.
5. Four-Tier Systems: Separates application processing and data onto different nodes,
with middleware services managing application logic and data.
6. Five or More Tier Systems: Distributes application services over multiple tiers,
separating tasks like authentication and transaction processing into distinct tiers.
3. Middleware
1. Abstraction and Heterogeneity Management: Simplifies and standardises
interaction across diverse systems.
2. Interoperability: Ensures different systems and applications can work together
seamlessly.
3. Communication Support: Facilitates reliable communication between distributed
components.
4. Resource Discovery and Management: Manages discovery and allocation of
resources across a distributed environment.
5. Security and Privacy: Provides mechanisms to ensure secure and private
interactions.
6. Scalability and Fault Tolerance: Supports growth and ensures reliability despite
failures.
4. Service-Oriented Computing (SOC)
1. Autonomous and Heterogeneous Services: Services run on different platforms,
possibly owned by different organisations.
2. Service Descriptions: Services are defined by discoverable descriptions detailing
tasks offered to users.
3. Outcomes and Offers: Focuses on achieving defined outcomes for tasks and
ensuring provider availability.
4. Competency and Execution: Providers demonstrate their ability to perform tasks
and execute services reliably.
5. Composition and Constraints: Services may need to be composed with respect to
outcomes and policies set by users and providers.
5. Grid Computing
1. Computational Grids: Utilises distributed computational resources for efficiency.
2. Data Grids: Manages and shares large volumes of distributed data.
3. Service Grids: Orchestrates distributed services and resources.
6. Peer-to-Peer Systems
1. Decentralised Networks: Nodes act as both clients and servers, sharing resources
and maintaining connectivity without centralised control.
2. Autonomous Control: Peers exercise control over their data and resources.
3. Ad Hoc Resource Utilisation: Nodes dynamically adjust roles to meet service
demands.
4. Anonymity and Privacy: Ensures session-based IDs and addresses mask
participant identities.
5. Fault Tolerance: Redundant paths and servers prevent single points of failure.
Service Provision Lifecycle in Ubiquitous Computing
The service provision lifecycle in ubiquitous computing encompasses the phases involved in
managing distributed services from creation to dissolution. It ensures that services are
effectively created, executed, maintained, and eventually dissolved, adapting to dynamic
environments and varying resource availability. The lifecycle is divided into four main
phases:
1. Service Creation
2. Service Execution
3. Service Maintenance
4. Service Dissolution
1. Service Creation
Service creation involves the initial setup and deployment of services. This phase includes
several key activities:
● Announcement and Discovery: Services register themselves in a service directory,
announcing their availability. Service requesters search for these services based on
their needs.
● Selection and Configuration: Once discovered, services are selected and
configured. This may involve setting parameters and ensuring compatibility with the
requester’s requirements.
● Composition: In many cases, multiple services need to be composed to create a
new composite service that can meet complex requirements.
2. Service Execution
Service execution is the phase where services are actively used. This involves:
● Invocation: Services are invoked by the requesters. This can involve complex
interactions and may require coordination among multiple interlinked services.
● Coordination: Ensuring that the interactions between different services are
synchronized and managed effectively, especially when dealing with multiple services
performing interdependent tasks.
3. Service Maintenance
Service maintenance ensures that services remain operational and up-to-date. Activities
include:
● Re-invocation: Services may need to be re-invoked if they are interrupted or if the
initial invocation fails.
● Updating Descriptions: Service descriptions might need updates to reflect changes
in functionality or configuration.
● Reconfiguration: Adjusting service configurations as needed to optimize
performance or adapt to new requirements.
● Updating Composition: Revising how services are composed to adapt to changing
conditions or requirements.
4. Service Dissolution
Service dissolution is the final phase where services are taken offline. This can involve:
● Termination: Services may be terminated either temporarily or permanently.
● Removal of Registrations: Deregistering services from the service directory to
indicate they are no longer available.
● Cleanup: Ensuring that any resources used by the services are properly released
and that there are no lingering dependencies.
Network and Service Discovery
Before services can be created and used, network discovery must take place. This involves
identifying and mapping network nodes, often using protocols like DNS and DHCP. Dynamic
network discovery is particularly important for mobile nodes and when new nodes join the
network.
Service Announcements and Discovery
Service announcements can be done in two ways:
● Push: Broadcasting available services to unknown parties.
● Pull: Service requesters search or browse a directory held by a known third party to
find services.
Service Invocation
Service invocation involves specifying how services are accessed and used. This may
require downloading specific software or knowing the correct order of execution. Various
designs for service invocation include volatile service access, on-demand service requests,
and event-based notifications.
Middleware and Enterprise Service Bus (ESB)
Middleware, such as an Enterprise Service Bus (ESB), plays a crucial role in the service
provision lifecycle by providing messaging, service integration, data transformation, and
intelligent routing. Middleware decouples service provision from service access, making the
lifecycle management more flexible and efficient.
Service Composition
Service processes often involve sequences of individual actions. These can be organized
either statically or dynamically:
● Static Composition: Services are predefined and organized in a fixed manner.
● Dynamic Composition: Services are composed incrementally, allowing for more
flexibility and adaptation to changing requirements.
Conclusion
The service provision lifecycle in ubiquitous computing ensures that services are effectively
managed from creation to dissolution. Each phase involves specific activities that ensure
services are discovered, configured, executed, maintained, and ultimately dissolved in a
manner that adapts to the dynamic and often resource-constrained environments typical of
ubiquitous computing. This lifecycle management is crucial for providing seamless and
efficient services to users across a variety of devices and networks.
Module-3
Hidden UI via Basic Smart Devices
In modern computing, traditional WIMP (Windows, Icons, Menus, Pointer) interfaces are
considered obtrusive and require continuous user attention and cognitive effort. To create
more seamless and natural user experiences, hidden user interfaces (UIs) are being
developed. These UIs leverage various sensory and multimodal inputs to interact with users
more intuitively.
Key Concepts in Hidden UIs
1. Natural Interfaces
○ Gestures, Senses, Speech: Natural interfaces use human-like interaction
methods such as gestures, sensory inputs, and speech, which feel more
intuitive compared to traditional interfaces.
2. Multimodal Interfaces
○ Definition: These interfaces utilize multiple human senses for interaction.
○ Examples of Modalities:
■ Visual: Cameras, vision-based systems.
■ Touch: Touchscreens, tactile sensors.
■ Auditory: Microphones, auditory feedback systems.
■ Chemical: Sensors detecting chemical changes.
○ Human Interaction: Multimodal interfaces aim to mimic natural human
interaction, which inherently involves multiple senses.
3. Gesture Interfaces
○ Types of Gestures:
■ Contactful: Gestures that require physical contact, such as using a
touchscreen.
■ Contactless: Gestures that do not require physical contact, such as
waving.
○ Technology Used:
■ Wearable Devices: Gloves, body attachments with sensors like
accelerometers and gyroscopes.
■ Magnetic Trackers: Devices that track movement using magnetic
fields.
■ Computer Vision: Techniques that use cameras to interpret gestures.
○ Examples: Sony’s EyeToy, modern devices with gyroscopes.
Display Technologies in Hidden UIs
1. Reflective vs. Active Displays
○ Reflective Displays:
■ E-Books: Lightweight, thin, and long-lasting devices that use
touchscreens.
■ Advantages: Readable in sunlight, low energy consumption, readable
from any direction.
■ Technology: Electrophoretic Displays (EPD), which use charged
particles suspended in a solvent.
○ Active Displays:
■ Examples: OLED displays.
■ Advantages: Good resolution, wider viewing angles, improved
brightness, power efficiency.
■ Applications: Devices like the Samsung Galaxy Note Edge, LG G
Flex.
2. Combining I/O Interfaces
○ Touchscreens: Resistive vs. capacitive touchscreens.
○ Tangible User Interface (TUI):
■ Definition: Interfaces that connect digital information to physical
objects and environments.
■ Examples: Ambient Wood, DataTiles.
○ Organic Interfaces:
■ Definition: Interfaces that resemble natural human-to-human
interaction.
■ Technology: Organic Light Emitting Diode (OLED) displays, which are
lightweight, flexible, and power-efficient.
Auditory Interfaces
1. Definition: Interfaces that primarily or exclusively use audio for interaction.
2. Examples:
○ Natural Language Interfaces: Systems that use speech recognition and
synthesis.
○ Hands-free Systems: Automobile navigational systems that rely on voice
commands.
○ Interactive Voice Response (IVR) Systems: Automated systems used for
tasks like customer service and payment centers.
3. Advantages:
○ Accessibility: Especially useful for visually impaired users.
○ Convenience: Allows hands-free interaction.
4. Challenges:
○ Noise Removal: Ensuring clear audio input in noisy environments.
○ Command Ambiguity: Dealing with the potential for misunderstood
commands.
Summary
Hidden user interfaces in smart devices aim to create more natural, intuitive, and
unobtrusive ways for users to interact with technology. By leveraging multimodal inputs such
as gestures, touch, auditory signals, and advanced display technologies, these interfaces
minimize cognitive load and provide a seamless user experience. As technology evolves, the
integration of these advanced UIs will continue to improve, making interactions with smart
devices more fluid and human-like.