Efficient Region-Based Skyline Computation for a Group of Users

Recently, with the advancement of technology, ad-hoc meetings or impromptu gatherings are becoming more and more common. The meetings/gatherings which involve at least two people will require a specific physical point location that is useful or interesting to them, called <italic>point of interest (PoI)</italic>. These people might be residing at different locations; each with their own preferences which most likely to be different. Undoubtedly, given <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> people in a group, there will be <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> users’ preferences. Finding a suitable <italic>PoI</italic> that meets these <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> users’ preferences is not a straightforward task. Existing solutions that utilise skyline processing in discovering the best, most preferred objects in satisfying the preferences of a group of users within a predetermined area have shown acceptable results. However, these solutions have to be executed repeatedly for each query of a group of users since they do not exploit the possibilities that an area that has been visited by a group of users might be the area of interest of another group of users in the future. Inherently, they require rescanning the objects and recomputing the skylines of a previously visited region which is undoubtedly unwise and costly. This paper proposes the <italic>Region-based Skyline for</italic> <inline-formula> <tex-math notation="LaTeX">$a$ </tex-math></inline-formula> <italic>Group of Users</italic> (<italic>RSGU</italic>) and <italic>Extended Region-based Skyline for</italic> <inline-formula> <tex-math notation="LaTeX">$a$ </tex-math></inline-formula> <italic>Group of Users (ERSGU)</italic> frameworks which attempt to resolve the limitations of existing solutions. In this work, skylines objects are <italic>PoIs</italic> that are recommended to a group of users that are derived by analysing both the locations of the users, i.e. spatial attributes, as well as the spatial and non-spatial attributes of objects that are within a predetermined region of the group of users. Here, each region is partitioned into smaller units called fragments in such a way that overlapping areas between the currently and previously visited regions can be easily determined; while the results of computing the skylines of each fragment, known as fragment skylines, are saved to be utilised by the subsequent requests. Meanwhile, <italic>ERSGU</italic> has an additional feature in which the skylines derived for a group of users are not only based on the evaluation of the spatial and non-spatial attributes of the objects, but also the closeness of the objects to the desirable facilities or other interesting objects in the region. Undeniably, a <italic>PoI</italic> that is nearby to other attractions is appealing and worth the journey. Several experiments have been conducted and the results show that our proposed frameworks outperform the previous work with respect to CPU time.


