• Nenhum resultado encontrado

Improving user experience in a museum visit using cloudlets

N/A
N/A
Protected

Academic year: 2021

Share "Improving user experience in a museum visit using cloudlets"

Copied!
97
0
0

Texto

(1)
(2)
(3)

Abstract

Museums all over the world receive millions of visitors looking for information on local culture, arts, archaeology, biology, science, to name a few subjects. Despite being major public attractions, these institutions typically resort to very archaic means to disseminate the, sometimes huge, amount of information on the artefacts exposed. Type written tags or audio cassettes can hardly provides users with interactive experiences that take advantage of available technology.

In this context, it is interesting to note, that most museum visitors have at least one mobile device, such as tablet or a smartphone, with considerable storage and computational resources and high quality screen. Some museums actually offer internet access points for such devices. Despite this, most institutions do not take advantage of these devices as platforms that can provide visitors with more sophisticated, interactive contents and experiences.

With these considerations in mind our proposal focuses on creating a system to improve the quality of experience of museum visitors. To accomplish this goal, we propose a cloudlet based system. Besides all the advantages of an access point, these devices also offer processing power and storage capabilities thereby extending possibilities for data presentation in mobile devices.

Cloudlets eliminate the dependence on the cloud, thus providing a solution for applications with greater need for bandwidth and lower latency, such as augmented reality applications, multimedia streaming and real-time applications. To this cloudlet based system we also add an indoor positioning system, this type of location allows the user to walk freely in the museum and receive information about the closest artifact.

(4)
(5)

Resumo

Os museus de todo o mundo recebem milhões de visitantes anualmente, estes procuram informações sobre a cultura local, artes, arqueologia, biologia, ciência, entre outros temas. Apesar de serem importantes atrações publicas, essas instituições geralmente recorrem a meios muito arcaicos para distribuir a informação, informação essa que por vezes pode ser relativa a uma enorme sobre os artefactos expostos. As pequenas etiquetas junto a esses artefactos ou cassetes de áudio dificilmente conseguem fornecer aos visitantes experiências interativas que aproveitam a tecnologia disponível nos dias de hoje.

Neste contexto, é interessante notar que a maioria dos visitantes do museu possui pelo menos um dispositivo móvel, como um tablet ou um smartphone, com recursos consideráveis de armazenamento e computação e ecrã de alta qualidade. Alguns museus ainda oferecem pontos de acesso à Internet para esses dispositivos. Apesar disso, a maioria das instituições não aproveita esses dispositivos como plataformas que conseguem oferecer aos visitantes conteúdo e experiências mais sofisticados e interativas.

Com estas considerações em mente, a nossa proposta foca-se na criação de um sistema que crie para melhorar a qualidade da experiência dos visitantes dos museus. Para atingir esse objetivo, propomos um sistema baseado em cloudlets. Estes dispositivos além de terem todas as vantagens de um ponto de acesso, também oferecem capacidade de processamento e capacidades de armazenamento, estendendo assim possibilidades de apresentação de dados nos dispositivos móveis.

As Cloudlets eliminam a dependência da nuvem, proporcionando assim uma solução para aplicações com maior necessidade de largura de banda e menor latência, como aplicações de realidade aumentada, conteúdos multimédia e aplicações em tempo real. A este sistema baseado em cloudlets, também adicionamos um sistema de posicionamento indoor, cujo objetivo é a localizar o visitante relativamente ao museu para que este consiga receber informações sobre o artefacto mais próximo.

(6)
(7)

Agradecimentos

Em primeiro lugar gostaria de agradecer ao centro de investigação INESC TEC pela oportunidade de participar no projeto HYRAX (CMUP-ERI/FIA/-0048/2013) / FCT, e pela bolsa que me foi concedida.

Gostaria também de agradecer aos meus orientadores, o Professor Luís Lopes e o Professor Rolando Martins, por todo o apoio que me deram ao longo desta dissertação.

À minha associação de estudantes (Erasmus Student Network), por tudo o que me ensinaram.

Aos meus amigos, a família que nós escolhemos, que me apoiou ao longo de toda a minha vida.

Finalmente, gostaria também de agradecer à minha namorada por me fazer acreditar em mim.

(8)

Dedico a toda a minha família por todo o esforço e sacrificio que fizeram para me darem esta oportunidade.

(9)

Contents

Abstract i Resumo iii Agradecimentos v Contents ix List of Tables xi

List of Figures xiv

Listings xv

Acronyms xvii

1 Introduction 1

1.1 Problem Statement . . . 2

1.2 Method . . . 4

2 State of The Art 5 2.1 Cloud Computing and Cloudlets . . . 5

2.1.1 Traditional Cloud Computing . . . 6

2.1.2 Mobile Cloud Computing . . . 6

2.1.3 Limitations of Mobile Cloud Computing . . . 8

2.2 Indoor Positioning Systems . . . 11

(10)

2.2.1 Metrics: What values do we get? . . . 12

2.2.2 Technologies: Wifi, GPS, UWB or BLE what should we use? . . . 13

2.2.3 Indoor Positioning Methods: What can we assume from the values . . . . 16

2.2.4 RSSI Fingerprinting . . . 17

2.2.5 Trilateration . . . 18

2.2.6 Filtering RSSI to Distances . . . 20

2.3 Enterprise Solution . . . 20 2.3.1 Accuware . . . 21 2.3.2 GoIndoor . . . 21 2.3.3 Infsoft . . . 22 2.3.4 Planet Intus. . . 23 3 Architecture 25 3.1 Requirements . . . 25 3.2 Architecture Components . . . 26 3.3 Museum Database . . . 27 3.4 Cloudlets . . . 30 3.5 Mobile Application . . . 33

3.6 Indoor Positioning System . . . 36

3.7 Putting It All Together . . . 37

4 Implementation 41 4.1 Database . . . 41

4.2 Cloudlet . . . 43

4.3 Mobile Device . . . 51

4.4 Indoor Positioning System . . . 53

4.4.1 Bluetooth Beacons . . . 53

4.5 Putting It All Together . . . 55

(11)

5 Results 59 5.1 Measurement Methodology . . . 59 5.2 Indoor Location . . . 60 5.3 Indoor Proximity . . . 69 6 Conclusion 73 6.1 Future Work . . . 74 Bibliography 75 ix

(12)
(13)

List of Tables

3.1 Art Object database table. . . 27

3.2 Art Object database table. . . 27

3.3 Region database table. . . 28

3.4 Cloudlet database table. . . 28

3.5 Cloudlet database table. . . 29

3.6 User database table. . . 29

3.7 Beacons database table. . . 29

3.8 RSSI Fingerprint database table. . . 29

3.9 Application Prototype. . . 33

4.1 Estimote Beacon Features. . . 54

4.2 Gimbal Beacon Features. . . 55

5.1 Distance between each beacon to the mobile device without filters. . . 62

5.2 Distance Graph from each beacon to the mobile device. . . 62

5.3 Distance between each beacon to the mobile device with Kalman filters. . . 64

5.4 Distance Graph from each beacon to the mobile device with Kalman Filters. . . 65

5.5 Kalman Graph from each beacon. . . 66

5.6 Study Test. . . 68

(14)
(15)

List of Figures

1.1 Cloudlet System Architecture Proposed. . . 3

