1 Introduction

The prevalence of mobile devices today has changed the way people visit exhibitions. Mobile users employ hand-held devices to download navigation information in exhibition halls that support digital navigation systems. They create visit schedules, and decide how long they will stay according to their interests and needs; moreover, they obtain abundant navigation information without a guide in exhibition halls. However, in mobile navigation system, virtual scenes become richer and more complicated; as more detail is included in the file, it becomes larger and larger. For example, users can install all the scenes of an exhibition from a CD to their mobile devices, without the need to download massive amounts of data. However, mobile navigation systems generally require real-time downloads, so the long download time would affect the smoothness of the navigation.

Most existing navigation systems adopt a traditional client-server model. The drawback of the client-server model is that it has low transmission efficiency when server is overloaded. In other words, more hardware facilities will have to be purchased in order to improve the problem of low transmission efficiency, and the cost of maintaining this system will continually increase. Therefore, improving transmission efficiency in mobile navigation systems without increasing maintenance costs is a challenging research topic.

With P2P and virtual reality (VR) technologies developing rapidly, wireless transmissions and mobile devices have become prevalent, and the research topic of integrating P2P and virtual reality technologies into mobile navigation systems has recently received increased attention. Unlike traditional client-server approaches, mobile users share the multimedia data in a P2P-based mobile navigation system. Each user is both a client and server at the same time, thus enabling a decentralized distributed network. The advantage of P2P-based mobile navigation system is the ability to duplicate data.

Massive multiuser virtual environments (MMVEs) are a significant development in VR technology, which enables users to control a virtual avatar to allow greater interactions with a virtual environment, and strengthens the feeling of being personally in the virtual scene. However, the MMVE system usually stores navigation data in fixed servers. When the number of users increases, the number of servers is increased to maintain service efficiency. As a result, system maintenance costs continuously increase. Many researchers have aimed to apply P2P technology to MMVEs [24, 610, 12]. For example, Ohtonen et al. [8] presented a mobile P2P navigation application prototype named NaviP2P; it showed the feasibility of combining navigation and peer-to-peer applications. HyperVerse [2] uses a decentralized P2P architecture to build a large scale virtual environment, in which users can issue or modify items at will, as well as interact with others. FLoD [6] separates scenes into several small files, and uses P2P streaming to transfer and exchange scene data, allowing it to display details to different degrees, according to the progress of the data collection. Cavagna et al. [3] used PBTree and MPEG-4 technologies to encode extensive building data, which can transfer scene data faster, rendering them more applicable to streaming. Liu et al. [7] applied the P2P wireless network to a vehicle navigation system, and verified the advantages of downloading navigation data. Wang et al. [10] developed a virtual navigation system combining positioning function with an efficient P2P transmission mechanism.

Zhao [13] proposed an Internet-based broadcast network to broadcast the augmentation information of satellite navigation systems, based on P2P technology, which demonstrated good performance. A mobile phone navigation system was also designed for the Taiwan International Flora Exposition [9]; users could stroll through entire areas following the routes recommended by the navigation system, and were provided with related flower information. Chou [4] designed a mobile augmented reality system for heritage building navigation using augmented reality technology. When the users mobile device receives real-time video of a cultural relic, it can be identified, and related navigation information will be displayed. Wang et al. [12] presented a prototype of a mobile navigation system containing user clustering and P2P transmission mechanisms based on the location and interests of users, which enables the user to download relevant 3D scenes and multimedia information in P2P mode from nearby peers with the same navigation interests.

This study develops a mobile navigation system integrated with user location, grouping and a P2P transmission mechanism in order to effectively increase the transmission efficiency of the system. The remainder of this paper is organized as follows. Section 2 describes the method of positioning and grouping in this system. Section 3 describes the system framework and operating processes. Section 4 discusses the implementation method and results. Section 5 presents the simulation experiments to validate the improved transmission efficiency. Finally, concluding remarks are given in Section 6.

2 Preliminary

The technology employed in mobile navigation systems is developing rapidly. In our system, two technologies are studied: positioning and grouping. This system adopts adaptive RFID technology for indoor positioning, and GPS technology for outdoor positioning. We propose three grouping methods in the system. Using the P2P download strategy, a large scale of navigational requirements can be met in this system.

2.1 Positioning

Today, most mobile devices are equipped with GPS. When users are located in an outdoor area, the GPS signal can be used for positioning. Therefore, in this system, we use the GPS signal for outdoor positioning. If the GPS signal is not applicable when users are located in an indoor area, radio-frequency identification (RFID) is used for positioning. Wang [11] proposed that a users position can be determined using the signal classification matrix of RFID and region overlap analysis mechanism. When users are located in an indoor area, their RFID reader will receive the signal of the RFID tag deployed in that indoor area. They show that the users position can be obtained using the signal level matrix method, and the result will be sent to the server. For this reason, we adopted the signal level matrix method for indoor positioning in our system.