I. INTRODUCTION
27 Query processing is defined as the process of answering 28 a query (request) to a database or an information system, 29 which usually involves the following three main activities: 30 The associate editor coordinating the review of this manuscript and approving it for publication was Vivek Kumar Sehgal .
(i) analysing and interpreting the query, (ii) searching through 31 the space of stored data, and (iii) retrieving the results sat-32 isfying the query. The traditional query processing operates 33 either by retrieving objects 1 from a collection of objects 34 1 Without loss of generality, the term object is used throughout this paper to be in line with other research works in similar area. The terms data, data item, record, and tuple can also be used in this context. that strictly satisfy each condition specified in the query or 2 In this paper, the evaluation criteria used in determining the skyline objects are the attributes (the terms dimension and attribute are used interchangeably) of the objects. becoming more and more common [60], [61], [62], [63], 87 [64], [65], [66], [67]. Intuitively, the meetings/gatherings will 88 involve a group of people (at least two people) and they 89 will have to decide on a specific physical point location 90 that is useful or interesting to them, called point of interest 3 91 (henceforth referred to as PoI). Some examples of PoI are 92 restaurants, hotels, cafes, etc. These people might be residing 93 at different locations; each with their own preferences which 94 are most likely to be different. Undoubtedly, given n people 95 in a group, there will be n users' queries. 4 The existing 96 skyline algorithms are unsuited for such a scenario for two 97 main reasons: (i) they cater a user's preferences at a time 98 (single user query) and (ii) they deal only with the non-spatial 99 attributes of the objects. While, deriving the skyline objects 100 of a group of users that are located at different locations, both 101 the spatial and non-spatial attributes of the objects need to 102 be considered. Thus, identifying objects that best meet the 103 preferences of a group of users is crucial and challenging. 104 The following scenarios typify the samples of situations 105 considered in this paper. 106 Scenario I: Assuming several users whom are not close to 107 each other would like to meet; hence a group is said to be 108 formed and these users will have to decide on a specific PoI 109 within a predetermined area 5 that is useful or interesting to 110 them. There are many PoIs that they can choose. However, 111 several criteria need to be considered before they decide on a 112 specific PoI to visit. These include the location of the PoI, i.e. 113 how far it is from the location of each user (spatial attribute), 114 the opening hour, food, ticket price, rating, facilities provided, 115 etc (non-spatial attributes). A PoI which is near to the users 116 might not be the PoI that meets all the users' preferences. 117 While a PoI which provides facilities that meet most of the 118 users' preferences might be located far away from these 119 users. Therefore, recommending a PoI to visit to these users 120 is not a straightforward task as many criteria need to be 121 considered. These include the location of each user (spatial 122 attribute), the locations of the objects (spatial attribute), and 123 the features of the objects (non-spatial attributes). It becomes 124 more complicated when the number of users in the group is 125 large, the objects to be analysed in the space (area) are high 126 multi-dimensional while their number is huge. Meanwhile, 127 an area that has been visited by a group of users might be the 128 area of interest of another group of users in the future. Thus, 129 it is essential to have a method that could find an object(s) 130 that dominates other objects that best suits the preferences of 131 a group of users with respect to both the spatial (location) 132 and non-spatial attributes of the objects that are within a 133 predetermined area. Also, it is hypothesised that utilising 134 3 The term object of interest is also used that reflects the PoI that is saved as object in a data set. 4 In this paper, the n users' queries are assumed to be distinct (reflecting different preferences) due to the fact that the skyline objects for a user might be different from another user as the area covered by each user's query might be different. 5 Without loss of generality, the terms area, region, and space are used interchangeably throughout this paper. the previous skyline computation results in identifying the •    The rest of the paper is structured as follows. In Section II, 191 the previous works that are related to computing skylines for 192 a single user as well as for a group of users are presented. 193 In Section III, the necessary definitions and notations, which 194 are used throughout the paper, are set out. Section IV and 195 Section V elaborate our proposed frameworks, RSGU and 196 ERSGU respectively, that are purposedly designed for han-197 dling the computation of skyline objects for a group of users. 198 A running database example is also given to clarify the phases 199 of the proposed frameworks. The experimental results are 200 demonstrated in Section VI. Conclusion and further research 201 direction are depicted in the final section, Section VII. 203 Since the introduction of the skyline operator by [12] many 204 variants of skyline algorithms have been proposed. Although 205 the ultimate goal of these algorithms is to derive the best, most 206 preferred objects from a multi-dimensional set of objects, 207 each of them tackled a slightly different issue. We categorised 208 these skyline algorithms into two main categories, namely: 209 skyline algorithms for a single user and skyline algorithms 210 for a group of users.

211
Skyline algorithms for a single user -Generally, these 212 skyline algorithms attempt to optimise the process of filtering 213 the best, most preferred objects from a potentially large 214 multi-dimensional set of objects. These algorithms aim at 215 reducing the processing time by reducing the search space 216 as small as possible. Thus, ensuring that only the set of 217 objects that may potentially be the skylines is analysed. 218 In this category, users' queries are assumed to have the same 219 objective function; hence users are assumed to have the same 220 preferences.

221
Among the earlier and most cited skyline algorithms in 222 the literature are Block Nested Loop (BNL) [12], Divide-and-223 Conquer (D&C) [12] Skyline algorithms for a group of users -These skyline 254 algorithms compute the skyline objects of a group of users 255 from a potentially large multi-dimensional set of objects. 256 As we assume that the objects are static, hence we further 257 elaborate only those works that are similar to our intention.

