• 沒有找到結果。

When a client submits query T to any directory at time wvxeplwT , the directories would work together to find a set of matching mobile service providers inT=uhfw. The result set continually

10

Figure 6: Mobile services moving against time.

changes as these mobile service providers move in and out withinT=uhfw. Consider T in Figure 6, for example, wherewvxeplwT = 4. At beginning, T’s result set would contain query responses forpv2, pv3, and pv4. At w = 12, the T’s result set should contain query responses for pv2, pv3.

As directories receive a new query T at time wvxeplwT + {, directories find all cached ad-vertisements ad s such that dg=srv(w) fits in T=uhfw for some w: wvxeplwT  w  dg=wH{s and a matching dg=nh|v with T=nh|v. The registration and query acquisition mechanisms we introduce in next section guarantee that queries finds all matching advertisements.

Query Result A query answer td contains a set of an unique identifier for a service identifier (VXLG), a start time (wVwduw), an expiration time (wH{sludwlrq), the mobile service’s network address (dggu(PV)), and location information function (srv) from advertisements dgs of location directories in accordance with T=uhfw and T=nh|v during wvxeplwT  w  wH{sludwlrq such that dg=srv(w) resides in T=uhfw and wH{sludwlrq = min(dg=wH{sludwlrq> wohdyh), where wohdyh is the smallest time whendg=srv(w) no longer belongs T=uhfw.

The responsible directories return initial query results to the origin client and incessantly answering the query over subsequent incoming advertisements. Consider an new advertisement

dgqhz that arrives at the responsible directory where T is running incessantly. If dgqhz’s location information function and service summary matchT within the lifetime of the dgqhz, the directory send a query response td for T’s client. Again, routing ensures that all queries find all matching services.

To show the overall query semantics, we refer to the example in Figure 6. To keep our example simple, we assume that any ad transmitted at time w[plw arriving at a directory at time t has an expiration time of w[plw + 4 + 2 min, where w[plw + 4  w. We also assume that all ads are examined on even numbered minutes. Consider queryT, with wvxeplwT = 4 and T=wH{sludwlrq = 12. Table 1 shows the query results generated for T at every examining time.

3 Query Processing Mechanism of MobiServNet

In this section, we show how the MobiServNet architecture supports the above semantics in a distributed environment.

3.1 Location Data Model

As practical respects, representing location of mobile objects as addresses is more intuitive than representing as geographic coordinates. In reality, addresses are usually revealed as multiple-attribute data such as administrative zone name, road name, and position on the road. For example, the address of the National Chiao Tung University, Taiwan could be represented as a triplet of (Hsinchu, Dasyue Rd, 1001). By adding more attributes, it is

Time Query Results (wVwduw> wH{sludwlrq> srv)

4 {ms2(4> 6 + {> 43> 0),ms3(4> 6 + {> 28> 1),m4(4> 6 + {> 26> 2)}

6 {ms2(6> 8 + {> 43> 0),ms3(6> 8 + {> 30> 1),m4(6> 8 + {> 20> 1)}

8 {ms2(8> 10 + {> 43> 0),ms3(8> 10 + {> 32> 1)}

10 {ms2(10> 12 + {> 43> 0),ms3(10> 12 + {> 34> 1)}

Table 1: Query results returned for T.

trivial to extend the scheme to be able to support more general addresses. From here forward, to keep the presentation simple, we only focus on the triplet scheme, (zone, road, position on road), to represent addresses within a specific region.

By taking advantage of the addressing schema above, one can easily transform the location of a mobile object into a one-dimensional binary string. The procedure to transform the location of a mobile service device into a binary string consists of four steps as follows: (1) transform the location of the mobile objects given by GPS into a address form (2) obtain the address of the place at which the mobile object is located and represent it as a triplet, (3) transform each attribute of the triplet into a binary string, and (4) concatenate the three binary strings into a single binary string. We assume that the first step can be done by local mechanisms such as administrative mapping. The second and fourth steps are trivial, and thus we detail the third step.

To complete third step, we first introduce how to produce the zones. For easier illustration, consider an imaginary region with 2 countries (A, B) as a whole and 16 cities (0,1,...,9,a, b, ..., f) in each country - a total of 32 zones to transform. The simplest transforming method is to use their lexicographical orders (numbers? letters). That is, by using 1 bits for county names and 4 bits for city names, one can transform a zone into a 5-bit string whose first one bit represent the lexicographical order of its county name and the remaining four bits represent the lexicographical order of its city name. For example, one can express the zone "A county a city" as "0 0110", the zone "A county b city" as "0 0111" and "B county a city" as "1 0110".

Although the simplest transforming scheme is simple to implement, it does not provide the information about relative location of zones. For example, consider two mobile objects, one located at the zone "0 0110" and the other at the zone "0 0111". Comparing these two binary strings, one can deduce that the two objects be in the same county (A) but in dierent city (a,b). These two binary strings, however, do not provide any clue as to the relative location information of the two objects.

To overcome the limitation that transforming scheme does not provide the information about relative location of zones, using a mapping technique based on space-filling curves is proposed. A space-filling curve[1] is a dimension reduction technique that forms an one-dimensional curve which visits every point within a multi-one-dimensional space. In order to represent the relative locations of zones more e!ciently, we choose bit-shu"ing among various space-filling curves and apply it to start region division from the lower left corner as the order in the bit-shu"ing. The detailed algorithm to transform the zones contained in a region is given in Algorithm region division, and an illustrative example is shown in Figure 7.

A zone is defined by the following constructive procedure. Consider a rectangle U that represent a chosen region on the specified plane. Intuitively, U is the bounding rectangle jointly defined by all directories within the ambient network. We call a sub-rectangle ] of U a zone, if ] is obtained by dividing U o times, o  0, using a procedure that satisfies the following property:

After the l-th division, 0  l  o, U is partitioned into 2l equal number rectangles. If l is an odd (even) number, thel-th division is parallel to the y-axis (x-axis).

That’s, the bounding rectangleU is first sub-divided into two zones at level 0 by a vertical line that splits U into two equal number of pieces, each of those sub-zones can be split into two zones at level 1 by a horizontal line, and so on. We call the non-negative integer o the level of zone ], i.e. ohyho(]) = o.

Algorithm: region division

Input: a region U, administrative information of all zones ] Output: binary strings which zones transformed into,}frgh(]) 1. Determine the centroid of each zone, set level o = 0

2. If vl}h(U) A 1

3. B vl}h(U) is the same with the number of the centroid of zones, because U contains all zones

4. then Divide the regionU into two sub-regions, west sub-region Z U and east sub-region HU

5. vl}h(Z U) = vl}h(HU) = vl}h(U)@2

6. o-bit of }frgh(Z U) is 0, o-bit of }frgh(HU) is 1, and o = o + 1 7. If vl}h(Z U) A 1

8. then Divide the region Z U into two sub-regions, south sub-region VU and north

b

Figure 7: An example for region division.

sub-region QU

9. vl}h(VU) = vl}h(QU) = vl}h(Z U)@2

10. o-bit of }frgh(VU) is 0, o-bit of }frgh(QU) is 1, and o = o + 1 11. For each sub-regionZ U, HU, VU, and QU obtained from line 2 to line 10 12. do if vl}h(VU) A 1