2.1 Mobile Cloud Computing (from [42]). . . 8

2.2 Edge Clouds by AMD (from[4].) . . . 10

2.3 iBeacon packet payload (from [25]). . . 15

2.4 Eddystone packet payload (from [31]). . . 16

2.5 Possible locations after the intersection of two distance’ circumferences adapted from [34]. . . 19

2.6 GoIndoor Add Location. . . 22

3.1 Proposed System.. . . 26

3.2 Management Platform. . . 30

3.3 Cache Server Architecture. . . 31

3.4 Management Platform. . . 32

3.5 Location Screen. . . 34

3.6 Mobile device capturing a Bluetooth Signal. . . 35

3.7 Indoor Absolute Positioning System Flow. . . 36

3.8 Indoor Relative Positioning System Flow. . . 37

3.9 Database Architecture. . . 37

3.10 Cloudlet Architecture. . . 38

3.11 Mobile Devices Architecture. . . 39

3.12 IPS Architecture. . . 39

(16)

4.1 Cloud Technologies. . . 42

4.2 Network Platform Flow. . . 43

4.3 Cloudlet Network phase 1. . . 44

4.4 Cloudlet Network phase 2. . . 46

4.5 Cloudlet Network phase 3. . . 46

4.6 Cloudlet Network phase 4. . . 47

4.7 First time connection request. . . 48

4.8 Absolute location flow from cloudlet perspective. . . 50

4.9 Proximity Process flow from cloudlet perspective. . . 51

4.10 Mobile device flow for absolute location. . . 52

4.11 Mobile device flow for relative location. . . 53

4.12 Estimote Beacon (adapted from [13]). . . 53

4.13 Gimbal Beacon (from [16]). . . 54

4.14 Cloud Components. . . 56

5.1 Blueprint of the room with beacons. . . 60

5.2 Path of our study case.. . . 67

5.3 Room divided into 4 areas. . . 69

5.4 Room divided into 2 areas. . . 71

(17)

Listings

4.2.1 B.A.T.M.A.N Configuration. . . 45

4.2.2 IP routes configuration. . . 45

4.2.3 Wlan1 file configuration. . . 47

5.2.1 Beacons Distance . . . 61

5.3.1 List of fingerprints. . . 70

(18)
(19)

Acronyms

AP Access Point

AOA Angle-of-Arrival

B.A.T.M.A.N Better Approach To Mobile Ad-hoc Networking

BLE Bluetooth Low Energy

CB Classic Bluetooth

CBS Cloudlet Based System

CC Cloud Computing

EU European Union

GPS Global Positioning System

GG Google Glass

IBSG Cisco Internet Business Solution Group

IR Impulse Radio

IPS Indoor Positioning System

LE Low-Energy

LQG Linear quadratic Gaussian

LAN Local Area Network

MCC Mobile Cloud Computing

NIST National Institute of Standard and Technology

RPI Raspberry Pi

RSSI Received Signal Strength Indicator acroRESTRepresentational state transfer

TLM Telemetry

UWB Ultra Wide Band

UID User ID

UI User Interface

WAN Wide Area Network

(20)
(21)

Chapter 1

Introduction

Nowadays the usage of the smartphone is embedded in our daily lives, it is unthinkable to live without them. According to Cisco Internet Business Solution Group (IBSG) close to 80 percent of the world’s population now has access to a mobile phone, and new devices like the iPhone and Android smartphones are bringing a host of applications and services to the palms of people’s hands [41]. These devices are not like traditional cell phones, only able to send messages and make phone calls, smartphones have the ability to take photos, play games, watch videos, surf the web, receiving emails and most important of all, install applications, which are developed by a whole new market that they have created. According to the Eurostat news release [6]

"More than 80% of persons aged 16 to 74 in the European Union (EU) used the internet in 2016, in many cases via several different devices. Mobile phones or smart phones were the device most used to surf the internet, by over three-quarters (79%) of internet users."

With so many people using smartphones, it is then possible to say that humans created a way to extend themselves by realizing functions or operations that before were impossible or very hard to achieve [7].

Unfortunately, these devices have limited resources, not every application is runnable, some of them need more resources than the smartphone can provide. That is where the concept of Mobile Cloud Computing (MCC) comes in [45]. MCC tries to extend the resources from smartphones without the user doing anything, there is a total abstraction on the smartphone resources. The idea is to perform operations not only on the smartphone but on the cloud as well, whenever the smartphone needs more resources than it has available, it uses the cloud to get them, this way the application becomes feasible [10].

However, there are major problems with this concept, an internet connection is required otherwise the application is not going to work, another issue is that some applications need more bandwidth than the network can provide, and some even need low latency to work. One of the technologies that was introduced to address these problems was the cloudlets.

(22)

2 Chapter 1. Introduction

Cloudlets are off-the-shelf devices that offer processing power, storage, and connectivity capabilities. They can be seen as a "Data center in a box" whose goal is to "Bring the cloud closer." [37].

The main goal of these devices is to replace the traditional access points (APs), they are small computers they can provide processing power to the network, thus making applications that require more bandwidth and lower latency’s feasible.

As they are located between the cloud and the mobile device, the cloudlet can pre-process information before sending the information to the cloud, that means that in the case of such application, for instance augmented reality, the pictures or videos that need to go to the cloud for further processing, can be pre processed in the cloudlet and the result can then be sent to the cloud.

There are many use cases of cloudlets, such as tourism, museums, augmented reality applications, real-time applications, home applications, they can be very useful in an enterprise environment as well as in the home environment.

1.1

Problem Statement

In this thesis, we will present a case study about cloudlets system, in particular in a museum by improving user experience only using their smartphones.

Museums are one of the most visited places by tourists and locals that are willing to learn more about a culture. There we can find a collection of artifacts that had some importance in the past for that culture. There we can contemplate art pieces from the past. As a consequence, there are museums that receive thousands of people every day.

It is interesting that nowadays a major part of the people that visit museums carry smartphones and tablets and during those visits, they use them to search more about an artifact. With that into consideration, it is possible to create a bridge between the museum and the mobile device, thus improving the user interaction with the museum. That bridge will be created by combining a cloudlet system, an indoor positioning system, and a mobile app.

Our proposal is to create a cloudlet system to replace the current access points from the museum, create an indoor positioning system that can keep track of the user’s mobile devices and the artwork inside the museum and finally create an android application to give information about users nearby artwork based on the mobile device position.

The museum on its hand would get information about their visitors, making it possible to enhance their experience as well, the museum will get information about how much time the user spent on each artwork. This solution also provides another interesting advantage to the museum, they can distribute dynamic multimedia contents instead of having static information regarding the objects within the museum, thus again, improving the interaction between the museum and

(23)

1.1. Problem Statement 3

its visitors.

Our proposal also counts with a suggestion system, this system can also give customized routes for the users based on the artwork they saw and how much time did he spend in each one thus, improving their experience in the museum.

To achieve this goal we need to connect all these 3 technologies together as such, we created:

• An indoor positioning system based on Bluetooth beacons, these devices can broadcast Bluetooth packets and based on the received strength signal from the mobile device it is possible to estimate the distance between them, with those distances it is possible to estimate the user position.

• An Android application to receive those signals and transform them into distances, and send those values to the cloudlet, as well as to give information about the museum to the user by having their artwork facts on the application.

