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.