2.2 Grouping

In this section, we first introduce system environment and system model. We then consider the three grouping methods in the system. There are two areas: outdoor and indoor, in the system environment. Membership users fall under separate distributions in these areas. The outdoor area model is shown in Fig. 1a. An outdoor area can be divided to several small areas by the Voronoi approach. There is one server which offers multimedia data over a small area. Users within that small area can share data with each other, or users in different small areas with the same interests can share data with each other by P2P. The indoor area model is shown in Fig. 1b. An indoor area is divided into several small areas by room. There is an RFID reader in each room. Each RFID reader can obtain a users information when a user is equipped with a mobile or handheld device with an RFID tag. Users within the same room can share data with each other, or users in different rooms with the same interests can share data with each other by P2P.

Fig. 1
figure 1

Grouping

Our system divides users into different groups according to the users’ locations and interests, in order to increase the efficiency of the P2P multimedia data download. It obtains the user’s location to decide on the navigation scenes and multimedia information required by users. Then, it performs grouping based on the user’s position and interest information in order to accelerate inquiries and multimedia data downloads. We propose three grouping methods for a location-based download strategy using P2P, so that users do not have to wait for the server’s response, and have efficient P2P transmission, based on their location and interest.

2.2.1 Grouping by Voronoi approach

In a mobile navigation system, large-scale scenes are usually segmented based on square segmentation or hexagonal segmentation. We use the Voronoi diagram to segment the scenes in an outdoor environment in our system because square division and hexagonal division are all based on equal segmentation. When the segmentation areas of virtual scenes are too small, the problem of cut off buildings will arise. If the segmentation area is too big, there may be too many buildings/data in the same area.

Definition 1

The Voronoi diagram of P is the subdivision of the plane into n cells, where P is a set of n distinct points (sites) in the plane, with one cell for each site. A point q lies in the cell of a site \(p_i \in P\) iff \(\|q-p_i\| < \|q-p_j\| \), for each \(p_i \in P\) and \(j\neq i\).

From above definition, the Voronoi diagram consists of all the Voronoi polygons, sometimes called cells, of these sites. The vertices of the Voronoi diagram are called Voronoi points, and its segments are called Voronoi edges. In a mobile navigation scene, each building is an object corresponding to a site on the Voronoi diagram. Voronoi edges of all objects in the Euclidean space are obtained according to their distances, Each Voronoi polygon contains an object, and any point in a Voronoi polygon is closer to the object than to other objects. As shown in Fig. 1a, any point in the light blue region is closest to point A; thus, the users are identified as being in the same group, meaning that the users in the same group are more likely to obtain the navigation data of this region. According to this principle, when users require navigation data, they will search through users in the same region first, and if there are no users in this region, or if the required navigation data is not available, they will search through the adjacent region.

2.2.2 Grouping by RFID approach

In an indoor environment, visitors in the same room usually have the same navigation data, and often have the information required by another user. Therefore, our system will identify which rooms the users are in according to the indoor location results of the RFID reader as the basis for grouping. As shown in Fig. 1b, the users in the red region are identified as being in the same room by the RFID location system; thus, they are allocated to the same group. In addition, the exhibits of interest to the users can be identified according to users positions; then, analysis of the users interests will provide them with different download channels.

2.2.3 Grouping by user’s interest

In addition to the aforesaid grouping, this system identifies a users location according to information from the RFID reader, and the users interest according to interest information provided by user. When users join the navigation system, they are asked to provide information, including their interests. The system has every users attribute value in order to identify every users interests, and to put users with the same interest into the same group. Therefore, users who have the same interest as a group of users can efficiently obtain their preferred information from this group. As shown in Fig. 1c, the blue circles represent the users with the same interests, as based on a survey and the estimation of the recommendation system; therefore, the system places them in the same interest group. The green rectangles and red triangles represent other groups that share interests.

2.3 P2P download mechanism

Figure 2 shows the precedence of the P2P transmission of the system. When a user requests a download of a virtual scene and multimedia data, the system will first check the availability of P2P transmission with the users in the same scene, and download the data if the request is permitted. Otherwise, the system will check the availability of P2P transmission with adjacent users, users having the same interest, and the server, sequentially, or wait briefly and request the P2P transmission again, until the download task is complete.

Fig. 2
figure 2

Precedence of P2P transmission