• A cloudlet system, this system receives the distances from the mobile device, calculates its position, calculates the time the users’ spent near each artwork and stores that information on the cloud database.

Figure 1.1: Cloudlet System Architecture Proposed.

As Figure1.1illustrates, all the components will be connected, the indoor positioning system will send constantly a signal to the smartphones. The smartphones communicate with the with the cloudlet to forward their distances to the beacons, the cloudlets based on these information will then triangulate the position of the users.

(24)

4 Chapter 1. Introduction

1.2

Method

To achieve our proposal we divided this thesis into 5 parts. Chapter 2, focuses on the current state of the art. Afterwards, in Chapter 3 we discuss our system architecture, which is an overview of the whole project, how do we connect the three technologies towards our main goal. The Chapter 4 has to do with the implementation of the prototype, here we detail the implementation, what programming languages we used, how and with what purpose. In Chapter 5we discuss the results, namely the accuracy of our indoor positioning system. Finally in Chapter 6 we present our final conclusions and discuss some ideas and opportunities for future work.

(25)

Chapter 2

State of The Art

This thesis can be unfolded in two parts, first part has to do with the cloudlets, a smart AP with storage and processing capabilities. Those qualities are very important because they let a cloudlet share resources among other cloudlets, the second part in the other hand as to do with the Indoor Positioning System (IPS).

In this chapter we will introduce you to the state of the art of both parts, first we will review what is cloud computing (CC) and what is it good for, afterwards we will introduce the concept of Mobile Cloud Computing, this concept allows mobile devices to take advantage of CC and let us perform operations that before they would be impossible and finally the cloudlet itself, why do we need a cloudlet? what is the use of it?

On the second part of this Chapter, we will review the state of the art of the IPS, how can we achieve it? What concepts are behind it? What do we need to know before implementing these systems?

2.1

Cloud Computing and Cloudlets

Nowadays the Internet is a part of our everyday life, and smartphones play an important role on that part, as smartphones start to become an object of our daily live, where we can easily go to the Internet,chat with our friends or co-workers, instead of a being a luxury.

Unfortunately, even smartphones have limited resources and sometimes some task becomes impossible to perform, to fight this problem the concept of cloud computing was created. This concept has forever changed our lives, now it is possible to upload part of our information into the Internet so we can access it wherever we are with any device. Instead of having all our phone storage full of photos, music or documents, it is possible to migrate them to the cloud where we can access it through the internet. The concept does not stop there, it is also possible to compute programs or perform operations on the cloud. However, is there any limitations or flaws on this concept?

(26)

6 Chapter 2. State of The Art

2.1.1 Traditional Cloud Computing

The famous Institute of Electrical and Electronics Engineers defines cloud computing as [20]:

“A paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients”

In other hand the National Institute of Standard and Technology (NIST) defines it as [32]:

"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

Although there are some required characteristics for the servers to be considered Cloud servers according to NIST [32].

1. On-demand self-service

As the name says, the users, in this case, can take advantages of the resources of a cloud machine, without any human intervention.

2. Broad network access

This is point is easy to understand and relate to. This characteristic is useful for us to access the Cloud resources wherever we are.

3. Resource Pooling

This characteristic allows multiple users using the same physical resources without any collisions.

4. Rapid elasticity

This one characteristic allows the app to use only the resources needed, no more no less.

5. Measured service

The idea behind this characteristic is to measure the resources spent during a period of time and this way the application provider is only taxed based on the resources the app spent.

These traditional clouds opened the door for several new derived concepts that besides taking advantage of all these characteristics created their own, for instance, the concept of Mobile Cloud computing (MCC).

2.1.2 Mobile Cloud Computing

Every day our mobile devices have more useful apps, with more features and more powerful in terms of processing. However we cannot give all the credits to hardware improvements of these

(27)

2.1. Cloud Computing and Cloudlets 7

devices, this is because they are not the only ones having an important role in this area, the Mobile Cloud Computing also played a very important part [38].

Mobile Cloud Computing, is a paradigm whose purpose is to migrate part of the processing and storage in apps away from the mobile device and into a cloud [35], in other words, the role of the mobile device has changed, at the moment there are thousand, or even millions of apps where the only role that the mobile device has in the app is to gather data and then send it to a cloud server, which in its hand will process the data and reply to the mobile device with a result [27]. A big part of the processing is done away from the mobile device, thus, saving resources moreover the app is not limited by the resources of the mobile device.

This concept was introduced not long after the traditional Cloud Computing concept, this happened because the market demanded fast and more interactive apps on the mobile devices. According to Mobile Cloud Computing Forum, we can define MCC as [10]:

"Mobile Cloud Computing at its simplest refers to an infrastructure where both data storage and data processing will happen outside of the mobile device. Mobile cloud applications move the computing power and data storage away from mobile phones and into the cloud, bringing applications and mobile computing to not just smartphone users but a much broader range of mobile subscribers"

We have apps that are examples of that, like Google Maps, here the mobile devices only send the location of themselves and the destination to the server, the server then processes the best route to get to the destination from the given point and returns the result to the mobile device, then the mobile device handles the result, and shows the route on the phone. We also have the case of the Voice Search, in Android devices called Google Assistant, or in the case of iPhones Siri [22].

Nowadays, the mobile market grew so much that there is a whole new business around it, and that has much to do with MCC. At the moment the market can be encompassed in 3 big sub markets, them being: Finances, advertising, and shopping [10]. Like the e-commerce business, which is done over the Internet and its goal is to buy physical objects through a computer, there is also the concept of m-commerce, where you can buy all those things over a mobile device and more, there you can buy applications towards any purpose, you can even buy a flashlight app for your mobile phone whose goal is to turn on the flash from the back camera.

More importantly, the concept of MCC made it possible to offload part of the processing to the cloud, with a new concept called computation offload,this occurs whenever the computation or the processing occurs on another machine, to be more specific, in mobile devices it happens when some of the processing of the application is done elsewhere from the mobile device. It is useful because many applications are too computation intensive to perform on a mobile system, if a mobile device user wants to use such applications, the computation must be performed in the cloud. Other applications such as image retrieval, voice recognition, gaming, and navigation can run on a mobile system. However, they consume significant amounts of energy. [26] Computation

(28)

8 Chapter 2. State of The Art

Figure 2.1: Mobile Cloud Computing (from [42]).

offloading can help in terms of processing and it can save precious resources from the mobile device, some applications that before MCC were impossible to run on a mobile device are now possible by offloading part of the processing to the cloud.

However and unfortunately MCC has its own limitations and problems, if we were to be without cloud connection we could not run some applications, or if the app demanded more bandwidth than the mobile device could offer, some other problems like unreliable mobile Internet access, poor network handover among different network access technologies, unreliable transport channels, screen size, memory limitation, and finally but not least security information would arise [22].

2.1.3 Limitations of Mobile Cloud Computing

Jung et al. consider the problem of low bandwidth, he even considers a policy of data distribution to determine if and how much portion of bandwidth should be shared among users on the same network. These policies take into account the users profile and create decision trees tables using Markov nodes. The user can then decide whether or not to help other users download some content due to bandwidth limitation and how much it should help. This approach might be suitable for users with limited bandwidth, however, it has its own limitations.

