Download presentation
Presentation is loading. Please wait.
1
Mobile and Ubiquitous Computing
Distributed Systems Topic 9: Mobile and Ubiquitous Computing Dr. Michael R. Lyu Computer Science & Engineering Department The Chinese University of Hong Kong In this topic, we will present the main topics under mobile and ubiquitous computing technologies, which have come about due to advances in device miniaturization and wireless connectivity. Mobile computing is concerned with exploiting the connectedness of portable devices Ubiquitous computing is about exploiting the increasing integration of computing devices with out everyday physical world
2
Outline Overview Association Interoperation
Sensing and Context-Awareness Summary
3
Background Mobile computing Ubiquitous Computing
People traveling with their computers while retaining connected to other machines or the Internet Exploit the connectedness of devices that move around in the everyday physical world Ubiquitous Computing Also known as “Pervasive Computing” Means “to be found everywhere” Exploiting the increasing integration of computing devices with our everyday physical world Mobile computing arose as a paradigm in which users could carry their personal computers and retain some connectivity to other machines. Broadly speaking, mobile computing is concerned with exploiting the connectedness of devices that move around in the everyday physical world. Ubiquitous computing sometimes also known as “pervasive computing”, which means “to be found everywhere”. Ubiquitous computing is about exploiting the increasing integration of computing devices with our everyday physical world.
4
Background: Computing Evolution
5
Ubiquitous Computing Era
6
1 Overview The ubiquitous computing vision (Mark Weiser, 1993)
“Ubiquitous computing enhances computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user.” The purpose of a computer is to help you do something else The best computer is a quiet, invisible servant Physically invisible – hidden Mentally invisible – not centers of attention The more you can do by intuition the smarter you are The computer should extend your unconscious Technology should create calm
7
1 Overview IBM’s definition of Pervasive Computing
“Convenient access, through a new class of appliances, to relevant information with the ability to easily take action on it when and where you need to.” Numerous, casually accessible, often invisible computing devices Frequently mobile or embedded in the environment The aim is for easier computing, more available everywhere when it's needed Q: What is Mobile and Ubiquitous computing? A: Convenient access, through a new class of appliances, to relevant information with the ability to easily take action on it when and where you need to.” (IBM’s definition of Pervasive Computing). Q: Why Mobile and Ubiquitous computing? A: The aim is for easier computing, more available everywhere when it's needed. The increasing “availability” of processing power would be accompanied by its decreasing “visibility”
8
1.1 Introduction: Characteristics
Ubiquitous/Pervasive computing characteristics Physical Integration integration between computing nodes and the physical world Instantaneous Interoperation devices interoperate spontaneously in changing environments A pervasive (ubiquitous) system is characterized by: Physical integration: integration between computing nodes and the physical world, e.g., a whiteboard that records what’s on Instantaneous Interoperation: devices interoperate spontaneously in changing environments, e.g., a device changes its partners as it moves or as the context changes
9
1.1 Introduction: Time Are Changing
In 19th century, energy triggered the industrial revolution Decentralizing energy In 20th century, computing power triggered another economic revolution Decentralizing computer power Entering 21st century, Internet is a worldwide network for everyone Decentralizing connectivity The industrial revolution of 19th century was a result of the steam engine, which was developed by James Watt. Energy triggered the industrial revolution. The invention of combustion engine and electric motor introduced the second phase of industrialization. Engines and machines are now decentralized. During the second half of the 20th century, computers started their impact on the economy. Like the steam-engines, computer design their existences as huge and mysterious black boxes. But, very much like the 2nd phase of the industrialization a 100 years ago, we can today observe a distinct move towards decentralizing information technology. The Internet has turned out to become the standard communication platform. The decentralization of computing power continues. Beyond the era of personal computing, the era of Pervasive Computing begins. Everywhere at anytime: Ubiquitous Computing
10
1.1 Introduction: Major Trends in Computing
number size mainframe era home phone party line One Computer/Phone for many people Ubiquitous computing Many Computers/Phones for everyone One Computer/Phone for everyone PC era cell phone era Mainframe era: many share a computer PC era: one computer, one person Internet - widespread distributed computing a transition Ubiquitous computing: many computers share each of us Note: Smart phone sales on 2011 totaled million units, exceeding PC’s (including tablets and laptops, and desktops) million units
11
1.1 Introduction: The Relationships
Ubiquitous Computing Distributed Computing Mobile Computing Mobile networks Mobile information access Adaptive applications Energy-aware systems Location sensitivity Context-awareness Ad-hoc networks Smart sensors and devices Invisibility Mobile computing was born in the early 1990’s with the advent of full-function laptop computers and wireless LANs. By 2000, mobile computing research began to touch upon issues that we now identify as the purview of pervasive computing. The founding manifesto of pervasive computing, also known as ubiquitous computing, was a seminal 1991 paper entitled “The Computer for the 21st Century” by Mark Weiser of Xerox PARC.
12
1.1 Introduction: Where Do We Currently Stand?
Ubiquitous devices (always “at hand”) Tab: accompanied or wearable centimeter sized devices e.g., smartphones, smart cards Pad: hand-held decimeter-sized devices e.g., laptops Board: meter sized interactive display devices e.g., horizontal surface computers and vertical smart boards
13
1.1 Introduction: Where Do We Currently Stand?
Ubiquitous networks (always available) (W)LAN/MAN Ethernet, IEEE PAN (Personal Area Network) Bluetooth, BLE, IrDA, NFC, etc. GSM/GPRS/3G/4G/5G Ubiquitous services Currently mostly “location-based” PAN: Personal Area Network BLE: Bluetooth Light IrDA: Infrared Data Association
14
1.2 Volatile System A common model for mobile and ubiquitous computing
Certain changes are common rather than exceptional Relevant forms of volatility include Failures of devices and communication links Changes in the characteristics of communication such as bandwidth The creation and destruction of association between software components resident on the devices association: logical communication relationships From the point of view of distributed systems, there is no essential difference between mobile and ubiquitous computing We give a model of what we shall call volatile systems that encompasses the essential distributed systems features among the field of mobile and ubiquitous computing Volatile systems: certain changes are common rather than exceptional The set of users, hardware, and software in mobile and ubiquitous systems is highly dynamic and changes unpredictably Volatile systems encompasses the essential distributed systems features among the field of mobile and ubiquitous computing Relevant forms of volatility include: Failures of devices and communication links Changes in the characteristics of communication such as bandwidth The creation and destruction of association - logical communication relationships - between software components resident on the devices
15
1.2.1 Volatility: Smart Spaces
Physical spaces Form background for mobile/ubiquitous computing Smart spaces: environments within which volatile systems are presented Physical space where embedded services Wild, open space without infrastructure Such as environmental monitoring Or relatively stable computing infrastructure Such as room, building, town square, or train carriage Mobility takes place between physical spaces; ubiquitous computing is embedded in physical spaces A smart space is any physical place with embedded services – that is, services provided only or principally within that physical space. It is possible to introduce computing devices into the wild, where no infrastructure exists, to perform an application such as environmental monitoring. Or they may exist in a computationally enhanced part of the built or vehicular environment such as a room, building, town square or train carriage.
16
1.2.1 Smart Spaces Movement into and out of smart spaces
Physical mobility Smart spaces act as environments for devices to visit and leave Logical mobility process or agent may move in or out of a smart space or a personal device There are several types of movements or “appearance and disappearance” that can occur in smart spaces. First, there is physical mobility. Smart spaces act as environments for devices that visit and leave them. Users bring in and depart with devices they carry or wear; robotic devices may even move themselves into and out of the space. Second, there is logical mobility. A mobile process or agent may move into or out of a smart space, or to or from a user’s personal device. Also, a device’s physical movement may cause the logical movement of the components within it.
17
1.2.2 Volatility: Device Model
New class of computing device Limited energy Smaller and lighter device has lower battery capability Resource constraints Limited processor speed, storage capability and network bandwidth Sensors and actuators Sensors: devices that measure physical parameters Actuators: software-controllable devices that affect the physical world A class of mobile and ubiquitous device is limited in its physical world: sensors such as light detectors, and/or actuators such as a programmable means of movements. The smaller and lighter the device needs to be, the lower will be its battery capability. Mobile and ubiquitous devices have limited computational resources in terms of processor speed, storage capability and network bandwidth. Sensors are devices that measure physical parameters and supply their values to software. Actuators are software-controllable devices that affect the physical world.
18
1.2.2 Device Examples Motes Devices intended for autonomous operations such as environment sensing. Motes ( are devices intended for autonomous operation in applications such as environment sensing.
19
1.2.2 Device Examples Smart phone
A mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a feature phone A feature phone is a mobile phone which at the time of manufacture is not considered to be a smartphone, but nevertheless has additional functions over and above standard mobile services. Feature phones is the term generally used to describe low-end devices, while smartphone is used to describe high-end devices, though there is no official definition to distinguish the two categories Smart phones often contain high-resolution touchscreens Web browsers high-speed data access via Wi-Fi and mobile broadband Sensing devices, such as cameras, GPS navigation units
20
1.2.3 Volatility: Volatile Connectivity
Wireless connection technologies e.g. Bluetooth, WiFi, 3G, 4G, etc. Vary in their nominal bandwidth and latency, and communication costs Volatility of connectivity Variability at runtime of the state of connection or disconnection between devices The QoS between devices Wireless connection technologies (e.g. bluetooth, WiFi, 3G, 4G etc.) vary in their nominal bandwidth and latency, and communication costs. Volatility of connectivity is the variability at runtime of the state of connection or disconnection between devices, and the QoS between them. Wireless disconnections are far more likely than wired disconnections. Mobile devices may exceed their operating distance from other devices or encounter radio occlusions between them, e.g. from buildings.
21
1.2.4 Volatility: Spontaneous Interoperation
Association Logical relationship formed when at least one of a given pair of components communicates with the other over some well-defined period of time Association is distinct from (physical) connectivity Interoperation The interactions during the association We use the term association for logical relationship formed when at least one of a given pair of components communicates with the other over some well-defined period of time. Note that association is distinct from connectivity: two components (e.g. an client on a laptop and an server) may be currently disconnected while they remain associated. Interoperation for their interactions during their association.
22
1.2.4 Examples of Pre-configured versus Spontaneous Association
Service-driven: client and server Human-driven: web browser and web servers Data-driven: P2P file-sharing applications Physically-driven: mobile and ubiquitous systems The above figure shows examples of three types of spontaneous association (on the right), as compared with the pre-configured associations (on the left). Pre-configured associations are service-driven: that is, clients have a long-term need to use a specific service, and so they are pre-configured to be associated with it. On the right-hand side of the figure are types of association that vary routinely, driven by a human operator, by the need for specific data, or by changing physical circumstances.
23
1.3 New Services with Ubiquitous Computing
Services are an important counterpart to technology New services increase the value for the user Examples: Ubiquitous Systems Ubiquitous Healthcare Smart Homes Ubiquitous City Services are an important counterpart to technology. They are crucial for the benefit and value of an application. Pervasive computing devices like PDAs, smart phones, or set-top boxes function as the delivery point of services offerings. With new devices and applications new kinds of services arise, helping us to increase the value for the user.
24
1.3.1 Ubiquitous Systems
25
1.3.2 Ubiquitous Healthcare
26
1.3.3 Smart Homes
27
1.3.4 Ubiquitous City
28
2 Association Volatile components need to interoperate
A device appearing in a smart space need to bootstrap itself in the network to enable communication Preferably without user intervention Network bootstrapping Communication takes place over a local network The device must first acquire an address on the local network or register a name Association Components on the device either associate to services in the smart space or provide services to components elsewhere in the smart space, or both Volatile components need to interoperate preferably without user intervention. In other words, a devices that appears in a smart space needs to be able to bootstrap itself on the location network to enable communication with other devices, and associate appropriately in the smart space: Network bootstrapping. Typically, communication takes place over a local network. The device must first acquire an address on the local network(or register a pre-existing address such as a mobile IP address); it may also acquire or register a name. Association. Components on the device either associate to services in the smart space or provide services to components elsewhere in the smart space, or both.
29
2 Association Association problem
How to associate appropriately within a smart space? Solutions should address two main aspects Scale: efficiently choosing interoperating components Scope: constrain the association within the smart space Boundary principle Smart spaces need to have system boundaries that correspond accurately to meaningful spaces as they are normally defined territorially and administratively Once a device can communication in a smart space, it faces the association problem: how to associate appropriately within it. Solutions to the association problem must address two main aspects: Scale - tens or even hundreds of devices per cubic meter within the smart space, how can the choice be made efficiently? Scope - how can we constrain the scope when solving that problem? The boundary principle is that smart spaces need to have system boundaries that correspond accurately as they are normally defined territorially and administratively.
30
2.1 Discovery Services One attempt at solving the association problem
A discovery service is a directory service in which services in a smart space are registered and looked up by their attributes Takes account of volatile system properties The directory data is dynamically determined as a function of the client’s context No infrastructure to host a directory server Services in the directory may spontaneously disappear Need to be sensitive to the energy and bandwidth One attempt at a solution to the association problem is to use a discovery service. Clients find out about the services provided in a smart space using a discovery service. A discovery service is a directory service in which services in a smart space are registered and looked up by their attributes. It takes account of volatile system properties. First, the directory data required by a particular client is determined at run time. The directory data is dynamically determined as a function of the client’s context – the particular smart space where the queries take place Second, there may be no infrastructure in the smart space to host a directory server. Third, services registered in the directory may spontaneously disappear. Fourth, the protocol used for accessing the directory need to be sensitive to the energy and bandwidth they consume.
31
2.1 Major Components in Service Discovery Protocols
Service and attribute naming 1 Template-based Template-based and predefined A client searches a service by specifying a service name and attributes Many discovery protocols use a template-based approach to naming Several protocols offer a predefined set of common attributes and frequently used service names In the discovery process, a client searches a service by specifying a service name and attributes. This approach has much lower administrative overhead than traditional network service access, which requires prior knowledge of a service’s existence and manual inputs such as computer name In addition to template-based naming, several protocols offer a predefined set of common attributes and frequently used service names. This eliminates ambiguity regarding names and attributes when clients, services, and directories interact.
32
2.1 Major Components in Service Discovery Protocols
Initial communication method 2 Unicast Multicast Broadcast Unicast is the most efficient initial communication method Requiring to configure network addresses with prior knowledge User Datagram Protocol multicast Only need to set a few multicast addresses initially Broadcast Usually limited within a single hop of wired or wireless networks Unicast is the most efficient initial communication method among clients, services, and directories because it involves only related parties. Its drawback is a requirement to configure network addresses with prior knowledge User Datagram Protocol multicast. After clients, services, and directories receive a few UDP multicast messages, they determine unicast addresses dynamically and switch communications to unicast. Broadcast has the same advantage as multicast, but it is usually limited within a single hop of wired or wireless networks.
33
2.1 Major Components in Service Discovery Protocols
Discovery and registration 3 Query-based Announcement-based Clients, services, and directories have two basic options for exchanging discovery and registration information Query-based A party receives an immediate response to a query and doesn’t need to process unrelated announcements Announcement-based Interested parties listen on a channel. When a service announces its availability and information, all parties hear the information. Clients, services, and directories have two basic options for exchanging discovery and registration information. Many protocols support both approaches. In the announcement-based approach, interested parties listen on a channel. When a service announces its availability and information, all parties hear the information. So in this approach, a client might learn that the service exists and a directory might register the service’s information. In the query-based approach, a party receives an immediate response to a query and doesn’t need to process unrelated announcements. Multiple queries asking for the same information are answered separately.
34
2.1 Major Components in Service Discovery Protocols
Service discovery infrastructure 4 Directory-based Nondirectory-based The directory-based model has a dedicated component: a directory Flat directory structure Tree-like hierarchical directory structure The nondirectory-based model has no dedicated component. When a query arrives, every service processes it If the service matches the query, it replies The directory-based model has a dedicated component: a directory that maintains service information and processes queries and announcements. In a flat directory structure, directories have peer-to-peer relationships. A tree-like hierarchical directory structure. The nondirectory-based model has no dedicated component. When a query arrives, every service processes it. If the service matches the query, it replies. When hearing a service announcement, a client can record service information for future use. The nondirectory-based model is suitable for simple environments such as individual homes where the services are relatively few. The directory-based model is more suitable for environments with hundreds or thousands of services, where a directory can process client queries more efficiently.
35
2.1 Major Components in Service Discovery Protocols
Discovery scope 5 Network topology User role Context Network topology Some protocols use LANs as the default, while others use a single-hop wireless network range User role Support administrative domains as a discovery scope Reflect an ambient environment according to a user’s roles Context High-level context information such as temporal, spatial, and user activity information Proper discovery scopes minimize unnecessary computation on clients, services, and directories In network topology-based discovery scopes, some protocols use LANs as the default, while others use a single-hop wireless network range. An implicit assumption is that the clients, services, and directories are in a place that belongs to the same administrative domain. Many service discovery protocols support administrative domains as a discovery scope. Users either authenticate with a domain or supply the designated domain as an attribute. This lets users control the target domain, but it requires them to have prior knowledge of the target service and its domain. A fine-grained implementation of this approach should reflect an ambient environment according to a user’s roles instead of reflecting the same augmented environment to all users. High-level context information such as temporal, spatial, and user activity information can also help define the discovery scope. Proper use of context information will save users time and effort in discovering services. However, few protocols integrate context information in simple forms.
36
2.1 Major Components in Service Discovery Protocols
Service usage 6 Explicitly released Lease-based In some service discovery protocols, a client must explicitly release a service’s resources once service usage is granted Lease-based mechanism A client and a service negotiate a service usage period, which the client can later cancel or renew In some service discovery protocols, a client must explicitly release a service’s resources once service usage is granted. Jini uses a lease-based mechanism. A client and a service negotiate a service usage period, which the client can later cancel or renew. Thus, the client and service know that resources will be reclaimed when leases expire. Information is deleted after leases expire so that services won’t accumulate stale information, which can occur in traditional distributed systems when a client crashes. Therefore, lease-based service usage handles dynamic conditions better in pervasive computing environments.
37
2.1 Sample Interface to a Discovery Service
Methods for service de/registration Explanation lease := register(address, attributes) Register the service at the given address with the given attributes; a lease is returned refresh(lease) Refresh the lease returned at registration deregister(lease) Remove the service record registered under the given lease Method invoked to look up a service serviceSet := query(attributeSpecification) Return a set of registered services whose attributes match the given specification A discovery service has an interface for automatically registering and de-registering the services that are available for association, as well as an interface for clients to look up services from those that are currently available, so as to go on to associate with an appropriate service. The above figure gives a fictitious, simplified example of those interfaces. First, there are calls to register a service’s availability with given address and attributes, and to manage its registration subsequently. Then there is a call to look up the services that match a specification of required attributes.
38
2.1 Service Discovery in Practice
Jini’s discovery protocol admin Printing 1. ‘finance’ lookup service Client service admin Client Lookup service 2. Here I am: ..... Jini [Waldo 1999; Arnold et al. 1999] is a service discovery system designed to be used for mobile and ubiquitous systems. It is entirely Java-based. The above figure shows the Jini services and Jini clients. The lookup service allows Jini services to register the services they offer, and Jini clients to request services that match their requirements. The client requires a lookup service in the ‘finance’ group with a multicast request (1). Only one lookup service is bound to the ‘finance’ group, and that service responds (2). The lookup service’s response includes its address, and the client communicates directly with it by RMI to locates all services of type ‘printing’ (3). Only one printing service has registered with lookup service under ‘finance’ group. The client uses the printing service directly using the returned object (4). Another printing service is under the ‘admin’ group. There is also a corporate information service that is not bound to any particular group. 4. Use printing service Network 3. Request ‘printing’ Lookup Corporate Printing service info service service finance admin, finance
39
2.1 Service Discovery in Practice
Bluetooth Bluetooth is a short-range RF-based (non-IP-based) communication technology Discoverability is based on actual physical proximity, rather than closeness in the IP routing infrastructure Separates device discovery from the discovery of services on a given device Higher level: Bluetooth Service Discovery Protocol Lower level: Link Manager Protocol and Logical Link Control and Adaptation Protocol Bluetooth uses a non-IP-based discovery protocol This is because short range radio has unique needs. In particular, the need for maximum communication efficiency dictates certain optimizations that an IP-based system might not need. Also, because Bluetooth communication is peer-to-peer, it doesn’t assume a fixed network infrastructure. Thus, discoverability is based on actual physical proximity, rather than closeness in the IP routing infrastructure. Bluetooth discovery operates at two distinct layers of the network stack. At the higher layer, the Bluetooth Service Discovery Protocol defines a set of primitives for learning about the services available on a given device. Clients find SDP-capable devices by using the lower level Link Manager Protocol and Logical Link Control and Adaptation Protocol. In effect, Bluetooth separates device discovery from the discovery of services on a given device.
40
2.2 Physical Association Shortcomings of network discovery service systems The use of subnet (a poor approximation to a smart space) Inadequacies in the way services are described The shortcomings of network discovery systems can be solved to some extent using physical means Solutions often require human involvement (the next slide) Network discovery services arise two difficulties: the use of a subnet, and inadequacies in the way services are described. Subnet may be a poor approximation to a smart space. E.g. network discovery may be mistakenly include services that are not in the smart space. Consider the RF signal in a hotel room can penetrate the walls to other guests’ rooms. Inadequacies in the way services are described. E.g. Slight variations in the service-description vocabulary could cause it to fail. The shortcomings of network discovery systems can be solved to some extent using physical means, although the solutions often require human involvement. The following techniques have been developed
41
2.2 Techniques on Physical Association
Human input to scope discovery Sensing and physically constrained channels to scope discovery (e.g., GPS) Direct association Address-sensing Physical stimulus Temporal or physical correlation Techniques on physical association: Human input to scope discovery: The case is where a human provides input to the devices to set the scope of discovery Sensing and physically constrained channels to scope discovery: A less laborious possibility is for the user to employ a sensor on their device Sensing: e.g., identifier-encoding symbols, or GPS Direct association: human to use a physical mechanism to directly associate two devices, without using a discovery services. Address-sensing: using one device to sense the network address of the target device directly Physical stimulus: using physical stimulus to cause the target device to send its address Temporal or physical correlation: using temporally or physically correlated stimuli to associate devices
42
2.3 Service Composition Combining existing services to create new pervasive computing services A frequently emphasized feature of ubiquitous computing is the ad hoc, seamless composition of services from various devices A frequently emphasized feature of ubiquitous computing is the ad hoc, seamless composition of services from various devices For instance, a mobile worker might want to compose or recompose a set of services so a display service on a GPS device can temporarily replace a broken display on an otherwise functional cell phone
43
2.3 The Goals of Service Composition in Ubiquitous Computing
Context-awareness Sensitive to context changes Managing contingencies Devices—and thus services—often have unpredictable availability Leveraging heterogeneous devices Ubiquitous computing systems use a variety of devices Empowering users Users might compose or recompose applications according to their preferences The first is context awareness. A composition is context aware if it’s sensitive to context changes, its constituent services are sensitive to context changes, or the set of composed services varies with context changes—for example, a print service that’s selected on the basis of the location of its printer. The second goal is managing contingencies. In a pervasive computing environment, devices—and thus services—often have unpredictable availability. As a result, a service in a given composition might become unavailable and need replacement The third goal is leveraging heterogeneous devices. Pervasive computing systems use a variety of devices, from Internet servers to networked sensors and actuators. The available computation, storage, and communication resources vary from device to device. The middleware and information models that devices are built with and rely on might also differ and hinder interoperability. The fourth goal is empowering users. Pervasive computing applications require new interaction models because document-centric, desktop-based computer interfaces are often unavailable or impractical. Instead, the applications might include service compositions that support particular tasks; users might compose or recompose these compositions according to their preferences.
44
3. Interoperation How two or more components interoperate?
Communication protocols Programming models Software interface compatibility Allow interfaces to be heterogeneous, but adapt interfaces to one another (this approach is difficult) Constrain interfaces to be identical in syntax across as wide a class of components as possible (as much as possible) UNIX pipe, HTTP methods: GET, POST, … We have described ways in which two or more components in a volatile system come to be associated and now turn to the question of how they interoperate. This includes how they use protocols to communicate and, at a higher level, what programming model is best suited for intersection between them. The main difficulty that stands in the way of volatile interoperation in software interface compatibility. There are two main approaches to this problem. The first is to allow interfaces to be heterogeneous, but to adapt interfaces to one another. However, it is very hard to realize this approach. Another approach to interoperability is to constrain interfaces to be identical in syntax across as wide a class of components as possible. That may sound unrealistic at first, but in fact it has been widely and successfully practiced for several decades -E.g. Unix pipe: two operations (read and write) -HTTP methods: GET, POST
45
Communication mechanisms
3. Interoperation Three different support levels Application contexts Specific to an application domain Communication mechanisms At the first level, protocols provide only network addresses—that is, service location At the second level, in addition to service location, a protocol defines the underlying communication mechanisms—Remote Procedure Call and its variations. For example, Jini uses Remote Method Invocation and downloadable Java code. UPnP’s communication mechanism is based on XML, SOAP, and HTTP. The third level is application operations specific to an application domain in addition to the communication mechanism and service location Remote Procedure Call and its variations Service location network addresses
46
3.1 Data-Oriented Programming for Volatile Systems
Data-oriented (or content-oriented) Systems that use an unvarying service interface such as UNIX pipes and the Web Enforce compatibility Through standardized data-type descriptors supplied as metadata Or by checking the data values We shall call systems that use an unvarying service interface, such as UNIX pipes and the Web, data-oriented (or content-oriented). The term is chosen in distinction to object-oriented. A component in a data-oriented system can be invoked by any other components that know the fixed interface. A data-oriented component can enforce compatibility only be verifying the type of data that is sent to it. It must either do that through standardized data-type descriptors supplied as metadata (such as MIME types for web content), or by checking the data values passed to it (such as JPEG data begins with recognizable header information)
47
3.1 Data-Oriented Programming for Volatile Systems
Two programming models for interoperation between indirectly associated components Event systems Publishers publish events to subscribers Tuple spaces Fixed, generic interface to add and retrieve structured data called tuples Example – camera software/hotel picture frame We examine two programming models for interoperation between indirectly associated components: event systems and tuple spaces. Events are a natural programming paradigm for announcing and handling the changes experienced by components while they are in a volatile or when they move between volatile systems. (p. 853 and p. 258) Tuple spaces are also a mature programming paradigm that has found application in volatile system. Components use a fixed, generic interface to add and retrieve structured data called tuples to and from a tuple space. Tuple space systems allow application-specific tuples to be exchanged, and the basis for association and interoperation is the components’ agreement about structures for tuples and values contained within them. (p. 854 and p. 281)
48
3.2 Indirect Associations and Soft State
System volatility makes it undesirable to rely on a service provided by a particular component since that component could leave or fail at any time Some of the examples of data-oriented programming systems involved indirect, anonymous association Components that interoperate via an event system or tuple space do not necessarily know one another’s names or addresses As long as the event service or the tuple space persist, the individual components can come and go and be replaced In general, system volatility makes it undesirable to rely on a service provided by a particular component since that component could leave or fail at any time. Some of the above examples of data-oriented programming systems involved indirect, anonymous association. Specifically, components that interoperate via an event system or tuple space do not necessarily know one another’s names or addresses. As long as the event service or the tuple space persist, the individual components can come and go and be replaced. How are programmers supposed to manage state in a volatile system? (p. 859) The definition of soft state has been the subject of debate, but broadly speaking it is data that provides a hint (that is, it might be stale and should not be relied upon for its strict currency) and, most importantly, the sources of soft state automatically update it. Some discovery systems exemplify the use of soft state to manage the collection of service registration entries.
49
4 Sensing and Context-Awareness
Processing data collected from sensors Context-aware systems respond to sensed physical surroundings What is context? By example Location, time, temperature, the identity of an associated users, the presence and state of an object, etc. By synonym Situation, environment, circumstance By definition The context of an entity (person, place, or thing) is an aspect of its physical circumstances of relevance to system behavior Mobile and ubiquitous systems can be integrated with the physical world. We will consider architectures for processing data collected from sensors, and context-aware systems that can respond to their (sensed) physical circumstances. The context of an entity (person, place, or thing) is an aspect of its physical circumstances of relevance to system behavior. That includes relatively simple values such as the location, time, temperature, the identity of an associated users, the presence and state of an object, etc.
50
Context understanding Context-aware behavior
4.1 Context-Awareness A key concept in ubiquitous computing: deal with linking changes in the environment (physical world) with computing systems Acquisition of context Abstraction and understanding of context Application behavior based on the recognized context Build intelligence about physical world in computing systems A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task. Context aware application: is one which can capture the context assign meaning to it change behavior accordingly Context acquisition Context understanding Context-aware behavior Computing systems Environment Users
51
4.2 Sensing Architectures
Four functional challenges to be overcome in designing context-aware systems Integration of idiosyncratic (peculiar) sensors Specialized knowledge to correctly deploy sensors in the physical scenario of interest Abstracting from sensor data Agreement on the meaning of contextual attributes, and software to infer those attributes from raw sensor values Sensor output may need to be combined Require output from sensors of different types in order to gather several contextual attributes that it needs to operate Context is dynamic Response to changes in context, and not simply to read a snapshot Salber et al. [1999] identify four functional challenges to be overcome in designing context-aware systems: Integration of idiosyncratic sensors: specialized knowledge may be needed to correctly deploy sensors in the physical scenario of interest. Abstracting from sensor data: there needs to be agreement on the meaning of contextual attributes, and software to infer those attributes from raw sensor values. Sensor output may need to be combined: an application may require output from sensors of different types in order to gather several contextual attributes that it needs to operate. Context is dynamic: a context-aware application typically needs to respond to changes in context, and not simply to read a snapshot of it.
52
4.2 A General Context-Aware Application: The Context Toolkit
The IdentityPresence Widget Class Attributes (accessible by polling) Explanation Location Location the widget is monitoring Identity ID of the last user sensed Timestamp Time of the last arrival Callbacks The context toolkit [Salber et al. 1999] is an examples of system architecture for more general context-aware applications than those based around a specific technology such as active badges. (p. 863) The above figure shows the interface to an IdentityPresence widget. It provides contextual attributes to software polling the widget and it also raises callbacks when the contextual information changes (a user arrives or leaves). PersonArrives(location, identity, timestamp) Triggered when a user arrives PersonLeaves(location, identity, timestamp) Triggered when a user leaves
53
4.2 A General Context-Aware Application: The Context Toolkit
A PersonFinder widget constructed using IdentityPresence widgets In this figure, a PersonFinder widget for a building could be constructed from the IdentityPresence widgets from each room in the building IdentityPresence widget interact with several different types of sensors Floor pressure sensors (from floor pressure readings) Face recognition (from video capture) Video recognition Footstep recognition The PersonFinder widget encapsulates the complexity of a building for the application writer. Sensor data is sent back to IdentityPresence and then back to the PersonFinder without specific knowledge of the different sensors
54
4.2 Wireless Sensor Networks
Large number of small, low-cost devices or nodes Each with facilities for sensing, computing and wireless communications Two main design requirements Energy conservation Continuous operation despite volatility Three main architectural features In-network processing Disruption-tolerant networking Data-oriented programming models (e.g., directed diffusion) A wireless sensor network consists of a (typically large) number of small, low-cost devices or nodes, each with facilities for sensing, computing and wireless communications. It is a special case of an ad hoc networks: the nodes are physically arranged more or less randomly, but they can communicate over multiple wireless hops between their peers. Two main design requirements: energy conservation and continuous operation despite volatility. Those two factors lead to three main architectural features: in-network processing, disruption-tolerant networking, and data-oriented programming models. Details can be seen in textbook (p. 864).
55
4.2 Directed Diffusion Diffusion: propagate interests from a sink through the network Programmer specifies interests of events Source node: a node that matches an interest A. Interest propagation source sink B. Gradients set up source sink C. Data delivery source sink Directed diffusion is one data-oriented technique developed for applications of sensor networks. In directed diffusion [Heidemann et al. 2001], the programmer specifies interests, which are declarations of tasks injected into the system at certain nodes called sinks. The runtime system propagates interests from the sink through network in a process called diffusion (Figure A). The flow of data back from source to sink is controlled by gradients, which are (direction, value) pairs between nodes that are set up for each particular interest as it diffuses through the network (Figure B). The system can apply various strategies for choosing among them, including using paths redundantly in case of failure, or applying heuristics to find a path of minimum length (Figure C).
56
4.3 Location-Sensing Location is an obvious parameter for mobile, context-aware computing It is natural to make applications and devices behave in a way that depends on where the user is, such as the context-aware phone Location-sensing systems Designed to obtain data about the position of entities (objects and humans) within some type of region of interest E.g., Location sensing with scene analysis Location is an obvious parameter for mobile, context-aware computing. It seems natural to make applications and devices behave in a way that depends on where the user is, such as the context-aware phone. Location-sensing systems are designed to obtain data about the position of entities (objects and humans) within some type of region of interest. Example: Starbuck Coffee can deliver to mobile users who request for coffee from nearby shops.
57
4.3 More Location-Sensing Technologies
a) Proximity: within a small distance from device b) Trilateration: distance measurements to device c) Triangulation: angels relative to device (a) (b) (c) This figure shows some types of location technologies, and some of their principle characteristics. (p.869) Active Badges are a specialized form of Automatic Identification Tags.
58
4.3 Some Location-Sensing Technologies
Type Mechanism Limitations Accuracy Type of location data Privacy GPS Multilateration from satellite radio sources Outdoors only (satellite visibility) 1–10m Absolute geographic coordinates (latitude, longitude, altitude) Yes Radio Beaconing Broadcasts from wireless base stations (GSM, 802.11, Bluetooth) Areas with wireless coverage 10m–1km Proximity to known entity (usually semantic) Active Bat from radio and ultrasound Ceiling sensors 10cm Relative (room) coordinates. Bat identity disclosed Ultra Wide Band from reception of radio pulses Receiver in stallations 15cm coordinates Tag identity Active Badge Infrared sensing Sunlight or fluorescent light Room size identity Automatic Identification Tag RFID, Near Field Communication, Visual tag (e.g. barcode) Reader installations 1cm–10m Easy Living Vision, triangulation Camera Variable No mounted This figure shows some types of location technologies, and some of their principle characteristics. (p.869) Active Badges are a specialized form of Automatic Identification Tags.
59
4.3 Locating an Active Bat within a Room
1. Base station sends timing signal to ultrasound receivers and radio signal to bat simultaneously 3. Ultrasound receivers 4. Base station computes distances report times of flight of to ultrasound receivers from ultrasound pulse times of flight, and thus position 2. Active bat of bat emits ultrasound signal on receipt of radio signal Active Bat system [Harter et al. 2002] was designed to produce an object’s or human’s location indoors, in relative coordinates-that is, with respect to the room that contains the object. A Active Bat system is accurate to about 10cm. A bat is a device attached to a user or object whose location is to be found, and which receives radio signals and emits ultrasound signals. The system relies on a grid of ultrasound receivers at known locations in the ceiling, wired to a base station. (p. 870)
60
4.4 Modern Sensors for Contextual Values
Sensors are combinations of hardware and/or software used to measure contextual values Location, velocity and orientation GPS Accelerometer, gyroscope Digital compass Ambient (surrounding, encompassing) conditions Microphone Camera, ambient light sensor Proximity sensor Barometer, humidity sensor, thermometer Presence Devices that read electronic identifiers on tags brought near to them Infrared readers used to sense active badges The determination of a contextual value begins with sensors, which are combinations of hardware and/or software used to measure contextual values. Some examples are: Location, velocity and orientation: satellite navigation (for example, GPS) units for providing global coordinates and velocities; accelerometers to detect movement. Ambient conditions: thermometers, sensors that measure light intensity, microphones for sound intensity Presence: sensors that measure physical load, devices that read electronic identifiers on tags brought near to them, infrared readers used to sense active badges.
61
4.4 Sensors Are Becoming Ubiquitous
85% of mobile devices ship with GPS 50% of mobile devices ship with accelerometers and ~50% with gyroscopes Shipments of mobile motion sensors (accelerometers, compasses, gyroscopes, and pressure sensors) will reach USD 8.17B market by 2022. Contextual Computing will be a USD$125B market by 2024 Global Motion Sensors Market will reach USD 8.17 Billion by 2022: Zion Market Research Contextual Computing will be a USD$125B market by 2024
62
4.4 Phone Functionalities Enabled by Sensors
With additional sensors and sensor fusion Human location & health monitoring Market introduction Market acceptance Barometer Indoor navigation With gyroscopes Intelligent 3D sound management In-air signature & authentification Pointing High resolution camera stabilization Menu navigation & advanced user interface 3D gaming With compass Location-based service Map navigation & GPS assistance With accelerometers Pedometer Gaming Portrait/Landscape switching, Tap/double tap and shake control 2008 2010 2012 2014 2016 2018
63
4.4 Sensors and Context-Aware Solutions Are on the Market Already
64
6 Summary We presented the main challenges raised by mobile and ubiquitous computer systems We discussed aspects of volatility, some techniques for association components, and enabling them to interoperate despite the difficulties of “constant change” The integration of devices with physical world involves sensing and context awareness Read Textbook Chapter 19 We presented the main challenges raised by mobile and ubiquitous computer systems We discussed aspects of volatility, some techniques for association components, and enabling them to interoperate despite the difficulties of “constant change” The integration of devices with physical world involves sensing and context awareness Read Textbook Chapter 19
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.