The virtual scene and multimedia data download mechanism of this system is shown in Figs. 35. In Fig. 3, when user U 1 wants to download the data of a nearby scene, s/he will first obtain the information of users in the same area from the server, and then ask other users of the same scene for the required data to download. If user U 2 has the data requested by U 1, U 1 and U 2 can perform P2P data transmission directly. If there is data, but no bandwidth for the download, user U 1 will ask other users in the same scene for the download data. Otherwise, if other users in the same scene do not have the data requested by U 1, the system will ask users of different scenes or the server for the requested files.

Fig. 3
figure 3

Schematic diagram of P2P transmission between users in the same scene

Fig. 4
figure 4

Schematic diagram of P2P transmission between users in adjacent scenes

Fig. 5
figure 5

Schematic diagram of P2P transmission between users with the same interest

Figure 4 shows the scenario when user U 1 cannot receive data from users in the same scene. In this case, U 1 will ask other users in adjacent scenes (e.g., U 3) whether they have the scene data and bandwidth for U 1 to download. If user U 3 has the scene data and bandwidth for user U 1 to download the scene and multimedia data, user U 1 and U 3 can perform P2P data transmission directly.

In Fig. 5, if no users in adjacent scenes have the files or bandwidth for user U 1 to download, user U 1 will make a comparison based on the initial interest data, and search for other users in other nonadjacent areas from the interest data (e.g., U 4) in order to identify any available files and bandwidth for download. If U 1 still cannot download the scene data through P2P from other users, s/he will finally request bandwidth from the server for the download.

3 System framework and operating process

The network architecture of a P2P system can be classified as completely decentralized, partially centralized or mixed decentralized, according to the degree of decentralization [1]. The P2P system in a partially centralized architecture is the combination of mixed decentralized and completely decentralized systems, and its primary characteristic is that the system contains several servers, with each server serving a portion of users in the network. Furthermore, the servers can communicate with each other, exchange information and then provide information for the users to complete P2P transmissions (e.g., Kazaa is a file sharing platform based on this architecture). Generally, users are not expected to modify or issue multimedia data in the navigation system, so this system therefore adopts the partially centralized P2P structure in order to avoid users modifying the navigation resources, and to reduce and balance system load.

The structure of this system is shown in Fig. 6. The system contains several navigation servers, with each server being in charge of one or more navigation regions, as divided by Voronoi diagram; the servers can communicate and make information inquiries for users to download data. The multimedia navigation database in the navigation servers stores the navigation data and indices of different regions. The location management system receives and manages the coordinate information of users, and returns results to the clustering system for P2P grouping.

Fig. 6
figure 6

Schematic diagram of system structure

The user grouping and management system allocates users to proper groups according to their location and their interest information, and records the state of data downloads, allowing other users to make inquiries. When the navigation server receives a users request, the P2P streaming system provides the user with the information of other users that can provide the required data, makes the connection and transfers the navigation data in P2P mode.

On the user-side, outdoor location and indoor location systems can provide a users position to them, and send the signals to the server for location management and grouping. When the user-side requests the download of new navigation information, the P2P transmission system creates a P2P connection to other users according to the information provided by the server in order to receive navigation data. The navigation information display system displays various navigation data on mobile devices.

Figure 7 shows the operational processes of this navigation system, including (1) preliminary operation, (2) location and grouping, (3) data download and (4) data display; the details are as follows:

  1. 1.

    Preliminary operation: when a user logs into the navigation system for the first time, the network domain will be searched in broadcast mode for any available navigation server. The basic navigation data will be downloaded when the server is found, and then the mobile device displays the initial navigation menu.

  2. 2.

    Location and grouping: outdoor positioning will be completed when a GPS signal is received. If a GPS signal cannot be received, the RFID signal will be received to complete indoor positioning. The position information is then sent to the server for grouping and management. If the user has not downloaded the navigation data of this region, the system will initiate the download program for navigation data; if the navigation data of this region have been downloaded, the data can be displayed by omitting step three.

  3. 3.

    Data download: first, the user will ask the server whether any other users in the same position group have downloaded the required navigation data. If one or more users have, they can try to connect to the users who possess the data, and download the navigation data. If there is no user in this region with the required navigation data, the server will ask adjacent regions. If there is no user with the required files or bandwidth in any adjacent areas for the user to download, the required data will be downloaded from the server, thus reducing the load on the server. If the server is under full load and unavailable for download service, the user must wait for a period of time before restarting the file download program.

  4. 4.

    Data display: when the data download is complete, the navigation data can be displayed on the mobile device screen, and the server marks this user as download complete. When other users require the navigation data of the same region, the information of users who possess the data can be provided for requesters. The users position is continuously updated, and when the user has moved to another navigation region, the data download program will be restarted.

Fig. 7
figure 7

Navigation system flow chart

4 System implementation and outcome