Service availability can also be an issue to MCC, users may not be able to access the cloud due to network failures, or the network signal, Huerta-Canepa and Lee, propose an ad-hoc network to help the mobile device to solve this problem by connecting them to nearby devices that can access the cloud. With this proposal no direct link to the cloud is needed, the mobile device

(29)

2.1. Cloud Computing and Cloudlets 9

uses one from a nearby device, however, the capabilities of the devices and the privacy of the neighbors’ devices were not considered [21].

Heterogeneity can also be an issue, MCC will be used with different kinds of wireless network interfaces which could be a problem since different mobile nodes access to the cloud through different radio access technologies such as WCDMA, GPRS, WiMAX, CDMA2000, and WLAN. As a result, an issue of how to handle the wireless connectivity while satisfying MCC’s requirements arises [10].

Although there are some solutions to those problems none of them are optimal, this is where the edge-clouds and cloudlets fit in.

2.1.3.1 Solutions: Edge Clouds/Cloudlets and Fog

Mobile edge-clouds [40] differ from the traditional ones because they rely on mobile nodes such as smart phones and tablet operating in close geographical proximity. These mobile devices will be used as a collection providing both processing and storage capacity.

There are many advantages to this use, the main one being the processing and storage resources in a local physical area can be pooled into a single computing resource to create a mobile cloud. It is possible that in some environments where high bandwidth, low latency connections to the Internet may be limited, for instance in massive crowds, or in a disaster response scenario where cellular networks may have failed. The biggest difference between Mobile Edge-Clouds and traditional Clouds are:

1. The traditional Cloud servers are stationary servers, often located in data centers, with excellent network connectivity, whereas edge-clouds have highly mobile nodes, and may have poor or even intermittent network connectivity

2. Traditional Clouds provide storage and computational capacity and users provide their own data. In Mobile Edge Clouds, besides those resources, nodes also provide the data for the computation, for instance when smartphone users contribute photos, videos, or other forms of data captured on their smartphone, for the computation.

It is important to understand that according to the NIST definition, to access traditional Clouds it is necessary to have access to the Internet, while in Mobile Edge Clouds, Internet access is not required [32]. The concept of Mobile Edge Clouds is far from being finished and they are still lots of challenges to overcome like security and privacy issues.

A cloudlet is a new concept of an AP, it is where a common access point joins forces with a mini computer prepared to store or perform a computational operation. The idea is to connect the concepts previously stated, by using MCC, where the processing and the storage of intensive mobile device jobs will take place in the cloud system and the results will be returned to the mobile device. This reduces the required power and time for completing such intensive jobs.

(30)

10 Chapter 2. State of The Art

Figure 2.2: Edge Clouds by AMD (from[4].)

However, the connectivity of the mobile devices to the cloud can suffer from high network latency or low bandwidth. [23]

A cloudlet is a device that allows a WiFi compliant device to connect to a wired network, it acts as an access point, it is much cheaper compared to the ones in with the same capacity and the most important of all, it has a storage and processing power.

There are many use cases of cloudlets but there is one case where we difference is notorious, the case of Augmented Reality. Let’s use the case of Google Glasses (GG), that instead of sending the information collected from the glasses directly to the cloud, it sends the information directly to the cloudlet. Since the cloudlet is located on the local area network (LAN) the upload speed between the mobile device and the cloudlet is higher compared to the one between the mobile device and the cloud. The cloudlet in its turn, can pre-process everything and instead of uploading all the information as videos or photos, it can process those things and send them in text, avoiding wasting precious resources besides, as data is uploaded in text, the size of the information will be considerably lower, hence giving the GG better results [19].

Another good case of why the cloudlets are useful is on the new wearable technology, they need to perform real time operations based on their location, as an example we have again Google Glass(GG), if we combine it with the powerful capabilities of a cloudlet we can then create some wearable cognitive assistance system, whose goal is to guide a user to perform a complex task [8].

But the question remains: how can we implement a cloudlet system? At the moment, this concept is still very recent and has no standard exists, some progress has been made on OpenStack with a group of researchers trying to create a standard implementation, however, it is still very recent.

(31)

2.2. Indoor Positioning Systems 11

There are major advantages of using cloudlets, either for reducing lag or delays or to save bandwidth or even to create an Internet of Things(IoT) network in just a few steps.

The access to the centralized cloud incurs long latency due to wide area network (WAN) delays. However, real-time mobile applications (e.g., online games, speech recognition, Facetime) have strict requirements on response time. Users of these applications may have unsatisfactory experiences due to delayed communication between the mobile device and cloud [27].

It is hard to find a balance between applications that can be offloaded to the cloud and applications that can be processed in the mobile device, it is hard because sometimes the mobile device does not have the processing capacity to perform an operation or a task but at the same time, if that same operation is variable in time like real time application it cannot be performed in the cloud. So there is an impasse. What can we do about those applications? This is where the cloudlets appear. A cloudlet has emerged as a promising architecture to reduce such communication delay. A cloudlet is a resource-rich server that has Internet access and is well connected to mobile devices via a high-speed local area network (LAN) [27]. Since the cloudlets are in the LAN they can do what the cloud could not, that is, since they are in LAN the uploading speed between the mobile device and the cloudlet is much higher, after the cloudlet gets the data from the mobile device it can pre process everything to raw data and since the new data is lighter than the one before. The cloudlet can then send the data to the cloud to process it and the whole process can be much faster than the data going to the cloud directly.

These devices allows applications like virtual reality or augmented reality feasible. One major problem with these applications is that they have to upload videos or images to the cloud so they can compute it, with the cloudlet that is not required anymore, the mobile device can upload those videos or images to the cloudlet via LAN, the cloudlet in its hand can pre process the whole data and turn it into text, thus saving bandwidth for the other users [19].

2.2

Indoor Positioning Systems

The Global Position System (GPS) has made possible to obtain the location of devices outdoors, however, due to signal attenuation because of the materials used in buildings it is not possible to use the same technology for indoor positioning. There are several other methods to accomplish location indoors, however, some have big error rates or they are extremely expensive [29].

There are numerous real-world applications of indoor positioning systems. To name a few, one can consider the location detection of products stored in a warehouse, location detection of medical personnel or equipment in a hospital, location detection of firemen in a building on fire, detecting the location of police dogs trained to find explosives in a building, and finding tagged maintenance tools and equipment scattered all over a plant [28].

However, there is no standard implementation of these indoor positioning systems even worse, there is not even a standard on what metrics should we use or technology to implement those

(32)

12 Chapter 2. State of The Art

systems, which makes the implementation very hard, that happens because every technology has its advantages and drawbacks. In the subsections below we will discuss some of the metrics, techniques, and technologies there and chose the one that we will be working with.

2.2.1 Metrics: What values do we get?

There are several methods to get the user position based on radio frequency, or at least the area where he is at, however, they all require some kind of metrics, those can be either time, or it can be the receive signal strength indicator, or even by the angle of arrival of the signal.

Every of this metrics, however, has its drawbacks and its pros, that is why there are so many metrics and that is why none of them is standard on indoor positioning systems.

2.2.1.1 Time-of-Flight

Given that radio signals travel at the speed of the light, it is possible to estimate the distance between the emitter and receiver by measuring the time a signal takes to travel from a point to another, for instance from a beacon to the mobile device. The time, t, the signal will arrive at the receiver is given by:

t = ttx+ d

c + dT (2.1)

In equation 2.1 ttx is is transmission time, d the distance and c the speed of light. dT is a term to stand for clock drifts, which must be considered if the send/receive devices are not completely synchronized [34].

This method needs clock synchronization, otherwise, it will not work or at least lose accuracy. As such, either they are physically connected, which in the case of this thesis, would not be that easy, or we would need a very precise mechanism to synchronize all clocks.

2.2.1.2 Angle-of-Arrival

Angle-of-Arrival (AOA), is defined as the angle between the propagation direction of an incident wave and some reference direction, which is known as orientation. Orientation, defined as a fixed direction against which the AOAs are measured, is represented in degrees in a clockwise direction from the North. When the orientation is 0 degrees or pointing to the North, the AOA is absolute, otherwise, relative. One common approach to obtaining AOA measurements is to use an antenna array on each sensor node [36].

There are several approaches to estimate the AoA. In single antenna systems, a simple approach is that a receiver rotates the antenna until it finds the angle where the RSSI is maximum [34].

(33)

2.2. Indoor Positioning Systems 13

This measurement, however, suffers from multipath effect. The time and angle of an arrival signal would be affected by the multipath effect; thus, the accuracy of estimated location could be decreased [28].

2.2.1.3 RSSI

Received Signal Strength Indicator(RSSI), is a metric of the magnitude of the signal power as assessed by the terminals of a receiver. This measure can then be used to obtain an estimate of the position, by using analytic and/or empirical models [34]. This measurement is the easiest to explain and it is the easiest one to deploy, the only thing we need is a transmitter to send a radio signal and a receiver to get and analyze the strength of the signal.

Along with the previous measurements, it has several drawbacks, most of them being regarding the environment, it suffers from multipath effect, interference, scattering, and reflections, the RSSI at a receiver is generally subject to significant fluctuations, which means that loss in accuracy and eventually indoor location very difficult.

Although this metrics has some drawbacks, there are some possibilities of controlling the error and there are some methods that can take those drawbacks in consideration and still achieve a good precision. We decided to work with this metric because it is the most deployed thus, having a better support and it is the cheapest compared to the other metrics implementations.

To work with this metric we used Bluetooth beacons, which emit Bluetooth packets that we can use to calculate the RSSI and estimate a position.

2.2.2 Technologies: Wifi, GPS, UWB or BLE what should we use?

Now that we have established and understood the metrics behind indoor positioning system, we need a technology to perform those metrics, or in other words, a physical device.

There are several options and we have considered some of them, we could have tried with Wi-Fi, which sounds like a good option but the accuracy is not that good, actually according to some papers, the accuracy is between 2 and 2.5 meters in average [24] which seem OK compared to GPS technology but for indoor location is still too far off.

There is also the ultra wideband technology (UWB), whose signals differ from widely used narrowband and wideband signals by their very large bandwidths. A common signaling scheme for UWB systems is known as impulse radio (IR). UWB, which consists of short duration pulses (on the order of a nanosecond) with low duty cycles, and employs different time hopping and polarity codes. UWB systems can employ very short duration wave forms, and hence, they can achieve high time resolution and facilitate accurate range and position estimation. UWB achieve high penetration capability through obstacles. Furthermore, UWB systems can be operated in baseband in a carrier-free manner, which makes it possible to design low-cost and low-power

(34)

14 Chapter 2. State of The Art

systems [39]. UWB has an accuracy of about 65 cm [9], which is good enough for the trilateration process. However the UWB technology has some major drawbacks, the mobile devices cannot listen to those signals.

With everything into consideration we chose to use with Bluetooth low energy beacons because they are cheap and have low error rates [12]. Although the UWB seems to be the best technology as mobile devices cannot listen to those signals it is useless for our case study.

We still considered using a tag that captures/receives those signals and afterwards communic-ate them to the mobile device through Bluetooth and that way we would "extend" the possibility of a mobile device to receive the UWB signals, that would be feasible if, we would not need many tags, however since our case study is about a museum it would be unpractical for the user to have a tag with him all along the visit, and even if they did, the museum would need to invest more money in tags for maybe thousands of users, which would make the implementation of this system expensive.

The Bluetooth Low Energy or BLE was created to use very low energy 0.01–0.50 W (depending on the use) compared to 1W of the Classic Bluetooth (CB) and have more range than the CB [43], which is pretty good since the mobile device’s battery does not get drained and the beacons do not need to be turned in a plug.

The BLE uses an ideology of "Get what you want when you want" that allows devices to wake up as soon as the data is needed and in this way the BLE device, in this case, the beacon, can save energy. This technology is a new specification of the Bluetooth protocol developed by Bluetooth Special Interest Group. It was designed to complement the CB technology, however, the BLE is considered a different technology because it has different purposes and applications.

Bluetooth beacons are small devices that use the BLE technology. These devices announce themselves to nearby devices through advertisement packets, typically sent at fixed intervals for a short duration.

In a Bluetooth beacon system, the idea is for the beacons to send advertisements, or packets, over the air in the same frequency as wifi so that the mobile device can receive that packet and process it towards an end, in this case, to try to estimate where the mobile device is located inside a closed space. There are two types of beacon Bluetooth technologies, iBeacon, and Eddystone.

iBeacon is a term Apple is using to describe its own implementation of BLE beacon technology within iOS7. The term iBeacon is quickly becoming synonymous with the general term BLE beacon, but the technology is also supported by Android. An iBeacon has only one purpose, to send an identification number and the measured power. It is like a lighthouse that sends light signals to ships and boats so that they know where the coast is.

The iBeacon data format has a 31-byte payload as seen in Figure2.3

It starts with two bytes for the Company ID and is followed by one byte for the Type. The next byte is for the Data Length. These first four bytes are fixed and cannot be changed. The

(35)

2.2. Indoor Positioning Systems 15

Figure 2.3: iBeacon packet payload (from [25]).

next 16 bytes are for the Proximity UUID, which is used to identify an iBeacon. Following that it has two bytes each for Major and Minor. These two values can be used for identification or to group them. The last byte is the Measured Power and is used to calculate the proximity between an iBeacon and the device that receives the data [25].

Eddystone beacons are a little bit different. Eddystone is an open beacon protocol developed by Google which features numerous advantages over iBeacon, most important of all being its open source license. The Eddystone packet payload, shown in Figure 2.4, contains the same information as the iBeacon one, only formatted in a different way.

Figure2.4shows the payload of the Eddystone beacon. It has a field called Eddystone Frame, that can be used for different purposes. It can store a UUID frame that has 20 bytes, that frame is composed by 5 fields, the first included in all Eddystone frames, indicates the frame type. Just as with iBeacon, the TX Power field is also present but, in case of Eddystone, this value is calibrated at a distance of 0 m. The two fields called Namespace ID and Instance ID represents the same data as the iBeacon Major and Minor values, in the case of Eddystone, however, the Namespace ID will be unique per beacon deployment and the Instance ID will be unique for each beacon device.

However the Eddystone can store other frames other than UUID, it can store a URL frame the data in this kind of frame, as its name suggests, is a URL of up to 17 bytes in length. Any device passing by, with the necessary functionality built into it, can pick and interact with this URL.

