• No se han encontrado resultados

5. MARCO TEÓRICO Y CONCEPTUAL

5.1 ASFÁLTO

5.1.4 Propiedades de los Ligantes Asfálticos

messaging. For example, the iOS platform for Apple mobile devices comes with the Apple Push Notification Service.An iPhone application, for astrophysical transients, that

144

uses this service is described by Truax [154]. An iPhone app for transient alerts has also been released by the LSST collaboration [155].

The notification system used in the Android platform is called GCM (Google Cloud Messaging for Android). It was designed to replace, and overcome the drawbacks of the previous Android Cloud to Device Messaging (C2DM) notification system [156]. The GCM model is very similar to the C2DM model. It contains three main components; an application server, a GCM server, and the Android device. The application server (which can be implemented in most programming languages) is developed by the application provider, and the GCM server is provided by Google. Before using the GCM service, both the application server and the mobile device need to be registered on the GCM server.

Following registration, when new data becomes available, the application server sends a message to the GCM server via HTTP POST. The message sent from the application server is a lightweight message intended to inform the mobile application that new data are available, but without requiring transfer of all the data to the application. When the GCM server receives the message, it will immediately route the message to the mobile device if the device is online. Otherwise, the message will be held and delivered once the mobile device is back online [156].

Once the message is successfully delivered to the mobile device, the mobile application will start up, process the message, and fetch the new data from the application providers’ server. Moreover, the application should continue running (either in the foreground or background) in order to receive messages from the GCM server. When the application is not running, it will not be able to receive any new messages at the GCM server.

The GCM service provides the ability for application users to receive new event notifications rapidly. However, there are some issues with the GCM service as described below.

145

1. Enabling the GCM service in the Android platform is a complex task, requiring the developer to spend considerable effort in coding the application server and the Android application.

2. The GCM service has two OS version restrictions. The first restriction is that only those devices with Android 2.2, or higher, are able to use the GCM service. In other words, if the device owner does not upgrade their Android OS to at least version 2.2, they are not able to receive all the functionalities provided by the GCM service. The second restriction is that those devices with Android versions higher than 2.2, but lower than 4.04, are required to set up a Google account and install the Google Market on their device in order to use the GCM service. As of writing this thesis, the current version of Android OS is 4.4. If users update their device to the newest OS version, they would be able to use the GCM service.

3. The GCM has limits on the payload of each message. It only allows 4 KB of pure text message to be sent to the device. In some application contexts, however, the application provider may wish to send other types of data (such as imaging and/or graphical data), or messages of more than 4 KB directly to the application. As mentioned above, the provider cannot send messages directly to the application. Every message is required to pass through the GCM server. If imaging and/or graphical data are included, the message could easily end up being more than 4 KB and thus be rejected by the GCM server.

4. The GCM has rate limits for notification messages on each application on each individual device. These limits were designed to prevent malicious application providers sending huge amounts of spam messages to the device. When the rate limits are exceeded, the notification feature of the application will be suspended for a few minutes. The application is not able to receive any instant notifications during the suspension period. This limitation will have an impact on the transient event application, because new generation surveys (such as LSST) are expected to detect huge amounts of transient events in a short period. Therefore, even though

146

new generation surveys employ a filtering feature that allows the user to select the event types they want to receive in the mobile application, the notification message rate limits might still be exceeded.

These limitations have prompted us to consider using message oriented middleware as an alternative approach for delivery of our transient notifications to Android device. With the message oriented middleware, we can avoid all issues encountered in the GCM. The MOM broker will not block the communication channel in the case of high frequency messaging, and any version of Android can communicate with the MOM broker through the application program interface (API). In the next section, we will explain how to communicate with the ActiveMQ broker in the Android application.

Documento similar