258
To the best of our knowledge the only works that contribute 259 to skyline queries for a group of users are the works done 260 by [60], [61], and [63]. In processing spatial skyline query 261 for a group of users, two algorithms are proposed by [ Table 2 presents the 300 spatial (Location) and non-spatial (Rate, Price) attributes of 301 the objects. For the non-spatial attributes, it is assumed that 302 higher rate and lower price are preferable.

303
Given a data set D = < R, U , O >, where U = 304 {u 1 , u 2 , . . . , u n } is a list of n users, O = {o 1 , o 2 , . . . , o m } is a 305 list of m objects, and R =< A S , A N > where A S representing 306 a spatial attribute while A N = {d 1 , d 2 , . . . , d l } is a set of 307 non-spatial attributes. The following definitions defined the 308 properties of a user and an object as used in this work.

309
Definition 1 (Property of a User): Each user, u i ∈ U , 310 is associated with a spatial attribute which represents the 311 location of the user at a time, t. This is denoted as u i (x i , y i ). 312 For instance, u 1 (8, 8) of Table 1(a) denotes the location of 313 user u 1 at time t a .      where i = j in the space S that dominates o i . In this paper, 364 Sky G p is used to denote the skyline set for the group G p of a 365 given space S. 366 Based on the above definitions, the problem that is tackled 367 by RSGU is formulated as follows:

368
Given a group of users, G p = {u 1 , u 2 , . . . , u p }, where 369 G p ⊂ U , and the candidate skylines of G p in region R p 370 denoted as CS G p . Find the skylines of a group of users G q = 371 {u 1 , u 2 , . . . , u q } in region R q , i.e. CS G q , where G q ⊂ U , 372 G q = G p , and R q ∩ R p = ∅ by utilising CS G p that has 373 been derived for G p . This is depicted in Fig. 1 where the area 374 covered to compute the skylines for G q that falls in the region 375 S G q can be reduced to the area defined by S G q − S G p , while 376 the results of skyline computation that have been performed 377 earlier over the area S G p ∩ S G q for G p can be avoided by 378 simply utilising the obtained results derived for G p , i.e. CS G p . 379 6 Without loss of generality, the definition is applicable for a given bounded space, S, i.e. O is a set of objects in the space S. Similar note applies for Definition 4 and Definition 5.

380
Since ERSGU is an extended framework of RSGU, thus the 381 concepts, terms, and notations introduced and clarified in Part 382 A above are applied here. Also, the sample of data given in 383 Table 1 and Table 2 will be referred to as example to clarify 384 the steps of ERSGU. Therefore, the definitions of property of 385 a user, properties of an object, non-spatial dominance, spa-386 tial dominance, non-spatial dominance of the fragment F k , 387 and candidate skylines of the fragment F k are omitted here; 388 readers can easily refer to their definitions in Part A. Never-389 theless, three new definitions are included that are Definition 390 10 Property of an Interesting Object, Definition 11 Closest 391 Property of a t Type of Interesting Objects, and Definition 13 392 p-Closest Dominance. These are further elaborated below.

393
Given a set of p distinct types of interesting objects, 394 395 IN t−n } is a list of n interesting objects of type t. The notation 396 IN t−l is used to denote the l-th interesting object of type t. 397 Definition 10 (Property of an Interesting Object): Each 398 interesting object, IN t−l ∈ IN t , is associated with a spa-399 tial attribute which represents the location of the interesting 400 object. This is denoted as IN t−l (x l , y l ). Table 3 presents samples of interesting objects that are used 402 throughout this paper. There are three types of interesting 403 objects with each type having three objects. The IN 2−3 in 404 Table 3 represents the third object of type 2 with location 405 (11.5, 3).