Finally, the Eddystone frame can have a third type of frame called telemetry (TLM), this frame is intended for broadcasting telemetry data related to the beacon device. This can either be battery voltage, beacon temperature, advertisement count or elapsed seconds since power-on. Because this packet does not contain any beacon ID, it must be paired with another frame that contains this information (either UID or URL) [44].

(36)

16 Chapter 2. State of The Art

Figure 2.4: Eddystone packet payload (from [31]).

2.2.3 Indoor Positioning Methods: What can we assume from the values

Now that we have established the measurement we will use and what technology we still need to understand or study how can we estimate the user position.

There are several techniques, we will discuss two of them, the most common ones, RSSI fingerprinting and trilateration. The first one is very easy to implement but it only works for proximity, or in other words, it does not give the user an absolute position just a relative one. It has a major drawback, if the environment changes, for instance, if we add a beacon sometime in the future if the rooms changes over time, it can destroy an area making it impossible to estimate the user location.

The trilateration technique, however, tries to estimate the absolute user location, however, it also has some drawbacks. As previously stated the RSSI measurement suffers from fluctuations which make it really hard to get a good accuracy, so the trilateration tries to estimate the user position.

(37)

2.2. Indoor Positioning Systems 17

2.2.4 RSSI Fingerprinting

One of the simplest methods of achieving the indoor positioning goal is by using the fingerprinting method. This method retrieves the position of the mobile device relatively to an object/area. To accomplish that every object/area are registered in a database with

• The name of the object • The ID

• The values of RSSI

The RSSI values are collected from all the nearby beacons.

This method has two phases. The first one being the offline phase, where we register in a database every object/area and its respective values. The second one is to locate mobile devices based on their RSSI values, with those values we can calculate the closest object/area that is registered in the database [5].

2.2.4.1 Calculating Indoor Proximity

A fingerprint is a vector of RSSI values observed at a location. Suppose there are N radio beacons in an indoor environment, where each radio beacon periodically transmits at a fixed transmit power. At time instant t, let be the RSSI value of a signal received from ith beacon. Then a fingerprint F can be denoted as [15]:

F =

r0(t), r1(t), ..., rN−1(t)



(2.2)

In equation2.2the fingerprint is represented by F and the r0,r1,..rN −1, represents the reading of the beacon 0 to N-1 during a time t.

After collecting a good amount of fingerprints, this now depends on how accurate we want to make the system, we store them in a database, so we can use them afterward. The collection of fingerprints is known as the offline phase, we still need the online phase.

During the online phase, a fingerprint at an unknown position is observed and compared to entries in the radio map. The location of the reference point with the “closest fingerprint” is reported to be the estimated location.

2.2.4.2 K-Nearest-Neighbor

There are several methods to calculate deterministically the position of the mobile device, however, in this thesis, we will use the "K-Nearest-Neighbor" method because it is simple and very popular

(38)

18 Chapter 2. State of The Art

and has good results. The goal of this method is to find out what is the closest neighbor, in this case, the closest beacon. The process works as follows:

At each reference point, the mean of RSSI values for each or beacon at the ith reference

point is calculated, and then this averaged fingerprint is used to represent the reference point. Next, the Euclidean distances between the current fingerprint and averaged fingerprints of all the reference points are calculated using the equation below. The reference point whose fingerprint has the smallest Euclidean distance is the best estimate of the user’s location.

d Fi, Fj  = N −1 X k=0 rk,i, rk,j 2 (2.3)

To help deal with the problems of individual fingerprints, the K reference points with the smallest Euclidean distances are determined. To estimate the actual position of the user, a weighted average of the locations represented by these K nearest reference points is used. This process is the so-called the “K-Nearest-Neighbor” algorithm [15].

2.2.5 Trilateration

As in previous methods, to get an absolute position we will use the RSSI received from the beacons, but now we will use it to get the user absolute position. This method although, is not as straightforward as the previous ones, to get an absolute position as (x,y) coordinates we needed to perform three phases.

The first phase consisted of 3 major steps, the first one is to map the room/building or space, we wanted to track into coordinates, the second step is to fix the beacons on a wall, the third and final step was to map the beacons into (x,y) coordinates.

The second phase consisted on translating the RSSI into distances, or more precisely, translate the RSSI to the distance from each beacon to the mobile device, unfortunately there are some things we need to take into account before we do it, the RSSI values suffer from a large number of unpredictable factors, as stated on 2.2.1.3these signals suffer from environmental factors, even a small change on in position or direction may result in dramatic differences in RSSI, nonetheless there are some factors that affect RSSI that can be partially solved, that is the case of the multipath(fast fading) and the shadowing(slow fading). These two factors can be modeled with Rayleigh or Rician and log-normal distributions. Therefore, RSSI values (P owerReceived), can be modeled by means of the following expression [30]:

P owerReceived = Gt.Gr

.Pt. g2

dn (2.4)

Where is Pt the transmitted power, Gt and Gr are the transmitter and receiver gains respectively, d is the distance between emitter and receiver,n is the path loss exponent, g and γ are the parameters that conform the Rayleigh/Rician and lognormal distributions, respectively.

(39)

2.2. Indoor Positioning Systems 19

Averaging over certain time interval we can eliminate the fast fading term. Thus, taking logarithmic units in2.4 and following the derivation steps, RSSI values can be modeled by the following expression:

PR= α − 10nlog10(d) + X (2.5)

where d is the distance between the transmitter and the receiver and the term X denotes a Gaussian random variable with zero mean caused by shadowing. The term α is a constant which depends on several factors: averaged fast and slow fading, gains Gt,Gr, and transmitted power Pt, therefore, in practice, the value of α can be often known beforehand.

Usual examples of the use of this expression with specific values for α and n are the known propagation models of free space [30].

Using the iBeacons packets it is possible to extract information to estimate the distance between the mobile device and the beacon using the model just discussed. We can now proceed to phase three.

On phase three we will make use of the trilateration technique, this is a geometric process whose goal is to determine positions from one or more circles. Considering that we already know the distance from the beacons to the mobile device we can then assume that the mobile device is inside a region defined by the radius of that distance, or a circle with that radius. If one knows the distance between more than one beacon we can calculate the intersection points of those regions until we end with two single possible positions [34].

Figure 2.5: Possible locations after the intersection of two distance’ circumferences adapted from [34]

The point of intersection of these circle is obtained by solving the n nonlinear equations simultaneously to eliminate two coordinates, where n is the number of beacons.

As a summary, to perform trilateration we need first to place the beacons at a fix position and store its coordinates into a database. Secondly, our mobile device captures the bluetooth

(40)

20 Chapter 2. State of The Art

advertising packet from the beacons, extract its RSSI, tx power and its ID so it can finally translate the RSSI into a distance. Thirdly, after packets of at least 3 different beacons have been received during some period of time, the mobile device performs the trilateration technique.

Although all of this seems very feasible, during our experiments we realized that even with the free space model to estimate the distance from the RSSI, the accuracy was not good enough, mainly because of environment. We then turned into signal processing algorithms, to estimate better distances in this case, we used filters.

2.2.6 Filtering RSSI to Distances