13. then continue process from line 2 to line 10 to replaceU by VU.

14. If vl}h(VU)  1

15. then result the final }frgh(]) of each zone ].

Compared to the transforming method based on lexicographical orders, the proposed bit-shu"ing method produces more informative binary strings. Again, let us consider the two mobile objects, one located at the zone "0 0110" and the other at the zone "0 0111". In addition to the facts that the two objects are in the same county but are in dierent city, we can attain more clues about the relative location of zones: (1) since the first three bits for city part are both "011", the cities are located at west of southwest area of the county, and (2) since the last bits for city part are dierent, the city where the first object is located is south of the city where the second object is located.

There are a number of roads within a zone. The algorithm to transform the roads within a zone is not much dierent from Algorithm region division. The changes needed to be made on Algorithm region division are as follows: (1) every instance of word "zone" is to be replaced with word "road", and (2) every instance of word "region" is to be replaced with word "zone".

Consider the last part of the location triplet and the way to transform the position on road. We first divide the road into 2q  1 units of the same size, and then represent each boundary as an n-bit binary string. Finally, position of an object on road is chose as the boundary nearest from the object and represented as the boundary binary string.

Intuitively, the suggested transforming scheme has the following characteristics: (1) a location directory owning a set of zones can be represented by the range of binary strings.

For example, a directory owning county "A" is represented by the range [00000; 01111], and (2) more shortly, the directory can be revealed by using the longest common prefix bits of the given range.

相關文件