456
G q = G p , and R q ∩ R p = ∅ by utilising CS G p that has been 457 derived for G p . Note that the CS G p has been derived based on 458 the objects' spatial and non-spatial attributes as well as their 459 p-closest interesting objects. The area covered to compute the 460 skylines for G q that falls in the region S G q can be reduced to with two main aims that are (i) avoiding the process of 470 rescanning the set of objects within a predetermined region 471 that is known to have been previously visited by a group of 472 users and (ii) avoiding the recomputation of skylines of a set 473 of objects within a predetermined region that has been anal-474 ysed in earlier computations of previously visited group of 475 users. Consequently, the number of pairwise comparisons and 476 skyline computation time can be greatly reduced. To achieve 477 these aims, each region is partitioned into smaller units called 478 fragments in such a way that overlapping areas between the 479 currently and previously visited regions can be easily deter-480 mined; hence rescanning the set of objects within these over-481 lapping areas can be avoided. The results of computing the 482 skylines of each fragment, known as fragment skylines, are 483 saved to be utilised by the subsequent requests. This avoids 484 the need to recompute the skylines of subsequent requests 485 that fall within the same region. In this work, skylines objects 486 are point of interests (PoIs) that are recommended to a group 487 of users that are derived by analysing both the locations of 488 the users, i.e. spatial attributes, as well as the spatial and 489 non-spatial attributes of the set of objects that is within a 490 predetermined region of the group of users.

530
When a group of users, G p = {u 1 , u 2 , . . . , u p }, decided to 531 meet, there must be a point to guide the direction of their 532 movements. Fig. 4 shows some examples of direction of 533 movements of a group of users towards a targeted point. 534 In Fig. 4(a), the users u 1 , u 2 , and u 3 are moving towards the 535 object o 12 while in Fig. 4(b), these users are moving towards 536 the object o 7 .

537
In this work, it is assumed that the group of users will 538 move towards a point that has the tendency to be a cen-539 ter based on the users' locations. This point is called cen-540 troid and is denoted by C G p (x G p , y G p ). The centroid of a 541 given group of users, C G p , is determined using the following 542 formula [84], [85]: where x i is the x coordinate of user u i location, y i is the y 545 coordinate of user u i location, x G p is the average of the x 546 coordinates of all users in the group G p , and y G p is the average 547 of the y coordinates of all users in the group G p . Based on the 548 example given in Table 2, the centroid of G a is C G a (8, 9.6). 549

550
The aim of constructing a search region is to limit the 551 searching space to those spaces in which potential candidate 552 skyline objects are derived. Hence, given a group of users, 553 the searching space should include the regions of interest of 554 all users in the group. This is achieved by: (1) identifying the 555 search region for each user, S u i and (ii) identifying the search 556 region given a group of users, S G p .