Filtering techniques try to capture eventual patterns in the signal variations and use it to better match measured points in the online phase. Without filters due to RSSI attenuation we could get a wrong reading from the beacons and consequently, from a moment to another we could be 5 meters a part without moving. The usage of filters tries to prevent that from happening. Although the usage of this filters require more computation power, it gives us a better positioning accuracy.

2.2.6.1 Kalman Filters

Kalman Filter is an estimator to what is called the linear quadratic Gaussian (LQG), which is the problem of estimating the state of a linear dynamic system disturbed by Gaussian white noise. Kalman filters provide a means for inferring the missing information from noisy measurements. On those situations, the Kalman filter is used to estimate the state vector from partial state measurements and is called an observer [18].

In some circumstances, the Kalman filter is a learning process. It models the estimation problem that distinguishes between what we can observe from what is going on. We will apply this filter to the distances given by the RSSI over time, thus getting a better accuracy.

2.3

Enterprise Solution

Although our solution is unique, or at least we have not seen any other solution that had cloudlets to serve as access points and Bluetooth beacons to get the user location, there are still some enterprises solutions that are worth reading about.

There are many uses for indoor tracking, we, however, are using it for museums, but there are companies that are focused on creating that system for other purposes.

(41)

2.3. Enterprise Solution 21

2.3.1 Accuware

Accuware is a company whose goal is to provide solutions to your location needs [1].

They also have both our solutions for indoor, the indoor location and proximity. As they state on their web page:

"Indoor Navigation is a system that blends ambient Wi-Fi and iBeacons signals with data from devices’ internal sensors to deliver devices’ locations with sub-meter accuracy. This enables building branded iOS and Android mobile apps to guide users to their destinations with precise turn-by-turn instructions."

They use both iBeacons and the wifi signal to figure out the user location, however, the average error rate on measured distances are 1 meter if we use their SDK, or 2 meters if we use their API. Their method is a little bit different from our, they use the fingerprint method and we will not use that method [2].

As for their proximity solution is similar to ours, although it has a twist, they use the method of fingerprinting, the same as they use for the location system, however, their solution only works for iPhone and iPads. According to their website [3]

"Accuware Wearabouts is a system whose components are: Wearabouts app installed on iOS multiple iBeacons deployed through a venue, the Wearabouts app running on an iPhone or iPad, and a cloud-based server."

Although their solution is similar to ours, it is based on a different method, fingerprinting. They do not use cloudlet either.

2.3.2 GoIndoor

GoIndoor is a Switzerland’s company, they also provide the indoor positioning system. Their solution is similar to ours, they also use iBeacons to locate the mobile device, however, they have a big error rate since they only provide 2 meters precision.

Although the accuracy is nothing extraordinary, they developed something quite interesting, instead of being worried about the precision they developed an SDK really easy to manage, with an admin panel making the beacons deployment really easy. The administrator can add blueprints to their website, set floors, add places, those places can have tags, information and can trigger notifications. As you can see from the figure 2.6it is really easy to add information to a place, a place can be anything the administrator wants.

This solution is similar to ours since it is very easy to deploy and the administrator can manage everything. Unfortunately, the location precision is not that good.

(42)

22 Chapter 2. State of The Art

Figure 2.6: GoIndoor Add Location.

2.3.3 Infsoft

Infsoft is a German’s company, they offer an indoor navigation system. According to them:

"Infsoft offers indoor navigation and indoor positioning systems for various industries. Since GPS is not available indoors, we use Bluetooth beacons for indoor positioning or set up the indoor positioning system with Wi-Fi. Furthermore, we realize high-precision solutions based on Ultra-wideband (UWB). We have developed a special hardware for indoor tracking – the Infsoft Locator Nodes and Infsoft Locator Tags – which help you find assets and people in buildings in real time. Renowned companies use our indoor navigation apps, as well as our tracking and analytics solutions. Infsoft technology is also available as an indoor navigation SDK and can be used in third party systems. Get to know us!"

They offer three types of indoor positioning, one based on wifi signal with an accuracy of 5 meters, another based on iBeacons, those with an accuracy of 1-3 meters. Lastly, they provide a solution with ultra-wideband, with the ultra-wideband they are able to provide an accuracy of 10-30cm, however, this technology is more expensive it is mostly suitable for special industrial applications. Unfortunately, it is not possible to discuss their administrator page since, a registration is needed and during the same, they ask to agree to their Non-disclosure agreement, which forbids images to be taken from their website.

They do not provide any information about how their location system works, but what is most interesting in this company is that they developed

"Infsoft Locator Nodes", those nodes are similar to our cloudlets but they only provide analytics to the admin. According to their web page: "The Locator Nodes capture the data they receive from the sender (i.e. smartphone or beacon) and forward them to the Infsoft LocAware platform , which processes the data. Using the variousR

(43)

2.3. Enterprise Solution 23

tools then allows to view positions, analyze movements, or use location-based services. Integration with third-party systems such as Cisco (CMX, MSE, Meraki), HP Aruba or Xirrus is also possible. "

2.3.4 Planet Intus

This solution is the one most similar to ours. They use Bluetooth beacons as well to track mobile devices and servers to perform trilateration. According to their website:

"Fundamentally, Planet Intus IPS is using a trilateration technique to define the distance between an object and geo-positioned infrastructure. "

However, they offer 3 types of solutions. The first one is the one most similar, they describe it as:

"Passive Bluetooth Indoor Positioning" and according to them: "For this solution, an infrastructure of Bluetooth Access Points (APs) is to be installed on site. APs are to be connected to the electrical grid and the WiFI/LAN. The objects or people to be positioned are equipped with BLE beacons. When in operation APs transmit the RSSI information for each beacon back to a server, which performs the trilateration operation and defines the position of objects or people. The infrastructure requires a dedicated server which will need to be scaled in accordance with the number of beacons to be traced."

They also offer WiFi indoor location and a solution called Nomad Beacon Positioning, which is a little bit different from ours and what we are looking for, according to them:

"This solution is building on our ability to define the position of cell phones relative to beacons. However, in this particular case, the cell phone is used to locate the beacon, not the other way around".

This solution is very similar to ours, although they do not use their dedicated servers as cloudlets. Unfortunately, it was not possible to verify their indoor location precision or even their SDK, the only thing we can analyze are their white papers.

(44)
(45)

Chapter 3

Architecture

As discussed in Chapter 1, this thesis goal is to create a novel way of interaction between a museum and its visitors through an Indoor Positioning System (IPS) and a Cloudlet Based System (CBS). We propose to create a system that allows a visitor to walk around the museum and get information about the objects nearby.

Both systems are independent of each other, however, to accomplish our goal, they have to work together. The IPS allows the user to find its position regarding the museum. However, the position alone cannot provide us the information about the nearby objects. The CBS, on the other hand, can access the museum database which is located on the cloud as well as connecting mobile devices into themselves. Joining both systems can provide us a solution for our proposal.

3.1

Requirements

The whole system is composed by 4 major components: a cloud which contains all the information regarding the museum as well as the parameters of all the other components (c.f. Section 3.3); the cloudlets, which were used as access points; the mobile devices; and two types of IPS, which will be used to locate the mobile devices.

To create the CBS, it was necessary to have a database hosted in the cloud, which contained all the information regarding the museum as well as the parameters of all the other components (c.f. 3.3).

