Download presentation
Presentation is loading. Please wait.
1
Location Management for Mobile Computing
Sandeep Gupta Arizona State University Department of Computer Science The Hong Kong University of Science & Technology November 9, 1998
2
Tutorial Outline 1. Introduction - Technical Issues & Technologies
- New (database) Applications 2. Location Information Services 3. Location Management 4. Location Based Queries 5. Summary CSE535 Mobile Computing
3
Introduction
4
Motivation Why do we care about mobile database management?
Information is the core of business success. The Internet has changed the way information is accessed. Wireless networks are in place. Mobile devices are available in the market. Users like to go mobile and get ubiquitous access of information. New applications requiring data management CSE535 Mobile Computing
5
Mobile Applications Expected to create an entire new class of Applications new massive markets in conjunction with the Web Mobile Information Appliances - combining personal computing and consumer electronics Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… CSE535 Mobile Computing
6
Medical Example 911 Call Ambulance arrives/departs Closest hospital
Access patient records Send vital signs Update patient records Page hospital personnel Order medical supplies CSE535 Mobile Computing
7
Party on Friday Update Smart Phone’s calendar with guests names.
Make a note to order food from Dinner-on-Wheels. Update shopping list based on the guests drinking preferences. Don’t forget to swipe that last can of beer’s UPS label. The shopping list is always up-to-date. CSE535 Mobile Computing
8
Party on Friday AutoPC detects a near Supermarket that advertises sales. It accesses the shopping list and your calendar on the Smart Phone. It informs you the soda and beer are on sale, and reminds you. that your next appointment is in 1 hour. There is enough time based on the latest traffic report. CSE535 Mobile Computing
9
Party on Friday TGIF… Smart Phone reminds you that you need to order food by noon. It downloads the Dinner-on-Wheels menu from the Web on your PC with the guests’ preferences marked. It sends the shopping list to your CO-OP’s PC. Everything will be delivered by the time you get home in the evening. CSE535 Mobile Computing
10
Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US)
FM: Kbps; Digital: Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984; 4.4 million in 1990; 13 million in 1994; 120 million in 2000; million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) CSE535 Mobile Computing
11
Wireless Networks (Cont.)
Wireless Local Area Networks IEEE Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. CSE535 Mobile Computing
12
Wireless Local Area Network
Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. CSE535 Mobile Computing
13
Wireless Data Data can be everywhere: Air! Computers LAN Internet
CSE535 Mobile Computing
14
Recent History of Wireless Data
1970s: First use of mobile data systems in police cars. 1980s: IBM/Motorola build ARDIS data network. 1990s: RAM Mobile Data Network. 1990s: CDPD packet network. 1990s: GSM cellular systems support circuit-switched data access. 1998: CDMA PCS systems support 14.4 circuit-switched data access. CSE535 Mobile Computing
15
If the history repeats itself
Wireless data will be booming pretty soon! CSE535 Mobile Computing
16
Mobile and Wireless Computing
Goal: Access Information Anywhere, Anytime, and in Any Way. Aliases: Mobile, Nomadic, Wireless, Pervasive, Invisible, Ubiquitous Computing. Distinction: Fixed wired network: Traditional distributed computing. Fixed wireless network: Wireless computing. Wireless network: Mobile Computing. Key Issues: Wireless communication, Mobility, Portability. CSE535 Mobile Computing
17
Mobile Network Architecture
CSE535 Mobile Computing
18
Wireless characteristics
Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity is weak, intermittent and expensive CSE535 Mobile Computing
19
Portable Information Devices
PDAs, Personal Communicators Light, small and durable to be easily carried around dumb terminals [InfoPad, ParcTab projects], palmtops, wristwatch PC/Phone, walkstations will run on AA+ /Ni-Cd/Li-Ion batteries may be diskless I/O devices: Mouse is out, Pen is in wireless connection to information networks either infrared or cellular phone specialized HW (for compression/encryption) Li-Ion (Lithium-Ion) CSE535 Mobile Computing
20
Portability Characteristics
Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization CSE535 Mobile Computing
21
Portability Characteristics
Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Query By Icons (QBI): Iconic visual Language [Massari&Chrysanthis95] CSE535 Mobile Computing
22
Mobility Characteristics
Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static bursty network activity during connections CSE535 Mobile Computing
23
What Needs to be Reexamined?
Operating systems File systems Data-based systems Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design PDA design: Interfaces, Languages CSE535 Mobile Computing
24
Query/Transaction Processing
Concern shifts from CPU time and network delays to battery power, communication costs, and tariffs Updates may take the form of long-running transactions nodes may continue in disconnected mode need new transaction models [Chrysanthis 93, Satya 94] Context (location) based query responses Consistency, autonomy, recovery Providing uniform access in a heterogeneous environment Design of human-computer interfaces (pen-based computing) Dynamic system info: Location information, user profiles prioritization of actions upon reconnection PDAs are unreliable CSE535 Mobile Computing
25
Recurrent Themes Handling disconnections (planned failures?)
caching strategies managing inconsistencies Delayed write-back and prefetch: use network idle times increases memory requirements Buffering/batching: allows bulk transfers Partitioning and replication triggered by relocation Compression: increase effective bandwidth increases battery power requirements Receiving needs less power than sending Caching: what, when and how charging the laptop with "local" info CSE535 Mobile Computing
26
Everybody is ready! End users: they want to access to data ubiquitously. Wireless networks: there are many choices of digital wireless data networks. Mobile devices: they are wireless-ready today. Applications: Internet standards are in progress to facilitate developments of wireless applications. CSE535 Mobile Computing
27
Location Information Services
28
Location Information Services:Types
Location-Transparent Location-Tolerant Location-Aware CSE535 Mobile Computing
29
Location-Transparent Services
Hides the effect of mobility to applications and users. Network services and resources can be transparently accessed by means of a resource and service broker functions which map the application’s service type requests on adequate service provider instances. Application defined quality-of-service (QoS) for the underlying network connections is sustained through a QoS manager. CSE535 Mobile Computing
30
Location-Tolerant Services
Allows applications and users to tolerate the effects of mobility that can not be hidden by the platform. A trader function allows the application to perform a service and service type re-negotiation to achieve a graceful degradation instead of dumb service termination. A profile handler function allows to retrieve user and terminal characteristics to perform application adaptation according to terminal type currently being used. CSE535 Mobile Computing
31
Location-Aware Services
Allows applications and users to be aware of their mobility and the absolute and real physical positions of real-world objects. Applications can exploit this information for customizing their functionality and users can benefit from this information for navigation purposes. This abstraction level is realized by the location information server (LIS) function that allows to query location information and to be notified about the occurrences of predefined location-related events. CSE535 Mobile Computing
32
Platform for Mobile and Location-Aware Applications
APIs mobility manager mobile application platform resource & service broker QoS location manger server profile handler wired & wireless networks locating infrastructure mobile and location-aware multimedia applications mobility-management services platform access protocols mobility management signalling protocol generic support functions Infrastructure and network interfaces Mobility Management Domain CSE535 Mobile Computing
33
Location Information Server
profile handler directory database Location information server (LIS) event location-aware application LIS API other midlleware components directory access protocol other APIs to remote platforms locater Infrastructure to locate physical objects Acquires information about the – absolute or relative – physical location of real world objects in which an application is interested. Hides from applications which locating technology is being used. Has map and relationship knowledge to translate the low-level position information from the locating infrastructure into location information having meaningful abstraction level for application. Application can query the LIS about current location of objects (LIS directory database) or can request to be notified when certain location-related conditions between objects locations are fulfilled (LIS event handler). CSE535 Mobile Computing
34
A Generic Locating Model
LIS locates objects (identified by object-ID) representing either persons or resources inside areas (identified by area-ID). Objects have a tag (identified by tag-ID) attached to them that identifies and localizes them. Resources can serve as tags e.g. badges, cordless telephones, PDAs, or laptops. A LIS: maintains relations between objects and tags. provides graphical map in human-readable format and calculates shortest paths between areas. finds objects that are nearest to a specified area and fulfill certain conditions. supports both querying and notification services. A locator provides the interface between locating infrastructure and LIS. CSE535 Mobile Computing
35
location information server
LIS Data Model database/ event handler application maps relations position area sensor area object tag object area tag sensor tag position tag sensor locator positioning system location information server Locating rules: A tag is located within an area by means of sensors installed in that area. This information is collected by the locator and published to LIS, which uses a map to translate sensor-ID into area-ID. A tag may determine its absolute geographical position (e.g. using GPS) and publish this through the locator to LIS, which uses map to translate geographical location into area-ID. CSE535 Mobile Computing
36
LIS Service Types Location retrieval service
Location-dependent object and area selection service Event notification service Map retrieval service Identifier mapping service Relationship service CSE535 Mobile Computing
37
Location Retrieval Service
Provides physical location of static/mobile object with/without tags, e.g. In which area is person A (and when was her last sighting)? How many (or which persons) are present in area B? Where is equipment C (e.g. printer) in area B? CSE535 Mobile Computing
38
Location-dependent Object and Area Selection Service
Provides type or class oriented location information, e.g. Which object of type D is present in area B? Which one is the nearest object of type D (relative to my own location) and where it is located? Which (nearest) area fulfils certain condition (e.g. which one is the nearest unoccupied meeting room)? CSE535 Mobile Computing
39
Event Notification Service
Avoids repeated polling the LIS by an application. This functionality is, e.g., needed to start a function on a mobile device as soon as it enters a certain area. Examples of events are Inform me when person A enters (or leaves) area B! Inform me when area B is empty! Inform me next time person A meets person B anywhere! CSE535 Mobile Computing
40
Map Retrieval Service To help users (of navigation based applications) in finding others persons, resources, or areas by providing maps and navigation instructions, e.g. Provide me with with a (human-readable) map of area A! Provide me with the shortest-path between area A and area B! CSE535 Mobile Computing
41
Identifier Mapping Service
Provides mappings between identifiers of areas, sensors, and positions to support internal LIS operations, for other support functions of mobile application platform, and for location-aware applications operating at tag-level. CSE535 Mobile Computing
42
Relationship Service Provides relationship information between objects and tags for applications operating at tag level instead of object level, or for applications that want to communicate with objects through its tag, e.g. Which object is associated with tag A? Which (if any) tag does object B posses ? Associate tag A with objet B! CSE535 Mobile Computing
43
LIS: Implementation Issues
DBMS-based or Directory-based (such as X.500 [Maas MONET 98]) LIS do not require full functionality of DBMS Should support distributed implementation on multiple platforms Communication with external locator Dramatically increases search time Minimize the interaction with external locator using Precise search filters Location query optimization techniques Event Monitoring Active Databases CSE535 Mobile Computing
44
Location Management Schemes
45
Location Management: Context
Mobility Management: Enables users to support mobile users, allowing them to move, while simultaneously offering them incoming calls, data packets, and other services. Types of mobility: Terminal mobility: ability of terminal to retain connectivity with the network so that all on-going communication services remain active despite terminal’s migration. Personal mobility: disassociates user from the terminal (e.g. in GSM a mobile station = mobile terminal + smart card with subscriber identification module (SIM)). Service mobility: provides continuous service to mobile clients across multiple administrative domains. Consists of: Location management: tracking mobiles and locating them prior to establishing incoming calls (deliverying pending messages). Handoff management (a.k.a. automatic link transfer): rerouting connections with minimal degradation of QoS. CSE535 Mobile Computing
46
Location Management Problem
In static networks, a terminal’s network address serves two purposes: End-point identifier Location identifier Mobility prevents using a single address for both purposes Both end-point identifier and location identifier are needed. Location management keeps mapping between an end-point identifier and its location identifier Basically a directory problem. Two primitive operations: Lookup (a.k.a. search/find/paging/locating) operation: is the procedure by which the network finds the location of the mobile. required when a call (message) to a user is placed (to be delivered) Update (a.k.a tracking/move/registration) operation: is the procedure by which the network elements update information about the location of the mobile. required when a user changes its “location” The information gathered during updating/tracking is used during the locating operation CSE535 Mobile Computing
47
Location Management: Issues
More precise location needs to be maintained as cell size shrink: Wide area cells are 10’s – 100’s km in diameter Macro-cells: 1-10 km Micro-cells: 100’s m Pico-cells: under 10 m Database issues in tracking mobile users: Maintaining update intensive location information Strategies to reduce location query latency (such as replication) and traffic (such as caching) Consistency between replicas; Cache management polices CSE535 Mobile Computing
48
Location Management: Schemes
Several schemes have been developed which are motivated by fundamental trade-off between search operation cost and update operation cost. Schemes which try to minimize one cost tend to increase the other cost Try to optimize the aggregate cost or normalized cost. Categorization: Update Scheme: Static or Dynamic Static update scheme: registration areas Dynamic update scheme: distance/time/movement based strategy Locating Scheme: Static or Dynamic Static location scheme: page all the cells in the network Dynamic location scheme: expanding ring search centered at last reported location of the the user Database Architecture: Flat or Hierarchical CSE535 Mobile Computing
49
Selection of LM Schemes
Cost of location updates and lookups Maximum service capacity of each location database = the maximum rate of updates and lookups that each database can service Space restrictions (size of the location database) Type and relative frequency of call to move operations (call-to-mobility ratio (CMR)) CSE535 Mobile Computing
50
One-Tier Scheme A home database, called Home Location Register (HLR) is associated with each mobile user. The HLR of a user x maintains the current location of x as part of x’s profile. To locate a user x, x’s HLR is identified and queried. When a user x moves to a new cell, x’s HLR is updated. CSE535 Mobile Computing
51
Two-Tier (Basic) Scheme
Visitor Location Registers (VLRs) are maintained in each zone (registration area). VLR in a zone stores copies of profiles of users not at home and currently located in that zone. When a call is placed from cell i to user x, the VLR at cell i is queried first, and only if the user is not found there, is x’s HLR contacted. When user x moves from cell i to j, in addition to updating x’s HLR, the entry of x is deleted from VLR at cell i, and a new entry for x is added to the VLR at cell j. CSE535 Mobile Computing
52
Two-Tier Scheme: Standards
Many current and proposed standards use this scheme: Electronics Industry Association Telecommunications Industry Associations (EIA/TIA) Interim Standard 41 (IS 41) - commonly used in North America. Global Systems for Mobile Communications (GSM) - used in Europe. Internet Engineering Task Force (IETF) Mobile IP protocol CSE535 Mobile Computing
53
Enhancements to Basic Scheme
Per User Location Caching (dynamic replication) [Jain et. al., IEEE JSAC 12(8), ‘94] reduces search (lookup) cost increases update cost exploits locality in call pattern (Static) Replication Per User Profile Replication [Shivakumar & Widom Mobicom’95] Working Set Replication [Rajagopalan et. al., Mobicom’95] Forwarding Pointers [Jain & Lin, Wireless Networks 1, ’95] reduces update (move) cost CSE535 Mobile Computing
54
Per User Location Caching
Basic Idea: Every time user x is called, x’s location (or a pointer to this location) is cached at the VLR in the caller’s zone. Any subsequent call to x originating from that zone can use this information: Upon call origination the cache at the VLR of the caller’s zone is checked before querying the callee’s HLR. Issues: cache replacement schemes (LRU can be used) cache invalidation schemes eager caching or lazy caching CSE535 Mobile Computing
55
Eager and Lazy Caching Eager Caching Lazy Caching
Every time a user moves to a new location, all cache entries for this user’s location are updated. The cost of move operations increases for those users whose address are cached. Lazy Caching the cached pointer for any given user is updated only on a cache miss for lazy scheme to work better than basic scheme p CH/CB where p is the hit ratio, CH is the cost of a lookup when there is a hit and CB is the cost of lookup in the basic scheme. CSE535 Mobile Computing
56
Replication To reduce the lookup cost, the location of specific users is replicated at selected sites. Let : cost savings when local lookup succeeds as opposed to a remote query, : cost of updating a replica, Ci,j: expected number of calls made from cell j to i in a unit time. Ui: expected number of moves by i in unit time Then a replication of the location of user i at cell j is judicious if Ci,j Ui. CSE535 Mobile Computing
57
Per User Profile Replication
Objective: to minimize the total cost of moves and calls, while maintaining Constraint 1: a maximum of ri replicas for user i, and Constraint 2: a maximum of pj replicas in the database of cell j. Replication assignment problem: The profile of user i is replicated at all cells in set R(i) such that the system cost Ni=1Mj=1,jR(i) (Ui- Ci,j) is minimized, where N is the number of users and M is the number of cells., and constraints 1 and 2 above are met. CSE535 Mobile Computing
58
Replication Assignment
Flow Network based solution: s t users cells 1 i N (0,r1) (0,ri) (0,rN) M j (0,pj) (0,p1) (0,pM) (Ui- Ci,j,1) (UN- CN,M,1) Edges are labeled with (cost,capacity) tuple. source sink Solving Min-Cost Max-Flow on the Flow Network finds the required assignment. CSE535 Mobile Computing
59
Working Set (WS) Replication
Relies on the observation that each user communicates frequently with a small number of sources called its working set. Copies of location are maintained at the members of its working set. No constraints are placed on database storage capacity or on number of replicas per user. Hence, the decision to provide the information of the location of a mobile unit i to zone j can be made independently for each user. Adapts to user’s call and mobility patterns CSE535 Mobile Computing
60
Working Set Adaptation
The inequality Q: Ci,j Ui. is evaluated locally at a mobile unit I each time: 1. a call is set up, 2. the mobile unit moves. In case 1, Q is evaluated only if the caller’s site is not a member of mobile’s WS: If the inequality holds then the caller’s site becomes member of the callee’s working set. In case 2, the Q is evaluated for every member of WS; the members for which Q no longer holds are dropped from WS. CSE535 Mobile Computing
61
Performance of WS Replication
Computation overhead: in case 1 all four terms of Q need to be reevaluated in case 2 only the number of moves (Ui) needs to be reevaluated. Adaptability: when call-to-mobility ratio (CMR) value is low the WS scheme performs like a scheme without replication. when CMR value is high, the scheme behaves like a static scheme in which the WS for a user is fixed. Performance is mainly dependent upon the CMR of individual users (not on num. of users). CSE535 Mobile Computing
62
Forwarding Pointers Each time a mobile unit x moves to a new location, a forwarding pointer is set up to its previous VLR to point to the new VLR. To establish a call, the HLR of callee is queried to find the first VLR in the forwarding pointer chain. This chain is followed to get to the current VLR of the callee. To bound the time taken for lookup procedure, the length of the chain is bound to a max value of K. Pointer compression is used to eliminate loops. CSE535 Mobile Computing
63
Forwarding Pointers (Cont.)
Mobile IP protocol includes pointer forwarding in conjunction with lazy caching. The forwarding pointer strategy is useful for those users who receive calls infrequently relative to the rate at which they change registration areas. Benefits of forwarding depends also upon the cost of setting up and traversing pointers relative to the costs of updating the HLR. CSE535 Mobile Computing
64
Overlapping Registration Areas
Inter-RA hand-off: a user changes cells and RAs Intra-RA hand-off: a user changes cells within an RA. Inter-RA hand-off doesn’t happen as long as the hand-off can be intra-RA. Inter-RA call is when caller and callee are in separate RAs Intra-RA call is when caller and callee are in same RA. A non-overlapping cell is serviced by one LR. A overlapping cell is serviced by multiple LRs. Reduction of inter-RA hand-offs. Without overlapping A 1 2 3 B C A With overlapping 1 2 3 B C CSE535 Mobile Computing
65
Overlapping RAs (cont.)
Advantages: Each RA can provide service to more mobiles within their covered area. Reduces the number of inter-RA handoffs Reduce the load to update mobile’s HLR. Disadvantages: the communication overhead for call-delivery and intra-RA handoff is increased. the increase in overhead depends upon the underlying network topology. If this overhead is ignored then the extreme configuration in which each RA has all the cells in the system becomes the “optimal” configuration. CSE535 Mobile Computing
66
Overlapping RAs (cont.)
Dynamically Resizing RAs We need to find optimal configuration (allowing overlapping RAs) i.e. configuration which minimizes load on MSSs. When move and call patterns periodically change, a static scheme may not provide a good solution Our Approach: Allow RAs to be dynamically adapted. Periodically resize RAs to minimize MSS load: Resizing criterion: load reduction due to lesser number of inter-RA handoffs > increase in load due to more expensive call delivery and intra-RA handoffs. If resizing criterion is ignored then each RA will grow to maximum size. CSE535 Mobile Computing
67
Overlapping RAs (cont.)
Negative effect of underlying conventional star topology on signaling overhead under overlapping RAs Backbone Network MSS/LR Cells RA B RA A RA C a b Even though mobiles a and b belong to the same RA, any calls between them would need to go through two MSSs. CSE535 Mobile Computing
68
Overlapping RAs (cont.)
Inclusion and Exclusion Boundary In order to facilitate orderly growth and shrinking of RAs, an MSS only includes and excludes cells from its RAs current boundary. Two types of boundary: Internal Boundary External Boundary BS MH MSS CSE535 Mobile Computing
69
Overlapping RAs (cont.)
Inclusion/Exclusion Decision The decision to include or exclude a candidate cell is based on whether the resulting configuration will have a lower expected load on MSS. For a given system configuration A, mobility pattern M, and call C, SystemLoad(A,M,C) is the combined signaling load (in terms of message time complexity) as a result of all the handoffs due to M and call-deliveries due to C: SystemLoad(A,M,C) = Load(k,M,C). In case of inter_RA handoffs and call-deliveries we spilt the signaling overhead equally between the two MSSs involved. CSE535 Mobile Computing
70
Overlapping RAs (cont.)
What changes when cell x is included in RA r? Handoffs to cell x from cells of RA r become intra-RA handoffs. Handoffs from cell x to rest of RA r performed by users already registered in r become intra-RA handoffs. Calls to x from cells of r are now intra-RA calls. Calls from users of r that are in x to rest of r are now intra-RA calls. Mobility of users in r that move out of cell x into a new RA is now inter-RA mobility. Inter-RA calls of users in r that call from cell x is inter-RA call loading to r. Call the decreasing part of the load Costin(x,r) and the increasing part Costex(x,r). At intervals T each MSS/LR r computes I_Boundary(r) and E_Boundary(r) and for each cell x in the two sets computes Costin(x,r) and Costex(x,r). By comparing the two values, it decides if it is worth keeping excluded, keeping included, including or excluding the cell c. CSE535 Mobile Computing
71
Dynamic Updating Most schemes have fixed locations (i.e. the boundaries of registration areas) where the mobiles update. Users that move around boundaries cause a lot of registrations. [Bar-Noy95] Solution: introduce dynamic update schemes that don’t depend on location of mobile. CSE535 Mobile Computing
72
Dynamic Updating (cont.)
Time-based User updates location at intervals of time T independent of actual location. Movement-based User updates location after crossing M hops (cells) from last updated location. Distance-based User updates location after being distance D from last updated location. Two metrics to evaluate schemes: update rate (# of updates/sec) search area (# of cells/search) CSE535 Mobile Computing
73
Dynamic Updating (cont.)
Time-based versus Movement-Based Update rate If user crosses less than M cells per time T, then time-based makes more updates, otherwise time-based makes less updates If M is average hops traversed per time T, then two schemes have same rate of updates. Search area Search area in time-based is the cells that can be reached from last updated location at max user speed in time T. Search area in movement-based is cells that can be reached in M or less hops from last updated location CSE535 Mobile Computing
74
Dynamic Updating (cont.)
Movement-based versus Distance-based Update rate If D=M, distance-based will do at most as many updates as movement-based Search area Search area is same in both schemes (cells that can are at distance D or less from last updated location) CSE535 Mobile Computing
75
Look-ahead update [Tsai97] Proposed a look-ahead update scheme based on the distance-based scheme of [Bar-Noy95]. Mobility is modeled as a “normal walk” where the mobile tends to keep the direction of movement Look-ahead update scheme: in distance-based scheme don’t update current location, but update a location Δ hops ahead Under normal walk mobility model, user is more probable to cross standard circle (solid) before crossing look-ahead circle (dotted). Therefore look-ahead saves updates. CSE535 Mobile Computing
76
Dynamic Hierarchy [Ho97] Proposed a hybrid scheme with different hierarchy levels. Directory Registers: are a inter-mediate level of hierarchy between VLRs and HLRs. For each user there is the consept of Local DR, the DR that is above the VLR. HLRs may point to VLRs (direct pointer) or to LDRs (indirect pointer). Hence, the two hierarchies: Two levels: HLRVLR Three levels: HLR LDR VLR Scheme includes Forwarding Pointers Of users various DRs to other DRs or LRs Local DR MSCa Remote DR1 Remote DR2 MSCb MTa MTb HLRa HLRb Indirect HLR pointer Direct HLR pointer Direct DR remote pointer Indirect DR remote pointer CSE535 Mobile Computing
77
Multiple-level Hierarchical Scheme
[Bejerano98] define a multiple-level hierarchy of overlapping Location Areas: If LAs are viewed as circles of radius r, then the outer r/2 part (periphery) overlaps with the inner parts (cores) of neighboring LAs, and the inner r/2 part (core) overlaps with the outer parts (peripheries) of neighboring LAs. At each level n, there is twice the number of the (n+1)-level Location Areas and half of the (n-1)-level Location Areas. Logarithmic number of levels For every user, there is at least one LA at each level that has a “location pointer” to a LA to the next lower level. CSE535 Mobile Computing
78
Multiple-level Hierarchical Scheme (cont.)
Update policy: At each level, starting from lowest, if the user moves between two cells that are not in the same LA, the move is “updated” to the LA in the above level as well. A movement update goes up to the LA that embraces both ending and starting cells of the user’s movement. Search Policy: If there is no downward pointer, then the search is propagated upward until a LA has a downward pointer of the user. The downward pointers are followed until the user is reached. Scheme shows very good average and best case costs, but very bad worst case. CSE535 Mobile Computing
79
Summary of Variations to 2-Tier Scheme
Method Variations Used When: Caching When x is called by y, cache x’s location at y’ zone. Eager caching Cache update overhead occurs at moves Large LCMR Lazy Caching Cache update overhead occurs at calls Replication Selectively replicate x’s address at the zones from which it receives the most calls Per-user profile Replication Additional constraints are set on the number of replicas per site and on the number of replicas per user Working Set Adaptive Distributed: the replication sites are computed locally at each mobile host Forwarding Pointers When x moves, add a forwarding pointer from its old to its new address. Restrict the length of the chain of forwarding pointers Small LCMR CSE535 Mobile Computing
80
Hierarchical Schemes (HS)
Extend two-tier schemes by maintaining a hierarchy of location databases. Location database at higher level contains location of users located at levels below it. Usually hierarchy is tree structured: Location database at a leaf serves a single cell and contains entries for all users registered in that cell. A database at an internal node maintains location of users registered in the set of cells in its subtree. location information can be either pointer to an entry at a lower level database or the user’s actual current location. CSE535 Mobile Computing
81
Hierarchical Location Scheme
[Jain, ICC ’96] 1 2 5 6 3 4 7 8 9 10 11 12 13 14 15 16 17 18 user x x entries for user x when the location database maintain pointers maintain actual location CSE535 Mobile Computing
82
Updates/Lookups with Pointers
LCA(i,j): least common ancestor of i and j. When user x moves from cell i to j, following entries for x in databases are updated: 1. along the path from j to LCA(i,j), and 2. along the path from LCA(i,j) to i. When a caller located at cell i places a call for a user y located at cell j, the lookup procedure: 1. queries databases starting from node i and proceeding upwards the tree until the first entry for x is encountered (at LCA(i,j)). 2. Then the lookup procedure proceeds downwards following the pointers to node j. CSE535 Mobile Computing
83
Update/Lookup Example
upward phase: till entry for callee is found LCA(10,13) x downward phase: follow the pointer x LCA(9,10) 1 2 3 x x 4 5 6 x 9 x 10 7 8 9 10 11 12 13 14 15 16 17 18 user x (moved from cell 9 to cell 10) a node in cell 13 calls user x CSE535 Mobile Computing
84
Lookup/Update with Actual Location
When user x moves from cell i to cell j: record for x is deleted from all the databases from node i to LCA(i,j), and record for x is updated to indicate the current location to be cell j in all the databases from root node to leaf node j. When a user x from cell i places a call to user y in cell j the lookup procedure queries database at node i proceeding upwards till node LCA(i,j). Compared to pointers case, in this case: 1. updates are more expensive operation, and 2. lookups are less expensive operation. CSE535 Mobile Computing
85
Update/Lookup Example
LCA(10,13) 9 10 x 9 LCA(9,10) 10 1 2 3 x x 4 9 10 5 6 x 9 x 10 7 8 9 10 11 12 13 14 15 16 17 18 user x (moved form cell 9 to cell 10) a node in cell 13 calls user x CSE535 Mobile Computing
86
Caching in Hierarchical Scheme
1 2 5 6 3 4 7 8 9 10 11 12 13 14 15 16 17 18 s t forward bypass pointer reverse bypass user y (callee) search procedure user x (caller) Forward bypass pointer is an entry at an ancestor of caller’s cell, say s, that points to an ancestor of callee’s cell, say t. The reverse bypass pointer is from t to s. In simple caching both s and t are leaf nodes. In level caching s and t can belong to any (possibly different) levels. CSE535 Mobile Computing
87
Forwarding Pointers in Hierarchical Scheme
old enteries new enteries Lookup cost for calls initiated from any cell in this subtree is increased 1 2 level m Forwarding Ptr 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 user x new location user x old location Reduces the update cost in case of move from cell i to cell j, instead of updating all databases on the path from j through LCA(i,j) to i, only the databases up to a level m are updated and a forwarding pointer is set from a node s to node t, where s is the ancestor of i at level m and t is ancestor of j at level m. CSE535 Mobile Computing
88
Hierarchical Schemes: Summary
Method Description Caching When x at zone i is called by user y at zone j, cache at a node on the path from j to LCA(i,j) a pointer to a node on the path from I to LCA(i,j) to be used by subsequent calls to x from zone j. Replication Selectively replicate x’s location at internal and/or leaf database. Forwarding Pointers When x moves from cell i to cell j, instead of updating all databases on the path from j to LCA(i,j) and from LCA(i,j) to j, update all databases up to level m and add a forwarding pointer at the level m ancestor of I to point to the level m ancestor of j. CSE535 Mobile Computing
89
Hierarchical vs. Two-Tier Scheme
No pre-assigned HLR Support Locality Increased number of operations (database operations and communication messages) Increased load and storage requirements at the higher-levels CSE535 Mobile Computing
90
Location Management: Summary
Location management is a rich research topic; the following represents 3D space of possible solution [ What(granularity), Where (availability), When (currency)]: Availability nowhere at all sites At selective sites (e.g., at frequent callers) Currency Never update Always update (at each movement) Granularity Exact location the whole network some partition CSE535 Mobile Computing
91
References [Akyildiz97] J. S. M. Ho and I. F. Akyildiz. Dynamic Hierarchical Location Management in PCS Networks. IEEE/ACM Transactions on Networking, 5(5):646–660, October 1997. [Bejerano98] Y. Bejerano and I. Cidon. An Efficient Mobility Management Strategy for Personal Communication Systems. pages 215–222, MobiCom 98, April 1998. [Bar-Noy95] A. Bar-Noy, I. Kessler, M. Sidi, Mobile Users: To Update or not to Update? ACM/Baltzer Wireless Networks Journal. Vol 1, no 2, 1995, pp [Tsai97] I-F Tsai, R-H Jan, The Lookahead Strategy for Distance-Based Location Tracking in Wireless Cellular Networks, Mobile Computing and Communications Review, Vol 3, No 4, 1997 CSE535 Mobile Computing
92
Location Querying
93
Challenges Managing queries that involve the location of moving objects is challenging because location is a fast changing data result of such queries may depend on the location of the user posing it, e.g. all the trucks that are within 1 mile of truck ABC123 (which needs assistance). queries may not directly include location, but may require tracking mobile objects e.g. queries that involve data produced and located at mobile hosts. In general, queries may be initiated by either static or mobile users and may include databases located at both static and mobile sites. CSE535 Mobile Computing
94
Types of Location Queries
Location queries with transient data transient data: whose value changes while the query is being processed e.g. a moving user asking for nearby hospitals. Continuous queries e.g. a moving car asking for hotels located within a radius of 5 miles and requesting the answer to the query to be continuously updated. Issues include: when and how often should continuous queries be re-evaluated? the possibility of partial or incremental evaluation. CSE535 Mobile Computing
95
Handling Imprecise Location Data
Maintaining precise location of a user is very expensive in terms of communication cost. Profile Partitioning is a technique for reducing the update volume [Imielinski & Badrinath VLDB’ ‘92]: Partition: glues together cells between which the user relocated very often and separates cells between which the user relocates infrequently. 4 6 6 1 4 4 6 6 1 P2 P1 The numbers on the edges indicate the number of times the user relocates between the end locations connected by the edge during certain interval of time. CSE535 Mobile Computing
96
Profile Partitioning User do not have to inform the location server about each and every change of their location location server maintain which partition the user is currently in. the user informs the location server whenever it moves from one partition to another. Supports bounded ignorance: the real position of the mobile and the position which is know are always in the same partition. “I do not know where you are exactly at this time but I know that you are in downtown Boston.” Search is always within a partition CSE535 Mobile Computing
97
Modeling Fast Changing Values
Issues: margin of error how to find better (or more precise) value cost of finding precise value finding procedure Distinction is made between actual and stored value of a dynamic attribute (such as location, temperature) Partitions help in defining margin of error Following locating methods provide exact values at additional cost paging/broadcasting to all cells in partition maintain a list of locations, ordered by likelihood of user being at a given location; search each location in the list order maintain forwarding pointers CSE535 Mobile Computing
98
Additional Attributes & Methods
The following additional attributes are associated with a mobile object MO: Partitions: {P1,P2, ...} where Pi: set of cells and Pi Pj=, ij. Correctors: method to be used for finding exact location of MO Predictors: method/set-of-rules to be used to find default location of MO (in case MO has not notified location server about exceptional behavior). The following methods are defined on MO: LOC: MO.LOC returns the stored location of MO ERR: MO.LOC.ERR returns the partition which is stored in MO’s profile and contains MO.LOC loc: MO.loc returns the actual location of MO involves additional considerable communication along with database access. CSE535 Mobile Computing
99
An Example Additional attributes of user John
Object: John Partitions: {Cell1,Cell2}, {Cell3,Cell4,Cell5} Correctors: Paging with pointers Predictors: {John is at home, in Cell2 after 6 P.M.} John.LOC : returns stored location of John, say Cell1. John.LOC.ERR: returns {Cell1,Cell2} John.loc: If invoked before 6pm: pages Cell1 and Cell2 to determine the exact location of John and returns that location. If invoked after 6pm: pages Cell2 (John’s home) first before paging Cell1. CSE535 Mobile Computing
100
Query Processing Queries differ in the complexity of location constraint: “Find me a doctor near the campus” has one non-location based constraint, and another unary constraint on location. “Find a gas station, fast-food restaurant, and grocery store such that all of them are on the same highway and in the above order.”: involves ternary constraint (between) plus three unary constraints on individual location (“on the highway”). Goal: Minimize the communication cost to answer the queries (in presence of imprecise knowledge about locations of users). CSE535 Mobile Computing
101
Query Processing: Problem
Main problem arising in query processing in presence of imprecise knowledge about locations of users is: How to minimize the communication cost to “find out” the missing information necessary to answer the query? General query in “pseudo SQL” form: SELECT x1.loc, .... , xm.loc FROM Users WHERE (x1.loc=l1 ... xm.loc = lm) C(l1, ... , lm)W(x1, ... , xm) C(l1, ... , lm) is an m-ary constraint on locations l1, ... , lm. W(x1, ... , xm) is a constraint on individual object locations. Users: class which stores all instances of users in the system Query wants to evaluate a predicate over actual locations of users, while the only locations available are {x1.LOC, .... , xm.LOC} with the associated “error” determined by ERR. CSE535 Mobile Computing
102
Query Processing Strategies
Naïve strategy: Find objects a1, …, am such that W(x1, ... , xm) is satisfied. Determine exact locations a1.loc, .... , am.loc by paging partitions a1.LOC.ERR, .... , am.LOC.ERR. Check if the results satisfies C(a1.loc, .... , am.loc). Naïve strategy has high communication cost In terms of number of cells paged Computation is less expensive that communication. Optimization Strategies (to reduce #paging msgs.): Paging can be avoided completely if it can be determined that C(a1.loc, .... , am.loc) is true (or false) for all combinations in the Cartesian product a1.LOC.ERR … am.LOC.ERR. Only partial paging may be required in some cases e.g. after determining exact location for a1 and a2 it may be determined that the constraint is true/false irrespective of location of other objects. CSE535 Mobile Computing
103
Query Processing: An Example
Give the names of doctors (possibly mobile) located near John’s current location: {d: Near(d.loc, John.loc)Doctors(d)}, where Near(y,x): true if x is a neighbor of y; false otherwise. Possible strategies: Page both John.LOC.ERR and d.LOC.ERR First page John.LOC.ERR and then determine if it is necessary to page d.LOC.ERR, or First page d.LOC.ERR and then determine if it is necessary to page John.LOC.ERR Strategy 2 or 3 are better than 1; But which is better? depends upon the profiles and locations of John and doctors Cost is characterized using Classification Tree CSE535 Mobile Computing
104
Classification Tree (CT)
Used for determining (expected) minimal cost strategy to evaluate the query Strategy sequence in which partitions are paged. A CT for strategy with variables x1, …, xm : Consists of two special types of terminal nodes: POS: indicates constraint is true NEG: constraints is false Has edges labeled with conditions: (xi.loc=li); lixi.LOC.ERR Associates with each node N a predicate path(N) which is conjunction of all conditions along the path from root to N. A path terminates with POS (NEG) node iff the conjunction of all the conditions along the path implies (does not imply) the constraint C(x1.loc, ... , xm.loc). CSE535 Mobile Computing
105
Determining Evaluation Cost
Cost of a node = the number of outgoing edges which do not terminate in NEG node this is the cost of paging; since we do not need to page locations which we can determine lead to failure. Cost of a path = the sum of the cost of nodes along the path. Expected cost of using the strategy associated with a CT = the sum of costs of all paths weighted by the associates probabilities. corresponds to the expected number of paging messages which will have to be sent in order to determine if x1.loc, ... , xm.loc satisfy the query. The problem of finding a tree corresponding to the optimal strategy is NP-complete. CSE535 Mobile Computing
106
Example (Cont.) Classification tree U = d.LOC.ERR V = John.LOC.ERR
NEG POS L10 L11 L12 L3 L7 d d d NEG POS NEG POS NEG POS L4 L3 L7 L3 L7 L3 L7 L4 L4 L4 Strategy 2 Strategy 3 CSE535 Mobile Computing
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.