557
Identify the search region for each user, S u i -Since the 558 centroid of a given group of users, say C G p , which is identified 559 in the previous step does not necessarily contain an object, 560 therefore the nearest object, o n , to the centroid C G p will have 561 to be determined. The nearest object is an object with the 562 shortest Euclidean distance from the centroid, i.e. {o n |o n ∈ 563 Ed is the Euclidean distance function. Based on the example 565 given in Table 1(a), the nearest object to the centroid of G a , 566 i.e. C G a (8, 9.6), is o 8 (8, 9.7). The search region for a user, u i , 567 denoted as S u i , is the area bounded by a rectangle also known 568 as the minimum bounding rectangle, MBR u i . The notation 569 S u i is used to denote the search region of u i while MBR u i is 570 used in forming the S u i . The distance between a user, u i , and 571 the nearest object, o n , denoted by R u i o n , is calculated by the 572 following equation:

589
This step is simply achieved by performing union on the 590 search region of each user in the group, i.e.
An example of a search region S G a = 3 i=1 S u i can be seen  Objects that fall within each fragment are then identified.

604
Given an object, o j (x j , y j ), and a fragment, F k , with bl(x l , y b ), 605 br(x r , y b ), tl(x l , y t ), and tr(x r , y t ), the following cases are 606 identified:

607
(a) If x l < x j < x r and y b < y j < y t , then the object 608 o j (x j , y j ) is said to fall within the boundary of fragment, 609 F k .

610
(b) If x j = x l or x j = x r or y j = y b or y j = y t , then the 611 object o j (x j , y j ) is said to intersect with the boundary of 612 fragment, F k .

613
(c) Objects that do not meet the above two cases are objects 614 that are outside the boundary of fragment, F k .

615
Further, utilising the non-spatial dominance testing given 616 in Definition 8, an extension to the Definition 4, over the set 617 of objects that satisfies the cases (a) or (b) above, denoted 618 by O F k , the non-spatial candidate skylines of a fragment are 619 determined, CS ns F k , as defined by Definition 9.
if and only if o i is no worse than 624 (in this definition, greater value is preferable) o j in all the 625 non-spatial attributes, A N . This is formally written as follows: This will avoid rescanning the objects of the region and 633 repeating the process of pairwise comparisons among the 634 objects during the skyline computation of subsequent skyline 635 queries. Fig. 7 presents the fragments constructed based on 636 the S G a given in Fig. 6. The x-coordinates = {-5.6, 0, 5.3, 637 6.3, 9.6, 9.7, 22.7} and y-coordinates = {-2.6, 0, 6.3, 7.3, 9.7, 638 12.6, 24.7}. Altogether there are 28 fragments; some samples 639 are given in Table 4. The aim of constructing the R-tree of the fragments is to 642 reduce the searching process time. An R-tree is a classified 643 data structure and it is used for dynamic classification of a set 644 VOLUME 10, 2022  to generate the non-spatial skylines of a given group of users. 663 In other words, the pairwise comparisons are only performed 664 between objects that are the candidate skylines of a fragment. 665 The objects that non-spatially dominate the other objects, 666 given the CS ns F i lists where i = {1, 2, . . . , 28} in Table 4  region is analysed and the region with the highest percentage 714 of overlapping area is selected in this step.

715
To identify the overlapping region, the following steps are 716 performed:

723
(3) Get the vertices of S G i that are also in S G j . Based on the 724 example, derived based on the following vertices: Once the O R has been defined, the fragments derived in 736 the earlier step are analysed. Those fragments that fall within 737 the O R ; are retrieved together with their candidate skylines, 738 CS ns F k . To search for the fragments that are within the O R , 739 the R-tree constructed in Part D is traversed starting from 740 the root node. The search is based on the depth-first search 741 tree traversal algorithm. The following rules are applied: 742 (i) If the visited node, v n , is an internal node (example, the 743 node with the a, b, c, d entries of Fig. 9), then each entry 744 of the internal node, e i .v n , is examined (example a). If the 745 entry (example a) overlaps with O R , then rules (i) and (ii) 746 are applied accordingly over the entry, e i .v n ; (ii) If the vis-747 ited node, v n , is a leaf node (example, the node with the 748 F 1 , F 2 , F 3 , F 4 entries of Fig. 9), then each entry of the 749 leaf node, e i .v n , is examined. If the entry overlaps with O R , 750 then it is one of the fragments that will be retrieved for 751 further analysis. Hence, scanning this area is no longer nec-752 essary. While for the non-overlapping area, denoted as ¬O R , 753 the following steps as discussed above will be conducted: 754 (4) Construct the fragments of the non-overlapping region, 755   As shown in Fig. 11(a) and Fig. 11(b)  Each set of objects is then compared not only based on 800 the objects' spatial and non-spatial attributes but also how 801 close are they to the other interesting objects before the final 802 skylines are recommended to the group of users. The object 803 o 7 for instance is near to several interesting objects compared 804 to the objects o 4 and o 6 . From these figures, it is obvious that 805 both regions cover similar area and contain several common 806 objects, namely: o 3 , o 4 , o 5 , o 6 , o 7 , and o 9 . Hence, attempting 807 to rescan the objects of previously visited region and recom-808 pute the skylines of the region (i.e. repeating the process 809 of pairwise comparisons among objects) are undoubtedly 810 unwise and costly. This is because not only the objects' spatial 811 and non-spatial attributes will be analysed again but also all 812 the other interesting objects that are close to the objects need 813 to be reexplored. The ERSGU framework is presented in Fig. 12. It con-815 sists of nine main steps that are: (1) Identify the centroid, 816 (2) Construct a search region, (3) Identify the overlapping 817 region, (4) Construct the fragments of a search region, (5) 818 Construct the R-tree of the fragments, (6) Derive the non-819 spatial skylines, (7) Derive the spatial skylines, (8) Derive the 820 candidate skylines, and (9) Derive the final skylines. Steps (1) 821 till (7) are the same steps as RSGU, while Step (8) Derive the 822 final skylines of RSGU is renamed as (8) Derive the candidate 823 skylines without any changes with regard to the step.
Step 824 (9) Derive the final skylines is the new step incorporated 825 into ERSGU. Hence, only Step (8) and Step (9) of ERSGU 826 will be further discussed while the earlier seven steps are as 827 explained in Section IV.

847
To clarify this step, consider the group of users, G a , and its 848 search region, S G a , as given in Table 1 and Fig. 6, respectively.

849
Assume that the interesting objects that fall within the region 850 of S G a are as presented in Fig. 13 with their detail locations 851 presented in Table 3. In this example, the following are

860
Each type of interesting object has three objects. The  respectively. The locations of each of these objects are as 866 given in Table 3.  of Interesting Objects to the example given in Table 6, 894 the closest object of each type to each C − Sky G a is 895 as given in Table 7. Meanwhile,  Each experiment is run 10 times and the average value 970 of these runs is reported. In deriving the set of skylines, 971 it is assumed that lower values are preferable compared 972 to higher ones. The performance measurement used in the 973 experiments is processing time as it is the most commonly 974 used measurement in evaluating the performance of skyline 975 algorithm [63]. The processing time is evaluated for different 976 parameter settings that are: 977 (i) number of users in a group -which is varied with 978 minimum 4 users and maximum 25 users,

979
(ii) number of groups of users -which is varied with 980 minimum 2 groups and maximum 32 groups,

984
(iv) space size -the space area of the synthetic and TIGER 985 data sets is as presented in Table 9,

986
(v) density -for the TIGER data set, the density of the 987 objects is set to 0.56%, 1.60%, 7%, 15%, and 34%,  Meanwhile, the location of each user is randomly generated 997 within a given space size. These parameter settings are clearly 998 shown in Table 9   where n is the number of groups in a run. For instance, 1048 if the number of groups is 4, the processing time is calculated 1049 as 4 i=1 processing time i . The VR algorithm is performed 1050 repeatedly for each group of user's query in which the prede-1051 termined region of a group is explored even though it has been 1052 analysed during the skyline computation of the earlier groups. 1053 Meanwhile, for both RSGU and ERSGU, only the fragment 1054 skylines that are related to the identified overlapping area 1055 need to be analysed. 1056 Intuitively, when the number of groups increases, the 1057 processing time also increases which can be clearly seen 1058 through the performance of the RSGU, ERSGU, and VR algo-1059 rithm. Nonetheless, both RSGU and ERSGU show a steady 1060 VOLUME 10, 2022 performance for all runs with lesser processing time as com-1061 pared to the VR algorithm. The processing time of ERSGU is slightly higher than RSGU since it has an additional evaluation criterion to be analysed, i.e. the closeness of an object to the desirable facilities or other interesting objects 1065 in the region. Similar trends as presented in Fig. 14(a) can 1066 be seen in Fig. 14(b). On the average, RSGU and ERSGU 1067 gained 70% and 67% improvements for the synthetic data 1068 set, respectively, and 72% and 69% for the TIGER data set, 1069 respectively; compared to the VR algorithm.    On the average, RSGU and ERSGU gained 74% and 72%, 1103 improvements, respectively, compared to the VR algorithm 1104 for the synthetic data set.

1105
Effect of Data Dimensionality -Besides the number of 1106 groups of users and the number of objects, data dimensional-1107 ity is also one of the factors that has substantial effect on the 1108 performance of skyline algorithms in identifying the skyline 1109 objects of a group of users. In this section, the experimen-1110 tal results of the proposed solutions, RSGU and ERSGU, 1111 and the previous algorithm, namely: VR [63] are illustrated, 1112 for both the synthetic and TIGER data sets with respect to 1113 processing time, by varying the number of dimensions from 1114 2 -10 dimensions. The parameter settings for the synthetic 1115 data set are as follows: the number of objects is fixed to 50K, 1116 the number of groups is set to 16 groups with each group 1117 consisting of 15 users, and the overlapping region is fixed to 1118 40%. For the TIGER data set, the same parameter settings as 1119 above are used except that the number objects is maintained 1120 to its initial number, i.e. 50,747 objects.  increases, the processing time also increases which can be 1128 clearly seen through the performance of the RSGU, ERSGU, 1129 and VR algorithm. Nonetheless, both RSGU and ERSGU 1130 show a steady performance for all runs with lesser processing 1131 time as compared to the VR algorithm. The processing time 1132 of ERSGU is slightly higher than RSGU since it has an addi-1133 tional evaluation criterion to be analysed, i.e. the closeness of 1134 an object to the desirable facilities or other interesting objects 1135 in the region. On the average, RSGU and ERSGU gained 69% 1136 and 67% improvements, respectively, for the synthetic data 1137 hotel, and populated place. This is represented in Table 10.  density rate is 15.00% until it reaches to 34.00%. This is due 1169 to the fact that the number of institutions (34.00%) is slightly 1170 more than twice the number of schools (15.00%). Despite 1171 that, both RSGU and ERSGU show a better performance for 1172 all runs with lesser processing time as compared to the VR 1173 algorithm. The percentage of improvement gained by RSGU 1174 and ERSGU is 21% and 14%, respectively. The processing 1175 time of ERSGU is slightly higher than RSGU since it has an 1176 additional evaluation criterion to be analysed, i.e. the close-1177 ness of an object to the desirable facilities or other interesting 1178 objects in the region. For instance, if the object of interest 1179 is restaurant, then the desirable facilities or other interesting 1180 objects are hospital, church, school, and institution. parameter settings used for the TIGER data set are as follows: 1190 the number of objects is fixed to 50,747 objects, the number 1191 of groups is set to 16 groups with each group consisting of 1192 15 users, and the overlapping region is set to 40%. For the 1193 synthetic data set, the same parameter settings as above are 1194 used except that the number objects is set to 50K objects.   performance which reflects that when the percentage of over-1237 lapping region increases, the processing time decreases. This 1238 is due to the fact that both the RSGU and ERSGU exploit 1239 the skyline computation results of the previous groups of 1240 users that are associated to the identified overlapping region. 1241 Hence, the higher the percentage of overlapping region means 1242 the higher the percentage of the area that has been explored 1243 in the earlier skyline computations of the groups of users. 1244 In both solutions, RSGU and ERSGU, rescanning of the over-1245 lapping region and recomputation of skyline objects within 1246 the overlapping region are avoided. Interestingly, when the 1247 percentage of overlapping region is 100%, which implies that 1248 the region covered by the current group of users is the exact 1249 same region that has been explored in the skyline computa-1250 tions of the previous groups of users; shows the processing 1251 time taken is almost 0 because of the skyline results are the 1252 same. However, the VR algorithm shows a steady perfor-1253 mance for all runs which clearly indicates that the overlapping 1254 region has no significant effect on the performance of the VR 1255 algorithm. This is true since the VR algorithm is performed 1256 repeatedly for each group of user's query in which the pre-1257 determined region of a group is explored repeatedly even 1258 though it has been analysed during the skyline computation 1259 of the earlier groups. Based on this analysis, RSGU and 1260 ERSGU gained 82% and 81% improvements, respectively, 1261 for the synthetic data set, and 87% and 86% improvements, 1262 respectively, for the TIGER data set, compared to the VR 1263 algorithm.

1264
Effect of Number of Users in a Group -Another factor that 1265 has a major impact on the performance of skyline algorithms 1266 in processing the skyline queries of a group of users is the 1267 number of users in a group. In this section, the experimental 1268 results of the proposed solutions, RSGU and ERSGU, and the 1269 previous algorithm, namely: VR [63] are illustrated, for both 1270 the synthetic and TIGER data sets with respect to processing 1271 time by varying the number of users in a group from 4 -25 as 1272 applied in the previous study [63]. The parameter settings for 1273 the synthetic data set are as follows: the number of objects 1274 is fixed to 50K, the number of groups is set to 16 groups in a 1275 fixed space [0, 1000] * [0, 1000] with 40% overlapping region, 1276 while the number of dimensions is fixed to 6. For the TIGER 1277 data set, the same parameter settings as above are used except 1278 that the number objects is maintained to its initial number, i.e. 1279 50,747 objects, with the number of dimensions fixed to 2. and 70% improvements, respectively, for the synthetic data 1293 set and 76% and 78%, respectively, for the TIGER data set, 1294 compared to the VR algorithm.

1329
This section presents the time complexity analysis of the 1330 proposed frameworks, Region-based Skyline for a Group 1331 of Users (RSGU) and Extended Region-based Skyline for a 1332 Group of Users (ERSGU). Since ERGSU utilises a different 1333 set of evaluation criteria in deriving the final skyline objects, 1334 hence we only report its time complexity without compar-1335 ing it to the baseline method. On the other hand, the time 1336 complexity of RSGU is compared to a baseline method (BM) 1337 which utilises the conventional skyline algorithm in deriving 1338 the skyline objects for a group of users. In this method, each 1339 group of users is treated separately. This approach is assumed 1340 by many methods including the VR algorithm [63].  Table 11 and Table 12 present the time complexity at each 1348 step of the RSGU and ERSGU, respectively.

1349
In order to compare the time complexity of RSGU against 1350 the baseline method (BM), assume the following:

1351
Given a group of users, G p = {u 1 , u 2 , . . . , u p }, where 1352 G p ⊂ U , and the candidate skylines of G p in region R p 1353 denoted as CS G p with c cardinality. Find the skylines of a 1354 group of users G q = {u 1 , u 2 , . . . , u q } in region R q , i.e. CS G q , 1355 where G q ⊂ U , G q = G p , and R q ∩ R p = ∅. Assume that 1356 O r = {o 1 , o 2 , . . . , o r } is the list of objects that is within the 1357 region R p ; O s = {o 1 , o 2 , . . . , o s } is the list of objects that is 1358 within the region R q , u is the number of candidate skylines 1359 of CS G p that are in the overlapping area O R , and v is the 1360 number of objects that are in the non-overlapping area ¬O R . 1361 Obviously, u ≤ r, u ≤ s, u ≤ c, and u + v < s.  region R p is an unexplored region while R q ∩ R p = ∅ implies 1366 that some parts of the region R q have been analysed in step 1367 (i). To simplify the comparisons, only the steps followed by 1368 BM and RSGU with different time complexities are analysed. 1369 (i) To derive the final skylines of G p using the baseline 1370 method, similar steps to the steps 1, 2, 6, 7, and 8 are 1371 performed. The objects analysed in Step 6 are those 1372 objects that are within the region R p ; hence the number 1373 of objects analysed is r with r(r − 1)/2 pairwise com-1374 parisons [52]. The time complexity to derive the final 1375 skylines of G p with the baseline method, T (BM G p ), 1376 is given below: (i) to avoid the process of rescanning the set of objects within 1427 a predetermined region that is known to have been previously 1428 visited by a group of users and (ii) to avoid the recomputation 1429 of skylines of a set of objects within a predetermined region 1430 that has been analysed in earlier computations of previously 1431 visited group of users. Meanwhile, ERSGU framework con-1432 siders the closeness of the objects to other interesting objects 1433 in its solution as its additional feature. Several