The operating system at the user-side of this navigation system is the Android platform, while the server side is developed using Java (SDK 6.0). First, the completed Java program is executed in several hosts in order to form a navigation server farm. The multimedia data in the navigation system are stored in the server in charge of this region as a 3D model and multimedia information for the user-side to download.

Figure 8 shows the production flow of the navigation data of this system. First, the building dimensions are measured, and the scene is photographed; the model is then formed in proportion using Google SketchUp, and covered with materials, as shown in Fig. 9a. As the hand-held devices today have different display performances, complex construction must be divided into several parts so that devices with poor display performance can display the basic appearance of the building. Therefore, this study used Blender software to separate polygon data from materials, deleted them moderately and then converted the format into one suitable for mobile device displays, as shown in Fig. 9b. After this, the Android emulator simulates the display effect after download, as shown in Fig. 9c; it can be used as the display model of this system after testing.

Fig. 8
figure 8

Navigation data production flow

Fig. 9
figure 9

Tools used in production process

For the location function, the GPS receiver is equipped with general intelligent mobile devices used for outdoor positioning, and the user is provided with an RFID reader during a visit to an indoor area. The MAC (Media Access Control) address of the mobile device is used as the basis of identification for P2P transmission in the system. Finally, the most fundamental navigation pictures and information are presented by the jPCT-AE drawing engine [5], and the latest downloaded scenes and multimedia data are then successively added to the navigation scenes.

Figure 10 shows the schematic diagram of the navigation interface outcome at the user-side of this system. The current position of the user, nearby virtual scenes and landmarks are displayed according to the coordinates obtained by the positioning system. The layout of scenes near the user is displayed at the lower right corner. When the user approaches an important landmark, a tag will automatically be displayed for the user to select; it will present additional exhibition information.

Fig. 10
figure 10

Schematic diagram of user-side navigation interface (outdoor)

Figure 11 shows the schematic diagram of the navigation interface outcome at the user-side of this system on a tablet PC running android. The current position of the user, nearby virtual scenes and landmarks are displayed on the right hand side of the tablet PC screen according to the coordinates obtained by the positioning system. The detailed exhibition information of the building is displayed on the left hand side of the tablet PC screen.

Fig. 11
figure 11

Schematic diagram of user-side navigation interface on tablet PC

5 Experimental results

In order to validate the faster transmission rates of this system, the simulator tool NS2 is used for simulation experiments. In the experiment environment, the number of users is set from 10 to 100, and the file size of the virtual scene is set from 40 MBytes to 200 MBytes. The client-server (C/S) method and P2P method are compared in this system after all users have downloaded all the scene data. All users carry hand-held devices which are connected to the internet by WiFi in the virtual scene.

According to the experimental results in Figs. 12 and 13, the C/S method has a higher initial transmission rate and longer completion time than the exclusively P2P method does; the larger the number of users, the more obvious this becomes. However, the users capability in serving each other gradually exceeds the servers capability as the number of users increases. Therefore, the transmission rate and mean completion time of the P2P method are better than those of the C/S method when the number of users has increased to a certain extent. This system includes the advantage of the navigation data being obtained from the server when user numbers are insufficient. When the number of users reaches a certain point, they can transfer navigation data to each other.

Fig. 12
figure 12

The result of average speed

Fig. 13
figure 13

The result of average finish time

The aforesaid experimental results prove that the traditional C/S method is limited to the fixed bandwidth of a single server; therefore, the transmission rate decreases significantly when the number of users exceeds a certain amount. At this point, the only way to increase system efficiency is to increase network bandwidth or the number of servers. Therefore, for a navigation system serving too many users, the C/S method is difficult and costly to expand.

As the completely decentralized method is characterized by common bandwidth and decentralized processing, the overall transmission rate increases as the number of users increases; however, its upper limit remains affected by the number of hand-held devices and the transmission rate. Therefore, its transmission rate is far less than the C/S method at the beginning, when the number of users is small. For a multi-user navigation system, although the completely decentralized method is easily expanded, the initial data transmission rate may be low.

This system is integrated with two structural advantages: the server mainly manages the file indexes, and it transfers files only at the initial operation of the system, or if no users in the system have the file of the region. The files will be transferred among users as the number of users increases; thus, the overall transmission efficiency of the system can be increased.

6 Conclusions

This study proposed a mobile navigation system containing user clustering and a P2P transmission mechanism based on the location of users. It used active RFID readers and GPS equipment to realize indoor and outdoor location functions. These location functions enable users to know their positions, and the location-based P2P clustering mechanism enables users to efficiently download the navigation information they want in P2P mode from nearby peers with the same navigation interests. The experimental results proved that the method put forward by this paper is actually better than the traditional master-slave and pure P2P structures, and that the transmission efficiency of the mobile navigation systems is effectively increased. Finally, the navigation system has been implemented on mobile devices and tablet PCs.