It is also fundamental to have a cloudlet per room. These are small devices with the ability for processing and storage and with the capacity to broadcast two wireless networks, one that will be used as an access point and another for cloudlets to communicate with each other. As such the cloudlets will be responsible for all the communication between the mobile devices and the cloud, each cloudlet will be responsible for the connections in a defined region.

As for the IPS, at least 3 Bluetooth beacons per room are required, these devices emit a radio frequency signal that is later captured by the mobile device which, in turn, will use to

(46)

26 Chapter 3. Architecture

translate its RSSI into a distance.

The proposed system is illustrated in Figure3.1. All components can communicate with each other and although they all have different jobs, they work together to towards our goal.

Figure 3.1: Proposed System.

Figure3.1 also illustrates all the components from our system. At the top of the figure we have the cloud, where our database will be located. Below, we have the cloudlets, which will be used to fetch information from the cloud, as well as to provide an AP with Internet to the mobile devices; The mobile devices are the components which will communicate with the cloudlets and they are the ones providing information about our IPS system, which are located below them and are composed by Bluetooth beacons.

The flow of the system can be described in 4 steps: 1) The cloudlets request the museum information to the cloud; 2) the mobile devices capture signals from the beacons, and translate the RSSI from those signals into a distance; 3) the mobile devices send those distances to the cloudlet where they will be used to calculate the user position; 4) cloudlets use the user’s distance to estimate a position.

Our initial goal was to achieve 1-meter accuracy, although this was not defined by any museum in particular, in some museums, this accuracy is more than enough, however in others that accuracy might not be good enough, as such we needed to display several artifacts.

3.2

Architecture Components

The remainder of this chapter will be divided into five parts, following Figure3.1 we will start from the top, where the cloud is located, down to the beacons.

(47)

3.3. Museum Database 27

First we will discuss the database and its design, this is crucial because the database will dictate the way every component interact with each other. Secondly, we will discuss the cloudlets, which are responsible for making all the connections between the mobile devices and the cloud, as well as to distribute all the information among all the devices connected to it. Thirdly our mobile app, which is responsible for all the interaction between the user and the museum. We will then discuss our IPS, which is in charge of locating of the mobile devices within the museum. Finally the last section we explain the system as a whole.

3.3

Museum Database

The database is a crucial component of our proposed system, there lie the parameters needed for the components to work. We analyzed the flow of the system illustrated in the Figure3.1.

The first component we examined was the museum itself, since the museum has art objects exposed we need to store information about them, we did not go into much details about them, we just stored basic information such as an identifier, a name, an artist, its description and finally an image associated with it. The final result was a database table that looked similar to the Table3.1 Art Object Name Text Artist Text Description Text Image File

Table 3.1: Art Object database table.

However, this object does not have any location, as discussed in Chapter 1 to locate an object it is necessary to use a Cartesian coordinates system, as such, the simplest solution was to decompose the museum into coordinates and define the location of each object regarding those coordinates. Hence it was necessary to modify the Table 3.1and add an (x, y) coordinate. The final result was a Table similar to 3.2

Art Object

Name Text

Artist Text

Description Text

Image File

Position (Float × Float)

(48)

28 Chapter 3. Architecture

Region

ID Text

Minimum plane coordinates (Float × Float) Maximum plane coordinates (Float × Float)

Table 3.3: Region database table.

Cloudlet MAC Address Text

Position (Float × Float)

Region ID Text

IP Address Text

Table 3.4: Cloudlet database table.

At this moment, we can already define the art objects and their location, it is now time to move to the next component, the cloudlets. As discussed in Section3.1, these devices will be in charge of all the communications inside a defined region, as such it is necessary to store that information in the database. Those regions can be defined by an identifier and its boundaries, which are represented by a minimum and maximum plane coordinates. As a result Table similar to3.3 was created.

As for the cloudlet, they can be defined by an IP Address; a MAC Address; its coordinates; and the region they are responsible. As a result, the database stored a Table similar to3.4

As referred further in Section 3.4, we will also create a platform that allows the museum manager to monitor the cloudlet network. That platform allows the manager to monitor basic aspects of the network such as: which cloudlets are online; which cloudlets have Internet access; which cloudlets share their internet access and serve as a gateway ; in the case of a cloudlet being connected to another to get internet access, what is the address of that cloudlet. As such we added those fields to Table 3.4 and the final result was a Table that looked like3.5

All the cloudlet parameters are now defined, we can move to our next component, the mobile device. At this moment, we already have information about the museum, the cloudlets, and its regions but none of the users and one of this thesis goal’s is to provide some feedback regarding the museum visitor to the museum itself. As stated in Chapter 1, the feedback will be composed by a user identification and the time he spent near each art object. As a result, a Table similar to3.6 was created.

Finally, we can proceed to the last component, the beacons belonging to the IPS. They are defined by an identifier, which in this case will be their MAC Address and its coordinates. As a result, a Table similar to 3.7was stored.

(49)

3.3. Museum Database 29

Cloudlet MAC Address Text

Position (Float × Float)

Region Text

IP Address Text

Online Boolean

Internet access Boolean

Gateway Boolean

Gateway Address Text

Table 3.5: Cloudlet database table.

User Feedback

User ID Text

Art Objects List (Text × Float)

Table 3.6: User database table.

Beacon MAC Address Text

Position (Float × Float)

Table 3.7: Beacons database table.

fingerprints in the database. That fingerprint is composed of the name of the art object, its ID and a set of RSSI values with a beacon associated with them, or in other words, a pair of (Beacon ID; RSSI) values. The fingerprint Table was similar to 3.8

Fingerprint Object’s Name Text

ID Text

Fingerprints List(Beacon × Float)

Table 3.8: RSSI Fingerprint database table.

The database is now completed, however, since the art objects may not be permanent, we decided to create a platform where a museum manager could change the database without requiring any technical support.

This platform gave the museum manager the ability to effortlessly add art objects that are exhibited in the museum, or change, for example, the location of any object, or even remove the art object from the museum. In addition, we also added the possibility to add more cloudlets and Bluetooth beacons. This platform is illustrated in Figure3.2.

Referências

Documentos relacionados

Despite the Th17 cell heterogeneity observed in PB from SLE patients, the pattern of distribution of the different cytokine- producing Th17 cell subpopulations observed was

[r]

i) A condutividade da matriz vítrea diminui com o aumento do tempo de tratamento térmico (Fig.. 241 pequena quantidade de cristais existentes na amostra já provoca um efeito

Peça de mão de alta rotação pneumática com sistema Push Button (botão para remoção de broca), podendo apresentar passagem dupla de ar e acoplamento para engate rápido

Caso utilizado em neonato (recém-nascido), deverá ser utilizado para reconstituição do produto apenas água para injeção e o frasco do diluente não deve ser

Ao Dr Oliver Duenisch pelos contatos feitos e orientação de língua estrangeira Ao Dr Agenor Maccari pela ajuda na viabilização da área do experimento de campo Ao Dr Rudi Arno

Neste trabalho o objetivo central foi a ampliação e adequação do procedimento e programa computacional baseado no programa comercial MSC.PATRAN, para a geração automática de modelos

Ousasse apontar algumas hipóteses para a solução desse problema público a partir do exposto dos autores usados como base para fundamentação teórica, da análise dos dados