Next Article in Journal
Institutional Determinants of Budgetary Expenditures. A BMA-Based Re-Evaluation of Contemporary Theories for OECD Countries
Next Article in Special Issue
Deep Learning-Based Multiparametric Predictions for IoT
Previous Article in Journal
Simulation Modeling Approach for Collaborative Workplaces’ Assessment in Sustainable Manufacturing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

A Survey of Context-Aware Messaging-Addressing for Sustainable Internet of Things (IoT)

by
Alaa Omran Almagrabi
1,* and
Yasser D. Al-Otaibi
2
1
Department of Information System, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah 21911, Saudi Arabia
2
Department of Information System, Faculty of Computing and Information Technology in Rabigh, King Abdulaziz University, Jeddah 21911, Saudi Arabia
*
Author to whom correspondence should be addressed.
Sustainability 2020, 12(10), 4105; https://doi.org/10.3390/su12104105
Submission received: 28 February 2020 / Revised: 5 May 2020 / Accepted: 8 May 2020 / Published: 18 May 2020

Abstract

:
Nowadays, communication engineering technology is merging with the Internet of Things (IoT), which consists of numerous connected devices (referred to as things) around the world. Many researchers have shown significant growth of sensor deployments for multiple smart engineering technologies, such as smart-healthcare, smart-industries, smart-cities, and smart-transportation, etc. In such intelligent engineering technologies, sensors continuously generate a bunch of messages in the network. To enhance the value of the data in the messages, we must know the actuality of the data embedded inside the messages. For this purpose, the contextual information of the data creates a vital challenge. Recently, context-aware computing has emerged to be fruitful in dealing with sensor information. In the ubiquitous computing domain, location is commonly considered one of the most essential sources of context. However, whenever users or applications are concerned with objects, and their site or spatial relationships, location models or spatial models are necessary to form a model of the environment. This paper investigates the area of context-aware messaging and addressing services in diverse IoT applications. The paper examines the notion of context and the use of context within the data exchanged by the sensors in an IoT application for messaging and addressing purposes. Based on the importance and need for context of the information, we identify three critical categories of new IoT applications for context-aware messaging and addressing services: emergency applications, applications for guiding and reminding, and social networking applications. For this purpose, a representative range of systems is reviewed according to the application type, the technology being used, their architecture, the context information, and the services they provide. This survey assists the work of defining an approach for context-aware messaging services domain by discovering the area of context-aware messaging.

1. Introduction and Background

Today, information engineering technology (IET) has entered almost every facet of our lives in a wide variety of ways with the emergence of the Internet of Things (IoT). With this emergence, information has become more easily available to users through the IET. The development of ubiquitous computing (UC) is starting, through institutional campuses, to be spread into the real world using three waves of the IoT revolution [1]. The first wave of computing appears as glass-house computing rooms for students. The second wave appears with a personal computer, and the third wave appears as UC. More specifically, communication engineering technologies (CET) are an essential part of life, particularly using mobile phone devices [2]. Mobile CET permits humans to communicate and socialize among themselves regardless of their location or position [3]. This rapid growth of IoT-enabled applications generates a huge amount of information, which brings a challenge of a new era of information handling—that is the big data era [4]. However, IoT-based big data are exposed to several challenges, such as security exposures and threats like eavesdropping and data modification, etc. In addition, such exposures are amplified due to the dynamic and heterogeneous-information nature of the IoT applications. For this purpose, adaptive and context aware information processing becomes compulsory for meeting application prerequisites in terms of user quality of service (QoS) and privacy preservation. The context summons information illustrating the state of a set of units to describe their existing status [5]. In addition, it offers pertinent and expressive information, also named “contextual information,” and is more explainable and reasonable [6].
In 1992, the Active Badge research project of Olivetti Research Ltd., Ivrea, Italy. was considered as the beginning of context-aware applications [7], while the term “context-aware” originates in 1994 [8]. Context was illustrated as location, nearby people, and objects, including any changes in the environment. Context-awareness allows an application to progress and executes a task by using the user’s relevant information. There are various ways to define contextual information, such as the spatial zones, the user environment or profile, surrounding factors (such as winds, rain), position of users and their IoT devices [9]. Moreover, for communication purposes, contextual information can replace the traditional addressing mechanisms such as IP addresses [10]. Besides, the handheld smart devices can be utilized as a source for the contextual information such as recent client location, the user concerns, feedback, messages, activity, or nearby people [11]. However, the system needs to decide the appropriate context for discreet message delivery because of a few problems in the handheld smart devices, such as smaller screen size and limited network connectivity [12]. Nevertheless, it is possible to avoid some limitations of using the mobile phone [13].
It has been over twenty years since context-aware UC appeared [14]. Context-awareness is a significant aspect of the field of UC. The expression was portrayed from multiple points of view in different areas of computer science, for example “context-sensitive help”, “contextual search”, “multitasking context switch”, “contextual psychological perception”, etc. Context can be categorized into three groups: Computing context, that is, network interconnection, communication expenses, bandwidth, network devices in vicinity (for example, printers, display screens, and processing units), the user context, (for example, profile, region, and individuals nearby), likewise the present social circumstance, and physical context (for example, lighting, noise levels, traffic conditions, and temperature) [15]. Besides, time was presented as a fourth context category, for example, time of a day, week, month, and period of the year [16].
Usually, the context of a message is defined in terms of “any information that can be used to characterize the situation of an entity,”. An entity can be a person, place, or object that is identified with the coordinated effort between the user and application [17]. For the framework to be context-aware, the framework needs to apply context to offer suitable information and services that rely upon the user’s action [18]. Moreover, context-aware applications were divided into continuous and discrete applications [19]. Continuous applications adapt according to the change in the information offered to or by the user. In contrast, discrete applications depend on distinct parts of information assigned to individual contexts, such as rooms, times ranges, and are displayed or activated when the context is detected. Context-aware computing applications observe and respond to users changing context. It is defined as “knowledge about the user’s and IT device’s state, including surroundings, situation, and to a less extent, location” [20]. Context-awareness must reflect the user’s state and environmental factors; additionally, a system must regulate its conduct dependent on feedback information [21]. A user’s context can comprise of properties, for example, physical position, physiological state, (for example, water temperature and pulse), enthusiastic state, (for example, happy, stressed, or calm), individual history, day by day conduct, etc. Most researchers have been investigating the use of context in managing devices within their surroundings. Neither of these focuses is linked with communication aspects. A historical perspective of context-aware applications was given depending on the level of autonomy in context sensing and communication action. Context-awareness has been acknowledged as a significant technology basic to modern computing application and illustrates context-awareness in several areas [22,23] such as:
  • Tourism: This type of application provides the user with appropriate information relative to towns, museums, or sites they visit.
  • Fieldwork: Where context is simultaneous regarding recording, separating, and presentation of information with respect to remarks made in fieldwork environment, for example, in the scope of archaeology/health.
  • Expanded devices: Devices, especially handheld processing devices, are set up with at least one sensor to permit them to react to changes in the surrounding conditions.
  • Management of resources: Resources are managed by making the computing devices and rooms/buildings aware of their context.
  • Communication collaboration, and coordination: Context is utilized to arrange and help the correspondence, association, and coordination between users, such as selecting the most appropriate communication channel in a certain situation.
  • storage and retrieval of information: The storage and retrieval of contextual information, such as names and addresses/documents.
Additionally, context is categorized as user context, physical context, and network context [24].

Problem Formulation and Methodology

This review aims to investigate the notion of context-awareness and how it relates to mobile computing messaging application services. We describe context-aware messaging as the use of any knowledge or information by the application to process and execute a messaging task that relates to the user’s situation. In this survey, we consider the term context at every level within an application service. The prevailing tactics remain precisely focused on the structure, notion, the expandability of intellectuals, liability, service identification, confidentiality, safety, data storage, context awareness, and analyzing big data. Based on our previous discussion, this survey includes applications that use context information to provide messaging services. The critical IoT applications, such as emergency applications, are also very important. Therefore, based on the importance and need for context of information in IoT applications, context-aware messaging applications have been categorized into three types to distinguish their uses and the context information used. The classification includes emergency applications that are used during hazard situations, guidance and notification applications, and social network applications, which enable a greater level of communication among people. This paper reviews a collection of representative systems according to application type, technologies, architectures, the context model, and system usage. Besides, we outline the use of context to address the correct message at the accurate time.
To search the related literature for this review paper, we used the methodology of the advanced search property (relevant phrases) in “Google Scholar”. Such as, for the literature related to emergency systems, a combination of the following general terms was used; “emergency systems”, “context-aware messaging”, and/or “application”. Similarly, for the literature on systems for social aims, the following specific terms were used; “social networks”, “social awareness”, “social context”, “context-aware”, “messaging”, and/or “application”.
This paper is organized as follow: Section 2 discusses the applications that use context-aware messaging, Section 3 contains recent related research works, and Section 4 provides a comprehensive discussion of these applications. Finally, in Section 4, we highlight our observations and conclude the contributions of this paper.

2. Applications that Use Context-Aware Messaging

This section investigates the idea of context-aware messaging and how it has been applied in different applications, in particular on the ones that are used for messaging purposes. We explore the way those systems address and construct the messages. In this review, context-aware applications are classified into three categories according to the provided service types. The three most common application areas of context-aware messaging and addressing are: Emergency systems, systems for guidance and notification and reminding purposes, and systems for social aims. This classification is based on the importance of emergency applications delivering an alarm alert in dangerous events like a bushfire tragedy, the guiding and notifying applications being built for guide management and notification and reminder purposes, and the social network applications being used to assist collaboration between agents within the system. Hence, these three categories cover most of the information types generated by an IoT network. In a later section, we comprehensively discuss a few of the recently related research works done by researchers. Figure 1 provides an outline of our taxonomy of systems. Furthermore, the systems will be discussed according to several elements: Application type, the technology used to build the system, architecture, context information employed, and the usage of the services. We compare similarities and the differences between the systems under each category. The following subsections describe context-aware messaging and addressing each of the three main application areas. The context-aware messaging applications are also summarized as a table at the end of this section.

2.1. Context-Aware Messaging in Emergency Applications

An emergency system refers to the action we perform in order to assist ourselves in dealing with disasters in society successfully [25]. It is a procedure that responds to a disaster situation in a minimum of time with high-level information. Recent terminological advancements enhance this procedure by simplifying actions through geographical information systems (GIS) [26]. For instance, GIS improves the ability to make decisions and also eases adequate preparations and helps in the evacuation procedure [27]. Context-aware messaging applications can be utilized in emergencies such a bushfires, tornados, or tsunamis.
A bushfire may result from human action or unexpected natural causes; therefore, the installation of sensors that could monitor such events is critical. Controlling bushfires will call for a huge workforce, and it could result in a great loss if accurate measures [28]. Besides, tsunami management systems make use of different information to predict the future and implement the necessary measures. Observing the sea conditions can uncover signs that indicate unexpected changes calling for a response. This information goes through the geospatial analysts who employ geospatial technology to establish any cause for alarm [29]. Moreover, the emergency knowledge context is not only environmental but includes temporal and emergency procedural information [30]. We discuss the following emergency systems as an example of using context information in emergency systems.

2.1.1. GSM Technology for a Smart Bushfire Monitoring System

A smart bushfire monitoring system [31] offers a faster warning alarm in the situation of a bushfire through earlier detection. The system utilizes a short messaging service (SMS) passed on by GSM telephones. The framework gathers GPS and environmental data from the sensors and GPS modules, and sends them in an SMS with the help of a GSM modem. Moreover, the framework utilizes a temperature and dampness sensor to gather data regularly and transmit it to a microcontroller. This proposed system additionally utilizes a mobile phone module, which has an aggregate GSM modem and GPS recipient. The microcontroller is interfaced with a GPS recipient to state the module position [31].
Figure 2 shows the system workflows. The sensor module has both a humidity and a temperature sensor, which are used by the microcontroller to collect data frequently. The microcontroller states the location data from the GPS receiver and controls the GSM modem when the target information surpasses a predefined limit. From that point onward, the composed data containing humidity, temperature, and location information are sent in an SMS configuration to another mobile phone or SMS server.
The system’s context model comprises locations in the format of scope, longitude, and time, as well as some environmental factors, temperature and relative humidity, as shown in Table 1. For instance, in the event of a bushfire, the information will be collected and updated to the server every two minutes. The alarm message is sent in a normal SMS format. The SMS configuration received from the user includes device ID, temperature, comparative humidity, and location data of the GPS.

2.1.2. ZigBee-Based Smart-Homes Application System

A Smart-home monitoring system is proposed in [32], which uses ZigBee modules to transfer sensory information when a bushfire occurs. ZigBee is a technology that offers the ability to send and receive signals between sensors over a wide area. Surrounding data is gathered utilizing various kinds of sensors, for example, temperature, humidity, wind speed, and wind direction. The data is utilized to direct the environment in and around the smart-home to help generate an alarm whether there is a fire risk or not, as shown in Figure 3. In the typical mode, the observing message is sent every three minutes; it takes 30 s to be sent in the case of bushfire. The ZigBee modules communication range can be up to 90 m in an outdoor environment. Furthermore, this module uses a solar cell panel and high capacity battery attached with each host board [32].
The architecture of the system contains two parts. The first part contains a set of remote boards to gather temperature and humidity information/data. In contrast, the second part is the host board, which includes the same kind of sensors as the remote board, as well as wind speed and wind direction sensors. Besides, the microcontroller forms the assembled data from the remote boards, which contain the host board position and tangible data. The framework utilizes a microcontroller (mC) in the host board to gather and process the tangible data of humidity, temperature, wind speed, and wind direction. It sends an alert when a few estimations surpass a predefined threshold. The GPS will get the module to state the boards’ area. The ZigBee module utilizes the wireless network to connect the host board with a control room. The context the system uses is the location of sensors and time, as well as some environmental elements such as temperature, relative humidity, wind direction, and speed. It is built to send an alarm message to many mobile phones or servers. The alarm message is sent in a normal SMS format.

2.2. Context Aware Applications for Reminder, Guidance, and Notification

Context-aware messaging applications can be utilized for notification and guidance purposes. Notification applications are used to send the system’s user a message that will inform the user about a particular event or related activity, whereas the guidance management application provides the system users with already structured information to achieve a task or provide directions to reach a place, such as the directions to the location where the presentation on a particular topic is going to be shown.

2.2.1. ComMotion

ComMotion [33] is a location-aware computing environment that uses location and time to send messages as reminders to inform the user about related information based on the user’s situation, such as “buy milk” when the user is close to the milk bar. The system ComMotion presents both a graphical and textual interface. The application saves schedules for every location, or class of location (a client may shop at different “markets”). In addition, clients can send suggestions to one another at a particular location. For instance, the application may furnish the client with data, for example, location of surrounding banks, and sends other data at determined times and days of the week. Map information is utilized to introduce the graphical UI to permit full control of official assignments. It likewise offers types of services through a non-visual speech/audio UI. The system recognizes GPS coordinates that are converted into positions that are relative to the user. Users can identify the important locations using the map: Locations, for instance, like “home”, “work”, “school”, etc. The system users can access the web using a mobile phone to get location-based information. This proposed system is formed with a few hardware parts, which incorporate a portable PC, a GPS collector, a CDPD modem, and a Jabra headphone speaker with a bone conductive microphone, as appeared in Figure 4. The figure shows that the framework contains three key modules of the user application and its association with the remote servers. From the present architecture, the user device has the speech server while different servers are on remote stations [33].
The Context information in the form of location and time are used to locate the users. A database of geographical objects such as the location of the milk bar is also used. The system allows the user to view his/her to-do list and any reminder, even if the connection is lost. All reminders are stored on the client device until delivery time. Moreover, if his/her connection is lost and the server cannot access the client device, the new reminders will be saved on the server until communication is re-established. The location name must be in the form of text, not audio, and it is linked to the to-do list or the reminder message to provide the relevant service. After the visual interface appears, the dialogue is used to associate the location name with the to-do list tasks. Speech dialogue takes place only when invoked, so if the user no longer has any interest in the location, the user specifies the location to be ignored. A message will pop up when the delivery time arrives, with a list of text and voice entries.

2.2.2. CybreMinder

CybreMinder [34] is similar to ComMotion [33], but it uses more contextual information such as the presence of nearby people and weather conditions. It is designed to enhance the user’s ability to deal with reminders effectively by better defining the situations reminders are engaged in. CybreMinder provides the user with reminders and situations that can be used in several ways such as time-based reminders or location-based reminders. It provides unlimited use of full context, which allows the users to generate and process situations contextually. The system uses the Context Toolkit running 24 h a day, seven days a week. The CybreMinder decides when the reminder and situations are utilized as shown in Figure 5 [34].
The Context Toolkit contains three levels: Context widgets, context aggregators and applications, and context interpreters. Context widget summarizes information about a particular piece of contextual information such as location or activity. Widgets collect information about the environment and provide services that allow users to influence the environment. The context aggregators and applications are used to allow the application to access multiple pieces of context. Finally, the context interpreter is used to interpret context to infer more general information from low-level data.
The system uses a context model, which depends on the situation of the user but typically involves location in latitude and longitude format, time, place, and other more complicated pieces. The user can send reminders to other users on the list, including themselves. Moreover, the users can choose the situation tab and be obtainable with a situation. This interface permits the specification of the structure of a situation (i.e., a collection of context information), or a particular context, that is linked with the reminder. The reminder delivery selects the most appropriate delivery mechanisms to deliver the reminder message, and it allows the recipient to use a configuration file that holds information about the available methods of contacting the user depending on the user’s situation. It allows the user also to change the status of the reminder.

2.2.3. Elvin for Inter-Agent Context-Aware Messaging

Elvin system [35] is an event-based communication system for the traditional distribution of an application’s notifications. Elvin offers a scalable and content-based system for the distribution of notification events. It uses mobile agents for the client-side where the server represents the Elvin service which is “request-whenever” for subscribing to Elvin, “cancel” for unsubscribing from Elvin, “proxy” for notifications from producers to the Elvin server and “inform” for notifications from the Elvin server to subscribers and consumers. The system uses asynchronous communication or undirected communication mechanisms. Elvin uses a client-server architecture where the server is responsible for the establishment of the communication with clients and to forward messages between publishers and subscribers.
The system uses the user location, time, and event descriptions (message content) as the context information such as “having a party Saturday night”. An agent is allowed to announce the event, and the server keeps a list of subscription events. Other agents register interest in a particular event, and the Elvin server compares the message content with the list it holds and forwards the notification to the relevant agent. Moreover, the Elvin system offers routing messages based on the message content. The notification includes a list of key-value pairs and is summarized within an object [35].

2.2.4. Visitor’s Guide System for PIL Museum

The PEACH-Israel (PIL) framework [36] supports individual and visitors in a group in the gallery by giving context-aware services, for example, a guide book. It has been assessed and tried on a small group of guests with three to four companions. The system has context-aware correspondence services joined with presentation capacities. This visitors’ guide system for museum increases two services to focus on the sharing of the museum experiences, in particular, intra-group communication and framework visitor communication [36]. The specific aspects of this application are that the communication between members of the group is joined with presentation and context-aware communication, considering relative locations, models, and conditions of different group members.
Communication is integrated with presentations using context-awareness. The system integrates locating information from several sources, such as IR and Wi-Fi. PIL is a multi-agent system. Figure 6 demonstrates that the system includes a user-modeling constituent to keep track of the visitor’s activity. Figure 6 also shows that a spatial information broker reads the visitor’s position every so often using different sources such as IR and Wi-Fi. The presentation composer affords presentations to the visitor, taking into account the user’s current location and the visitor’s inferred preferences. The services agent is responsible for the delivery of communication and alerting services for both individuals and groups. At the same time, PIL continues to track the situation of the individual visitor and spread the information around groups. The system uses indoor location sensors and receivers to allow messaging using diverse sources such as IR and Wi-Fi. The PIL system identifies the visitor’s location to provide appropriate services such as starting a presentation. The communication attributes are the sender, address, a set of contextual conditions for delivery, content to be sent, and receiver. For communication services, the sender of the messages can be a visitor or the system. The message can be sent to a particular visitor, to a group, or to everyone within the system. For instance, a message “come to see this”. The message will be delivered immediately as a text message or with delay, depending on contextual information. The system checks the sender and the receiver status within the area.

2.2.5. Conventional Framework for Context-Aware Communication Services for Visitor’s Guides

This system [37] aids the improvement of context-aware communication applications as a rule. The system simplifies the communication services class from Figure 7, which is accessible by the visitor’s assistance and proposes a proficient and general system for developing context-aware communication services for the visitor’s assistance. They provide facilities by configuring a general and generic communication service infrastructure [37].
The expanded tool lets its users (application developers) identify and execute communication services as a fraction of their applications routinely. XML files are used to describe the classes for the Service Configuration tool, indicating the exact configuration of the communication services as well as their contextual conditions and content. Then, the Communication Generator tool, which produces the particular services for the communication infrastructure, uses the XML description files as inputs. The services are produced as an agent in a multi-agent system that has been extended as part of the PIL project (see Section 2.2.4). The communication facility development and usage process contain four significant parts, working in several life-cycle stages, as shown in Figure 8.
  • Design time where the Communication Service Definition tool identifies the communication services.
  • Application development time includes user interface development as well as the demands for sending or receiving services that are prepared at the design time.
  • Runtime initialization level, the communication service generator produces communication services automatically.
  • After the initialization of runtime, users can employ the communication services using the user interface.
In addition to the services that have been provided with PIL, which are SMS-like and Post-It services, there are two additional services provided with the framework, Memories and Visit Reminder. The Memories service allows the visitor to inscribe notes in a free text about different types of objects inside the museum. This service is ordered as a diary service. On the other hand, the “Visit Reminder” service offers a series of reminder services. For example, the visitors may decide a list of locations that they prepare to visit during the visiting time.

2.3. Context-Aware Messaging in Social Network Applications

Social network applications provide services for the user, such as communication and sharing information. The term “social awareness” defines people who regulate their behavior according to the knowledge of collocated others and information about a place, such as a hospital. More specifically, social awareness appears to be a technique used to control the system in order to provide appropriate interruptions that adjust to the nature and urgency of the social context and the current task. We investigate applications that use context information besides social relations to perform social tasks. We describe context-aware messaging in social applications depending on the complexity of the context used without considering the social relation as context information as the following:

2.3.1. Context-Mediated Social Awareness Application

This application [38] uses complex multi-context. Complex multi-context means that the application is using more than two kinds of contexts at the same time to achieve a task. The application aims to support close collaboration using context-mediated social awareness between hospital staff, to provide services such as sharing information. The system provides many services, including face-to-face user conversations, making a phone call, and sending a priority message; in addition, the user can wait for the right moment to get in touch with another person. Moreover, the application allows appropriate interruptions that are sent to the users using the context mediated social awareness of the situation. At the hospital, the necessity for direct communication and mobility was taken into consideration by designing a platform for communication and social awareness that was implemented in a high-end mobile phone named “AwarePhone”. The application has two main user interfaces: One is to show the contact list and the other the interface for the messages list.
The application is built using Java J2SE 1.4, software, Sun Microsystems, California, United States. Three elements are included: A modified version of the AwarePhone, an HTML client, and a Java-based client. The AwarePhone application is executed on a mobile, Nokia 7650 by Nokia Corporation, Espoo, Finland, that has GPRS. The server has a list of users and uses contextual data such as location, activity, and status for messages. The phone prototype keeps updating the context information of location and activity in the server. The main notion in the AWARE architecture is to merge CSCW system modules with Ubiquitous Computing elements. CSCW system components are to provide social awareness between collaborating users, while the Ubiquitous Computing components are to gain context-awareness. The architecture is structured into four layers, as shown in Figure 9.
  • The Client layer includes end-user applications using the framework as a back-end system. For example, internet browser, phone, or client layer.
  • The Awareness layer contains the awareness service and message service or IM service, such as an SMS/MMS.
  • The Context layer is responsible for the administration, transformation, and distribution of contextual information.
  • The Monitor and Actuator layer is accountable for context gathering using numerous sensing and actuator technologies.
The system is applied in the hospital environment and used by the hospital staff members such as nurses, surgeons, and dentists. It uses contextual information of the user’s location and situation to deliver messages, where every system user is associated with three contexts—personal status, activity, and location.

2.3.2. Context-Aware Communication with Live Contacts

Live Contacts [39] is a .NET-based context-aware communication application allowing users to communicate at the correct time via the correct communication channel using multi-context information. This application uses complex multi-context. Complex multi-context means that the application uses more than two kinds of contexts at the same time to achieve a task. Live Contacts application can run on desktop PCs, pocket PC phones, and smartphones. It takes only four clicks to contact a person at the exact moment through an accurate communication network. When Live Contacts is first started, it takes a few seconds to display the current messenger status such as Online, Busy and Be-Right-Back and current calendar information such as work-time and no work-time. Live Contacts presents the last known location information about the user, as illustrated in Figure 10. The system design is based on observed research in the knowledge-work association. Live Contacts clients are implemented in C#, and the Live Contacts server uses the Microsoft .NET (Compact) Framework. The mobile uses GPRS to connect to the Live Contacts Server, and GSM for voice calls [39].
The system first allows the user to select a line; a line can either be the current messenger status or a line that shows an appointment from the calendar of the live contact in the coming 24 h. The communication icons correspond to traffic-light style color. The traffic-light icons (red, orange, green) are used for live contact communication. When you tap on one of the color-coded light icons, Live Contacts will connect you via this communication channel with this live contact or will ask whether you would like to be reminded to communicate at a particular time. Reminders pop up with auditory notifications at the proper time and can be accepted, discarded, or snoozed. Live Contacts will open the communication channel by initiating a telephone call or opening an SMS, IM, or e-mail window.

2.3.3. A Framework for Mobile Context-Based Messaging Applications

A framework proposed in [40] enables messaging applications, where the user can explore and browse messages. It also allows the user to take advantage of different applications and to swap between applications that have the exact framework easily, and it supports several categories of applications that might carry out different tasks such as reporting difficulties of public spaces, evaluation of public services, and the selling of second-hand products. It is implemented using Java, but application details are described using an XML document. Location information is gained using the JSR-179 Location API. The API uses a GPS locator device attached to the mobile to obtain the location.
This framework employs complex, multi-context information to perform the task. The framework enables applications to use location (in latitude and longitude format) and time as context. The framework allows users to send several types of messages: The message to be sent as a regular message, as an opinion poll, or saved as a draft. In contrast, the message format has different contextual and content criteria, depending on what the mobile device supports. For example, the user can send multimedia elements or a text message [40].

2.3.4. Using Semantic Web Technology for Ubiquitous Hybrid Location Modeling Application

The ubiquitous location model [41] is to achieve sharing ability using semantic web technology. The goal behind the application is to model the location and characteristics of the user. They present UbisWorld, which is a ubiquitous computing symbolic location model, and Yamamoto is being used for the modeling of hierarchical geometrical maps. UbisWorld comprises a ubiquitous location and user model to characterize situational statements about the characteristics of the user, including their activity and basic spatial and temporal relations. The user’s information is stored in the ubiquitous model of UbisWorld [41]. Yamamoto is the geometrical map modeling tool developed to relate the location of the UbisWorld model to the real world.
The system is structured to represent the physical dimensions of the surroundings where the symbolic model is augmented by geometrical information on spatial entities. This information is important for associating descriptive locations with geometric coordinates. However, the users’ information is characterized by situational declarations and keeps in the ubiquitous model of UbisWorld. A hierarchical structure is used to represent levels of granularity, where the nodes hold both geometric information and reference. They are programmed using XML and are prepared and available on the World Wide Web. The semantic web language RDF is used to integrate the nodes to form a coherent model. The system can be used to represent aspects of the real world like an office, a shop, a museum, or an airport. It shows persons, objects, locations, times, events, and their properties and features. Figure 11 illustrates these parts of the system [41].

2.3.5. Micro-Blog

Micro-Blog [42] is a model for mobile social collaboration. It was evaluated using energy and localization testing and trace based simulations, and tested among twelve volunteers. Tourism is one of the main services that Micro-Blog provides, where the user can locate and check up on other users nearby and contact them. Users might record messages in their mobile phones and add pictures of the local shop, as an example. The system is implemented using J2ME. The Micro-Blog phone client is executed on Nokia N95 (by Nokia Corporation, Espoo, Finland) mobile phones via mobile phone sensors such as cameras, GPS, and Wi-Fi networking. On the other hand, the Micro-Blog application server was built using MySQL. Micro-Blog is carried over a wireless network such as Wi-Fi or cellular network to a web-accessible database. Then, the microblogs are placed on a spatial platform, such as Google Maps (by Google LLC, Mountain View, CA, USA) or Microsoft Sensor (by Microsoft Corporation, Washington, DC, USA).
The Micro-Blog architecture is classified as a client-server architecture, which records blogs tagged with locations and access permissions. A localization service is used to gain the location estimation. The localization service decides which localization schemes (Wi-Fi, GSM, and GPS) to use, taking into account the application’s exactness/energy requirements. Micro-Blog transfers the location tagged blogs to the application server via a Wi-Fi or cellular connection. The server handles queries from the users and updates their locations. When a client needs to access microblogs, it interacts with a web server to retrieve it. The web server provides only those blogs that the user has permission to access. The phone application must be linked to the blog with the time and location of the device to create a micro-blog. The blog is tagged using several sensor inputs such as accelerometer vibrations, health sensors, Wi-Fi SSIDs, etc. This model uses two types of context information, which we refer to as double context. The types of context information used are time and location of the device depending on the localization schemes (Wi-Fi, GSM, and GPS) being used. The system allows the user to mark out geographic areas and direct queries to the nearest phone in the area. It supports sharing content over the mobile phone, and its application supports several mobile services, for example, Micro-News, Micro-Alert, and social collaboration [42].

2.3.6. InfoRadar

InfoRadar system [43] implements location-based messaging and provides a novel radar interface. It can be used for indoor and outdoor-based messaging. InfoRadar is a system that joins both public and in-group messaging. It can be used to scan messages up to a maximum range of 12 km and has been applied in a shopping mall in Helsinki. The system uses a Personal Digital Assistant (PDA) or mobile phone for location-based messaging. InfoRadar is based on a PDA (Compaq IPAQ) that is associated with an external GPS-device and a GPRS-transceiver attached to the card-slot of the PDA. The GPS-receiver is incorporated into an internal electronic compass for locating the device outdoors and determining the direction of the device.
The client-server architecture of InfoRadar is used to hold all content created and accessed by the client devices. A GPRS-based mobile is used to establish communication between the clients and the server. GPS positioning was used outdoors, and a special version of WLAN, for indoor positioning. InfoRadar supports messaging based on location and time where the user has to define two attributes: The lifespan, as measured by time, and visibility, measured by distance. Moreover, systems use a radar-metaphor to show the position of the user in the middle of the UI. The electronic compass is used to render the orientation of messages concerning the device’s pointed direction. It also shows messages, and traces the direction of other users and supports multimedia messages where the user can define a text string or use digital pictures [43].

2.3.7. Socialight: A Mobile Social Networking System

Socialight helps people to interact efficiently within the structure of social networks. Socialight is a social networking service that provides location-based messaging systems and social filtering. At a fundamental level, the system allows users to search for friends and other users in their area. Social network technologies maintain a map showing connections between friends. Social networks are explored by using the following:
  • Friend Locator, which allows the user to discover the location of their friend within the surrounding area. (Many current social networking applications such as Facebook Places and Foursquare have such features.)
  • Tap and Tickle, which allows the user to communicate with another friend on the network by controlling the length of vibration on their phone.
  • Sticky Shadow, which is a location-based messaging feature built around a geographical place for specific users. The content of the messages can include text, audio, video, or any combination thereof.
Socialight [44] can collect the user’s location information using several different methods—Bluetooth, Global Positioning System (GPS), and network operator data. The current prototype uses Bluetooth beacons to establish the location of the device. The system uses a client-server architecture. The architecture contains many components, including a small-scale social network, databases, and application logic components. The web interface and the Java applications running on user’s mobile phones are representative of the clients. The system gets location using two different methods: Bluetooth zones and Global Positioning System (GPS).
To use the system, the user first visits the official web site to sign up for the social network service to add friends to their network. Then, they download a small Java application to their mobile phone that registers their handset with the server. When the user with the device enters the Socialight network area with a beacon, the socialight enables the user to scan the area. When a Socialight-enabled device enters an area with a beacon, the user scans the area, recovers the location from the beacon, and then broadcasts it to the server using a General Packet Radio Service (GPRS) network. Then, the server locates any friends from the user’s social network within the area and if any Sticky Shadows have been left for the user [44].

2.3.8. Context-Aware Group (CAG) Communication System

CAG [45] tracks the location of a mobile phone user and present group communication facilities to allow mobile users to cooperate with other members. The CAG system supports services for users within similar or diverse positions. The system is implemented using HP iPAQ hx2410 Pocket PCs to install the CAG client application software in Personal Java. The CAG system operates using Windows Mobile Second Edition, and they are prepared with a built-in Wi-Fi Ethernet module. On the other hand, the server-side operating system is Fedora Core 2 Linux, where their development programming language is J2SE, and their database is MySQL v4.0.21. CAG used a cell-based wireless network infrastructure. Each CAG is attached to the backbone network through permanent communication shown in Figure 12.
CAG uses a Wi-Fi Access Point (AP) to provide the DHCP service information about mobile devices within a certain range. This infrastructure affords two advantages. Firstly, each CAG can recognize users within its responsible province using the Wi-Fi Access Point (AP). Secondly, the services are provided over TCP/IP for all users. The system supports mobile phone messaging techniques to send or view a message. To start registering with the CAG, CAG mechanically allocates an IP address to the device via the DHCP protocol. At the time of registering, the CAG acquires and stores contexts related to the user. When the registration is completed, the user stake advantage of the group communication services is offered by the CAG system [45].

3. Recent Related Work

In this section, we highlight recently related work done for the context-aware messaging applications. The purpose of this section is to elaborate the recent works done by the researchers in the field of context-aware messaging applications, specifically focusing on IoT environments. Recently, researchers from industries as well as from institutions have focused on the implementation of machine-learning and optimized mechanisms for such applications. Therefore, this section is further divided into three subsections: Machine learning-based context-aware messaging, sentiment analysis, and context-aware security applications.

3.1. Machine Learning-Based Context-Aware Messaging

Machine Learning (ML) techniques have been effectively used in context-aware informing applications. Shi et al. [46] investigate the approaches essential to managing contextual data classification that falls inside the ML model; the issues in message characterization, classifier advancement, and classifier evaluation are similarly discussed. Joachims et al. [47] develop a speculative learning model of context-aware messaging request for Support Vector Machines (SVM). Peng et al. [48] extend the Naive Bayes (NB) model with an n-gram language model to address two deficiencies of NB context classifiers. In another investigation, Li et al. [49] propose a two-level multi-leveled estimation that expressly joins the nature of SVM and K-Nearest Neighbor (KNN) systems subject to Variable Precision Rough Sets (VPRS) to improve the precision of context request in the message. Recently, Onan et al. [50] lead an expansive examination of looking at base learning mechanisms, that is NB, SVM, regression and random distribution models with five generally utilized for context-aware message characterization.
In recent years, the supervised and semi-supervised learning-based techniques [51] and the deep learning-based techniques have been proposed for the context-aware classification. The fast context-aware classifier fastText [52] provides a direct and powerful benchmark for context-aware grouping. It receives execution equivalent to as of recently proposed methods roused by deep learning while simultaneously, being must faster. Kim et al. [53] outline a progression of trials with Convolutional Neural Networks (CNN) in light of Word2Vec. Its examination results show a clear CNN with little hyperparameter tuning, and static vectors achieve incredible results on various benchmarks. This work is commonly embraced for context-aware data classification. These context-aware data classification strategies can be utilized to recommend messaging for a microblog post. Yet, most of them focus on manifest content and disregard individual components and consistent factors that may impact a user’s decisions for messages.

3.2. Context-Aware Sentiment Analysis

Context-aware sentiment analysis alludes to the strategy of analyzing the subjective suppositions and context from an arrangement of source materials. It is organized to various domains, for example, social networking [54,55,56,57]. Recent related works based on context-aware sentiment analysis use sentiment dictionaries, for instance, SentiWordNet [58,59], SenticNet [60], eSOL [61], and Ml-Senticon [62]. In [58], the authors couple sub-symbolic and symbolic ML to intelligently search theoratical primitives from context and connection it to realistic ideas and named components in another three-level data depiction for sentiment analysis. Domain-specific dictionaries have been introduced to deal with the issue that a couple of words can have different implications (might be positive or negative) dependent upon the domain. Deng et al. [63] propose a technique to receive existing context-based sentiment vocabularies for domain-specific sentiment classification using an unannotated corpus and dictionary. However, the substantial challenge is that they require semantic resources that are missing for specific dialects like Chinese.

3.3. Context-Aware Security Applications

Several works explore and focus on the advancement of context-aware security applications in IoT to manage security and privacy preservation difficulties. In [64], the authors worked on the issue of secure remote control of IoT devices. To accomplish this, they proposed a distributed lightweight fine-grained access control subject to a context-aware Attribute-Based Encryption (ABE) plan and a one-way hash chain for affirmation. In [65,66], Capability-Based Access Control (CapBAC) using approval tokens was acquainted as a realistic technique to be implemented in IoT. The technique relies upon the undertaking of endorsement choices to a focal entity, which passes on privileges to be grasped at the end IoT device. However, the use of a focal entity allowing user verification further presents a solitary purpose of failuar and avoids end-to-end security. Distributed CapBAC (DCapBAC) [67,68] handles these issues by having the endorsement executed by the IoT end devices themselves. In any case, IoT devices are often resource-constrained and may be easily undermined. DCapBAC is less effective in security arrangement in untrustworthy IoT systems. Besides, Attribute-Based Cryptography (ABC) is considered as a promising technique that can be exploited to give flexible access control. In such a technique, each user is identified with a set of contexts, and data is encoded based on an access pattern. Only those users whose properties satisfy the context-based access approach can decrypt the ciphertext. The authors of [69,70] proposed context-aware fine-grained access to a control strategy while joining the Ciphertext-Policy Attribute-Based Encryption (CP-ABE) with time and position factors.

4. Discussion

This section presents a summary of the literature we examined in Table 2. It summarizes the context-aware applications according to application type, technology, system architecture, usage, and user context information. The table identifies the architecture and the context information used to address the message and structure. Moreover, the table displays that location is recorded as a current context that used within several context-aware messaging applications to address the messages. The literature of a context-aware system requires the consideration of many issues, such as the services being provided and the type of user. Each system has its methodology to deliver a message to the user depends on the domain objectives. For example, the bushfire monitoring and detection system (using GSM Technology) and the bushfire monitoring and detection system for smart homes using ZigBee technology, use short messaging techniques to inform the user. However, both systems do not supply the user with further information that may help to avoid disaster. For instance, informing the user or rescuer of the presence of each other and any safe areas and danger areas, and danger movement and direction. The social awareness application gives an idea about how to minimize interruptions and disturbances between users, while the guide notification and management systems provide an idea about using the user’s location information using several different methods—Bluetooth, GPS, and network operator data.
Every context-aware system has the attributes that allow it to construct appropriate messages as well as to address the right actor at the right time. This attribute can be in several forms, such as location, time, and personal behavior. For example, the IPL museum system personalizes the user interface by using a user-modeling component to keep track of visitor’s preferences based on their behavior. Whereas, ComMotion and CybreMinder use the attributes of location and time to address and send messages in the form of reminders to inform the user about related information. Hence, there is an appropriate selection of actual context used depending on the application.
Spatial aspects are used to represent the actual location and the distance of users concerning locations/features. For example, InfoRadar uses a radar-metaphor as a replacement for the position of the user in the middle of the map provided in the user interface. Furthermore, the CAG system supports services for group members within the same or different localities. Grouping the users will minimize communication, overhead, and cost, which can be defined by a threshold-based algorithm that uses the nearest neighbors for continuous monitoring using their locations. More issues need to be studied and addressed, particularly within the emergency application. Some issues depend on the goal and the task that the prototype must achieve. There are common issues in the area of context-aware messaging, such as the level of the security, where the users can share some contextual information about each other and the system; also, an issue is whether the historical context is useful. The number of types of contexts being used in the application varies from application to application. In recent years, we notice that the use of context in the applications has increased significantly as compared to previous years, not only in types of context but the ubiquity of context. Popular social networking applications such as Facebook (e.g., the Place function) and Four Square rely on location, now available on new devices such as iPhones and Android smartphones. Moreover, several works focus on the use of ML-based context-aware messaging techniques for their applications, such as SVM, KNN, NB, and VPRS. These techniques help to find out most relevant context-aware messages for the applications, and also predict prospective information. Another important work done for the context-aware messaging applications is the use of context for sentiment analysis, such as for social networking applications. However, this raises privacy and security concerns due to public messaging information. Therefore, researchers have also contributed to investigating the development of context-aware security applications for IoT environments to deal with security and privacy issues.

5. Observations and Conclusions

Context-aware messaging and addressing applications have the ability to exploit contextual information such as location and time, as well as to take advantage of the increasing availability and viability of mobile technologies like processing power and memory availability. In this paper, we discussed the term “context”, related to a messaging task that an application would perform. A messaging task includes the structure of the message as well as addressing the right target of the message. The objective of this review is to inspect the notion of context-awareness and its association with mobile computing messaging applications to describe a general approach for a context-awareness domain. The survey includes applications that use context information to provide messaging services. The survey provides knowledge about the context information within several domains, and the technology is used to demonstrate those domains. This knowledge inspires the future work of designing a framework for context-aware messaging and addressing. The literature of the definition of context-awareness is provided within the paper as well as our definition of context-awareness as the use of any knowledge or information for the application to progress and execute a messaging task that relates to the user’s situation. Moreover, we illustrated the notion of context-aware messaging and addressing using numerous applications. The survey includes most of the area within the context-aware application that uses context information for constructing and addressing the message at the right time. This review classifies applications into three categories: Emergency applications, guide and notification applications, and social awareness applications. Moreover, we categorize the applications according to the context model being used to deliver the service into three levels, depending on the extent and complexity of the context used. Later, we discussed these three categories in the light of recent related research works. We observed that the future IoT-based engineering technologies need an ML-based solution, specially focusing on security and privacy issues. In addition, we also make the following observations:
  • There is a tremendous similarity in the systems we reviewed in terms of architecture and the way context is used, even when the application type is different, thereby suggesting the feasibility of a general context-aware messaging framework applicable to a wide range of applications, where the range of context information used can be adapted (e.g., some use only location, and others, location, time, user profile, etc.).
  • There is a need to combine indoor and outdoor positioning in the direction of several systems mentioned above, but to be able to do so an integrated manner (e.g., to be able to send messages to everyone within the Chadstone shopping mall or near it, say, the parking area or on a route leading into the mall. There is a need to exploit richer spatial information, not just point-based locations, but geofencing and being able to use spatial features of the environment for addressing (e.g., send a message to all the people near that pond), which has not been addressed in the reviewed systems. The potential of activity-awareness, situation-awareness, and context-awareness for messaging has only been explored to a limited extent in the work reviewed. Richer context can be explored for future context-aware communication and messaging, e.g., information about the situations or activities of people; for example, we might want to send a message to “everyone running or walking (and not those standing still) in a particular area, next to burning building” or even more precisely, to “everyone who started running or walking (and not those standing still) away from the burning building, in a particular area, 5 min ago and who are still doing so”.
  • Hybrid peer-to-peer and centralized client-server architectures have tremendous value, and current context-aware messaging has not fully exploited their potential; e.g., peer-to-peer devices can share contexts to route messages, and as mobile devices move, they can act as probes providing light into more areas and places. Moreover, peer-to-peer messaging, using Bluetooth, for example, can complement other wide-area communication mechanisms (e.g., SMS) in a hybrid style communication, which may be useful in emergency settings when network coverage is reduced.
  • In the applications reviewed, some utilized text and others richer media as smartphones and mobile devices become more powerful, and there is an opportunity to use rich media, even videos, and combinations of sound and graphics in messages that provide better information for emergency and/or social networking reasons.
  • Redundancy of communication is not fully exploited in the above systems we reviewed—especially dealing with dynamically changing contexts, errors in sensed context, or node and system failures.
  • Machine learning techniques have proven their importance in context-aware messaging applications. Numerous researchers have proposed techniques based on supervised, semi-supervised, and deep learning strategies for the context-aware classifications, which can be utilized to suggest context-aware messaging for IoT applications. However, most of the works focus on manifest contents and neglect individual elements and logical variables that may influence a user’s decisions for messages.
  • For context-aware sentiment analysis, multiple domain-specific repositories have been designed so that a few words can have various meanings. However, a significant challenge is that these repositories require linguistic assets that are lacking for certain languages such as Chinese.
  • Privacy and security have not been dealt with extensively in the reviewed systems; for example, controlling the extent that someone’s location is revealed (whether by frequency of reporting or obfuscating the location, or adapting the presentation of locations at different granularities/accuracies depending on levels of friendship).
In the future, we look forward to more sophisticated context-aware messaging and communication systems in the three key areas we reviewed, but also in a larger range of applications and systems which might build on developments in other areas of work, including activity recognition and social media analytic (e.g., sending a message to the people present in the “emerging crowds within a specified city area” or to the people “in this area who are tweeting about the upcoming concert event”).

Author Contributions

Conceptualization, methodology, validation, A.O.A.; formal analysis, resources, data curation, A.O.A. and Y.D.A.-O.; writing—original draft preparation, A.O.A.; writing—review and editing, supervision, project administration, A.O.A. and Y.D.A.-O. All authors have read and agreed to the published version of the manuscript.

Acknowledgments

This work was supported by the Deanship of Scientific Research (DSR), King Abdulaziz University, Jeddah, under grant No. (DF-443-611-1441). The authors, therefore, gratefully acknowledge DSR technical and financial support.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IETinformation engineering technology
IoTInternet of Things
UCubiquitous computing
CETcommunication engineering technologies
SMSshort messaging service
GPSGlobal positioning system
IDidentification
mCmicrocontroller

References

  1. Weiser, M. The future of ubiquitous computing on campus. Commun. ACM 1998, 41, 41–42. [Google Scholar] [CrossRef]
  2. Nummiaho, A. User survey on context-aware communication scenarios. In Proceedings of the 4th International Conference on Mobile Technology, Applications, and Systems and the 1st International Symposium on Computer Human Interaction in Mobile Technology, New York, NY, USA, 10–12 September 2007; pp. 478–481. [Google Scholar]
  3. Lehikoinen, J.T.; Kaikkonen, A. PePe field study: Constructing meanings for locations in the context of mobile presence. In Proceedings of the 8th Conference on Human-Computer Interaction with Mobile Devices and Services, Helsinki, Finland, 12–15 September 2006; pp. 53–60. [Google Scholar]
  4. Wu, J.; Guo, S.; Li, J.; Zeng, D. Big data meet green challenges: Big data toward green applications. IEEE Syst. J. 2016, 10, 888–900. [Google Scholar] [CrossRef]
  5. Wu, J.; Bisio, I.; Gniady, C.; Hossain, E.; Valla, M.; Li, H. Context-aware networking and communications: Part 1 [guest editorial]. IEEE Commun. Mag. 2014, 52, 14–15. [Google Scholar] [CrossRef] [Green Version]
  6. Atat, R.; Liu, L.; Wu, J.; Li, G.; Ye, C.; Yang, Y. Big data meet cyber-physical systems: A panoramic survey. IEEE Access 2018, 6, 73603–73636. [Google Scholar] [CrossRef]
  7. Want, R.; Hopper, A.; Falcao, V.; Gibbons, J. The active badge location system. Trans. Inf. Syst. (TOIS) 1992, 10, 91–102. [Google Scholar] [CrossRef]
  8. Schilit, B.N.; Theimer, M.M. Disseminating active map information to mobile hosts. Network 1994, 8, 22–32. [Google Scholar] [CrossRef]
  9. Damasceno, K.; Cacho, N.; Garcia, A.; Romanovsky, A.; Lucena, C. Exception handling in context-aware agent systems: A case study. Springer LNCS 2007, 4408, 57–76. [Google Scholar]
  10. Geiger, L.; Durr, F.; Rothermel, K. On context cast: A context-aware communication mechanism. In Proceedings of the 2009 IEEE International Conference on Communications, Dresden, Germany, 14–18 June 2009; pp. 1–5. [Google Scholar]
  11. Buthpitiya, S.; Madamanchi, D.; Kommaraju, S.; Griss, M. Mobile context-aware personal messaging assistant. In Proceedings of the International Conference on Mobile Computing, Applications, and Services MobiCASE 2009: Mobile Computing, Applications, and Services, San Diego, CA, USA, 26–29 October 2009; pp. 254–272. [Google Scholar]
  12. Abbaspour, R.A.; SamadZadegam, F. Building a Context-aware Mobile Tourist Guide System based on Service Oriented Architecture. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2008, 37, 871–874. [Google Scholar]
  13. Hofer, T.; Schwinger, W.; Pichler, M.; Leonhartsberger, G.; Altmann, J.; Retschitzegger, W. Context-awareness on mobile devices-the hydrogen approach. In Proceedings of the 36th Annual Hawaii International Conference on System Sciences, Big Island, HI, USA, 6–9 June 2003; pp. 1–10. [Google Scholar]
  14. Coppola, P.; Mea1, V.D.; Gaspero, L.D.; Mizzaro1, S.; Scagnetto, I.; Selva1, A.; Vassena, L.; Rizio, P.Z. MoBe: A framework for context-aware mobile applications. In Proceedings of the Workshop on Context-Awareness for Proactive Systems (CAPS 2005), Helsinki, Finland, 16 June 2005; pp. 1–10. [Google Scholar]
  15. Schilit, B.; Adams, N.; Want, R. Context-aware computing applications. In Proceedings of the First Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, USA, 8–9 December 1994; pp. 85–90. [Google Scholar]
  16. Chen, G.; Kotz, D. A Survey of Context-Aware Mobile Computing Research; Technical Report TR2000-381; Department of Computer Science, Dartmouth College: Hanover, NH, USA, November 2000. [Google Scholar]
  17. Abowd, G.D.; Dey, A.K.; Brown, P.J.; Davies, N.; Smith, M.; Steggles, P. Towards a better understanding of context and context-awareness. Handheld Ubiquitous Comput. 2001, 1707, 304–307. [Google Scholar]
  18. Dey, A.K. Understanding and using context. Pers. Ubiquitous Comput. 2001, 5, 4–7. [Google Scholar] [CrossRef]
  19. Brown, P.J.; Bovey, J.D.; Chen, X. Context-aware applications: From the laboratory to the marketplace. IEEE Pers. Commun. 1997, 4, 58–64. [Google Scholar] [CrossRef]
  20. Gellersen, H.W.; Schmidt, A.; Beigl, M. Multi-sensor context-awareness in mobile devices and smart artifacts. Mob. Netw. Appl. 2002, 7, 341–351. [Google Scholar] [CrossRef]
  21. Satyanarayanan, M. Pervasive computing: Vision and Challenges. IEEE Pers. Commun. 2001, 8, 10–17. [Google Scholar] [CrossRef]
  22. Schilit, B.N.; Hilbert, D.M.; Trevor, J. Context-aware communication. Wirel. Commun. 2002, 9, 46–54. [Google Scholar] [CrossRef]
  23. Haseloff, S. Context-Awareness in Information Logistics. Ph.D. Thesis, Technical University of Berlin, Berlin, Germany, 2005. [Google Scholar]
  24. Liu, W.; Li, X.; Huang, D. A survey on context awareness. In Proceedings of the 2011 International Conference on Computer Science and Service System (CSSS), Nanjing, China, 27–29 July 2011; pp. 144–147. [Google Scholar]
  25. Berry, J.K. Spatial Reasoning for Effective GIS; Wiley Books: Hoboken, NJ, USA, 1996. [Google Scholar]
  26. Cohn, A.G.; Hazarika, S.M. Qualitative spatial representation and reasoning: An overview. Fundam. Inf. Qual. Spat. Reason. 2001, 46, 1–29. [Google Scholar]
  27. Nakashima, H.; Aghajan, H.; Augusto, J.C. Handbook of Ambient Intelligence and Smart Environments; Springer Books: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
  28. Kortuem, G.; Kray, C.; Gellersen, H. Sensing and visualizing spatial relations of mobile devices. In Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology, Seattle, WA, USA, 23–26 October 2005; pp. 93–102. [Google Scholar]
  29. Bigley, G.A.; Roberts, K.H. The incident command system: High-reliability organizing for complex and volatile task environments. Acad. Manag. J. 2017, 44, 1281–1299. [Google Scholar]
  30. Huang, W.; Kong, W.; Tong, Z.; Zhu, X. Research on context-based knowledge representation in emergency domain. In Proceedings of the 3rd International Conference on Biomedical Engineering and Informatics, Yantai, China, 16–18 October 2010; pp. 2953–2957. [Google Scholar]
  31. Liu, L.; Sun, R.; Sun, Y.; Al-Sarawi, S. A smart bushfire monitoring and detection system using GSM technology. Int. J. Comput.-Aided Eng. Technol. 2010, 2, 218–233. [Google Scholar] [CrossRef]
  32. Sun, Y.; Yuan, Q.; Al-Sarawi, S. A bushfire monitoring and detection system for smart homes using ZigBee technology. Int. J. Comput.-Aided Eng. Technol. 2010, 2, 234–249. [Google Scholar] [CrossRef]
  33. Marmasse, N.; Schmandt, C. Location-aware information delivery with commotion. In Proceedings of the 2nd International Symposium on Handheld and Ubiquitous Computing; ACM Digital Library: New York, NY, USA, 2000; pp. 157–171. [Google Scholar]
  34. Dey, A.; Abowd, G. CybreMinder: A context-aware system for supporting reminders. In Handheld and Ubiquitous Computing; Springer: Berlin, Germany, 2000; pp. 201–207. [Google Scholar]
  35. Loke, S.W.; Zaslavsky, A. Communicative acts of Elvin-enhanced mobile agents. In Proceedings of the IEEE/WIC International Conference on Intelligent Agent Technology, Halifax, NS, Canada, 13–17 October 2003; pp. 1–4. [Google Scholar]
  36. Kuflik, T.; Sheidin, J.; Jbara, S.; Goren-Bar, D.; Soffer, P.; Stock, O.; Zancanaro, M. Supporting small groups in the museum by context-aware communication services. In Proceedings of the 12th International Conference on Intelligent User Interfaces, Honolulu, HI, USA, 28–31 January 2007; pp. 305–308. [Google Scholar]
  37. Kuflik, T.; Soffer, P.; Reinhartz-Berger, I.; Jbara, S.; Stock, O. Generic Framework for Context-Aware Communication Services in Visitors Guides. J. Softw. Eng. Appl. 2011, 4, 268–281. [Google Scholar] [CrossRef] [Green Version]
  38. Bardram, J.E.; Hansen, T.R. The AWARE architecture: Supporting context-mediated social awareness in mobile cooperation. In Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, Chicago, IL, USA, 6–10 November 2004; pp. 192–201. [Google Scholar]
  39. Henri, G.; Otte, R.A.A.; Kruse, H.C.J.; Snijders, M. Context-aware communication with Live Contacts. In Proceedings of the Conference Supplement of CSCW, Chicago, IL, USA, 6–10 November 2004. [Google Scholar]
  40. Nummiaho, A.; Laakko, T. A framework for mobile context-based messaging applications. In Proceedings of the 4th International Conference on Mobile Technology, Applications, and Systems, Singapore, 10–12 September 2007; pp. 619–622. [Google Scholar]
  41. Stahl, C.; Heckmann, D. Using semantic web technology for ubiquitous hybrid location modeling. Geogr. Inf. Sci. 2009, 10, 157–165. [Google Scholar]
  42. Gaonkar, S.; Li, J.; Choudhury, R.R.; Cox, L.; Schmidt, A. Micro-Blog: Sharing and querying content through mobile phones and social participation. In Proceedings of the 6th International Conference on Mobile Systems, Applications, and Services, Breckenridge, CO, USA, 17–20 June 2008; pp. 174–186. [Google Scholar]
  43. Rantanen, M.; Oulasvirta, A.; Blom, J.; Tiitta, S.; Mantyla, M. InfoRadar: Group and public messaging in the mobile context. In Proceedings of the Third Nordic Conference on Human-Computer Interaction, Tampere, Finland, 23–27 October 2004; pp. 131–140. [Google Scholar]
  44. Melinger, D.; Bonna, K.; Sharon, M.; SantRam, M. Socialight: A mobile social networking system. In Proceedings of the Sixth International Conference on Ubiquitous Computing, Nottingham, UK, 7–10 September 2004; pp. 1–2. [Google Scholar]
  45. Jou, C.; Wang, W.J. The Design and Implementation of a Context-Aware Group Communication System. In Proceedings of the International Conference on Pervasive Systems & Computing (PSC 2006), Las Vegas, NV, USA, 26–29 June 2006; pp. 1–7. [Google Scholar]
  46. Shi, L.; Ma, X.; Xi, L.; Duan, Q.; Zhao, J. Rough set and ensemble learning-based semi-supervised algorithm for text classification. Expert Syst. Appl. 2011, 38, 6300–6306. [Google Scholar] [CrossRef]
  47. Joachims, T. A statistical learning model of text classification for support vector machines. In Proceedings of the ACM SIGIR, New Orleans, LA, USA, 9–12 September 2001; pp. 128–136. [Google Scholar]
  48. Peng, F.; Schuurmans, D. Combining naive Bayes and n-gram language models for text classification. In Proceedings of the ECIR, Pisa, Italy, 14–16 April 2003; pp. 335–350. [Google Scholar]
  49. Li, W.; Miao, D.; Wang, W. Two-level hierarchical combination method for text classification. Expert Syst. Appl. 2011, 38, 2030–2039. [Google Scholar] [CrossRef]
  50. Onan, A.; Korukoglu, S.; Bulut, H. Ensemble of keyword extraction methods and classifiers in text classification. Expert Syst. Appl. 2016, 57, 232–247. [Google Scholar] [CrossRef]
  51. Liu, C.; Hsaio, W.; Lee, C.; Chang, T.; Kuo, T. Semi-supervised text classification with universum learning. IEEE Trans. Cybern. 2016, 46, 462–473. [Google Scholar] [CrossRef]
  52. Joulin, A.; Grave, E.; Bojanowski, P.; Mikolov, T. Bag of tricks for efficient text classification. arXiv 2016, arXiv:1607.01759. [Google Scholar]
  53. Kim, Y. Convolutional neural networks for sentence classification. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Doha, Qatar, 25–29 October 2014; pp. 1746–1751. [Google Scholar]
  54. Rout, J.K.; Choo, K.R.; Dash, A.K.; Bakshi, S.; Jena, S.K.; Williams, K.L. A model for sentiment and emotion analysis of unstructured social media text. Electron. Commer. Res. 2018, 18, 181–199. [Google Scholar] [CrossRef]
  55. Song, Y.; Jeong, S.; Kim, H. Semi-automatic construction of a named entity dictionary for entity-based sentiment analysis in social media. Multimed. Tools Appl. 2017, 76, 11319–11329. [Google Scholar] [CrossRef]
  56. Uysal, E.; Yumusak, S.; Oztoprak, K.; Dogdu, E. Sentiment analysis for social media: A case study for Turkish general elections. In Proceedings of the ACM Southeast Regional Conference, Kennesaw, GA, USA, 13–15 April 2017; pp. 215–218. [Google Scholar]
  57. Suerdem, A.K.; Kaya, E. Using sentiment analysis to detect customer attitudes in social media comments. Res. Comput. Sci. 2015, 90, 207–215. [Google Scholar] [CrossRef]
  58. Esuli, A.; Sebastiani, F. SENTIWORDNET: A publicly available lexical resource for opinion mining. In Proceedings of the LREC, Genoa, Italy, 22–28 May 2006; pp. 417–422. [Google Scholar]
  59. Raez, A.M.; Camara, E.M.; Martın-Valdivia, M.T.; Lopez, L.A.U. Ranked wordnet graph for sentiment polarity classification in twitter. Comput. Speech Lang. 2014, 28, 93–107. [Google Scholar] [CrossRef]
  60. Cambria, E.; Poria, S.; Hazarika, D.; Kwok, K. Senticnet 5: Discovering conceptual primitives for sentiment analysis by means of context embeddings. In Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence, New Orleans, LA, USA, 2–7 February 2018; pp. 1795–1802. [Google Scholar]
  61. Molina-Gonzalez, M.D.; Martınez-Camara, E.; Martın-Valdivia, M.T.; Perea-Ortega, J.M. Semantic orientation for polarity classification in Spanish reviews. Expert Syst. Appl. 2013, 40, 7250–7257. [Google Scholar] [CrossRef]
  62. Cruz, F.L.; Troyano, J.A.; Pontes, B.; Ortega, F.J. Ml-senticon: Un lexicon multiling ue de polaridades semanticas a nivel delemas. Proces. Del Leng. Nat. 2014, 53, 113–120. [Google Scholar]
  63. Deng, S.; Sinha, A.P.; Zhao, H. Adapting sentiment lexicons to domain-specific social media texts. Decis. Support Syst. 2017, 94, 65–76. [Google Scholar] [CrossRef]
  64. Kouicem, D.E.; Abdelmadjid, B.; Hicham, L. Distributed Fine-Grained Secure Control of Smart Actuators in Internet of Things. In Proceedings of the 2017 IEEE International Symposium on Parallel and Distributed Processing with Applications and 2017 IEEE International Conference on Ubiquitous Computing and Communications (ISPA/IUCC), Guangzhou, China, 12–15 December 2017; pp. 653–660. [Google Scholar]
  65. Gusmeroli, S.; Piccione, S.; Rotondi, D. A capability-based security approach to manage access control in the internet of things. Math. Comput. Model. 2013, 58, 1189–1205. [Google Scholar] [CrossRef]
  66. Mahalle, P.N.; Anggorojati, B.; Prasad, N.R.; Prasad, R. Identity Establishment and Capability-based Access Control (iecac) scheme for Internet of Things. In Proceedings of the 15th International Symposium on Wireless Personal Multimedia Communications, Taipei, Taiwan, 24–27 September 2012; pp. 187–191. [Google Scholar]
  67. Hernandez-Ramos, J.L.; Pawlowski, M.P.; Jara, A.J.; Skarmeta, A.F.; Ladid, L. Towards a Lightweight Authentication and Authorization Framework for Smart Objects. IEEE J. Sel. Areas Commun. 2015, 33, 690–702. [Google Scholar] [CrossRef] [Green Version]
  68. Hussein, D.; Bertin, E.; Frey, V. A community-driven access control approach in distributed iot environments. IEEE Commun. Mag. 2017, 55, 146–153. [Google Scholar] [CrossRef]
  69. Hong, J.; Xue, K.; Li, W.; Xue, Y. LABAC: A Location-aware Attribute-based Access Control Scheme for Cloud Storage. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), Washington, DC, USA, 4–8 December 2016; pp. 1–6. [Google Scholar]
  70. Hong, J.; Xue, K.; Li, W.; Xue, Y. TAFC: Time and attribute factors combined access control on time-sensitive data in public cloud. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), San Diego, CA, USA, 6–10 December 2015; pp. 1–6. [Google Scholar]
Figure 1. A classification of context-aware messaging applications.
Figure 1. A classification of context-aware messaging applications.
Sustainability 12 04105 g001
Figure 2. System block diagram of smart bushfire monitoring and detection system [31].
Figure 2. System block diagram of smart bushfire monitoring and detection system [31].
Sustainability 12 04105 g002
Figure 3. The system in a smart home environment [32].
Figure 3. The system in a smart home environment [32].
Sustainability 12 04105 g003
Figure 4. The architecture of ComMotion [33].
Figure 4. The architecture of ComMotion [33].
Sustainability 12 04105 g004
Figure 5. Context Toolkit components: Arrows indicate data flow [34].
Figure 5. Context Toolkit components: Arrows indicate data flow [34].
Sustainability 12 04105 g005
Figure 6. PIL (PEACH-Israel) museum visitors’ guide architecture [36].
Figure 6. PIL (PEACH-Israel) museum visitors’ guide architecture [36].
Sustainability 12 04105 g006
Figure 7. A domain model of context-aware communication services in visitor’s guides [37]. Where “0 ... *” means the relation between two entities ranges from zero to unlimited number of rows.
Figure 7. A domain model of context-aware communication services in visitor’s guides [37]. Where “0 ... *” means the relation between two entities ranges from zero to unlimited number of rows.
Sustainability 12 04105 g007
Figure 8. The suggested communication service development and usage process [37].
Figure 8. The suggested communication service development and usage process [37].
Sustainability 12 04105 g008
Figure 9. The AWARE framework architecture proposed in [38].
Figure 9. The AWARE framework architecture proposed in [38].
Sustainability 12 04105 g009
Figure 10. Live Contacts Mobile for pocket PC phone [39].
Figure 10. Live Contacts Mobile for pocket PC phone [39].
Sustainability 12 04105 g010
Figure 11. Integration of geometric and symbolic models by Universal Resource Identifiers (URIs) into a hybrid location model [41].
Figure 11. Integration of geometric and symbolic models by Universal Resource Identifiers (URIs) into a hybrid location model [41].
Sustainability 12 04105 g011
Figure 12. Architecture of the Context-Aware Group (CAG) System proposed in [45].
Figure 12. Architecture of the Context-Aware Group (CAG) System proposed in [45].
Sustainability 12 04105 g012
Table 1. The output messages and their description.
Table 1. The output messages and their description.
MessageDefinition
IDUsing an identification number (ID), this proposed system allows millions of devices to be identified.
TEMIt represents the temperature in centigrade.
HUMIt the environment’s humidity.
GPGLLIt includes latitude and longitude information in GPS Signal (compatible to NMEA-0183 GPS).
Table 2. An overview of context-aware messaging applications for IoT systems.
Table 2. An overview of context-aware messaging applications for IoT systems.
ApplicationTypeTechnologyArchitectureUsageContext
Smart bushfire Monitoring and detection system [31]emergency applicationGSM modem, GPS receiver, Sensors, microcontroller and power supplyhybridSMS formatSensors for location, temperature and humidity
Bushfire monitoring and detection system for smart homes [32]emergency applicationZigBee modules, GSM modem, GPS receiver, Sensors, microcontroller and power supplyhybridSMS formatSensors for location, temperature, humidity, wind speed and direction.
ComMotion [33]notification and guidanceGPS, Web-Server, Sensors, CDPD and Data MappingcentralizedGraphical and textual interface for messaginglocation, time and activity.
CybreMinder [34]notification and guidanceContext-Toolkit, CRB, GPS, Sensorscentralizedtext, audio, video and multimediacontextual data, location, time and nearby people.
Elvin [35]notification and guidanceMobile agent, Server, ACL communicativecentralizedIntegers, floating point and stringslocation using GPS, time and event (message content)
The PIL museum Visitor’s Guide System [36]notification and guidanceIR and Wi-Ficentralizedmessaging, guide booklocation using IR and Wi-Fi, time and contextual states.
Generic Framework for Context-Aware Communication Services [37]notification and guidanceIR and Wi-Ficentralized (multi agents)SMS-like and Post-It services, Memories and Visit Reminderlocation, time and contextual information.
Context Mediated Social Awareness [38]social network and collaborationPDA for the client and GPRS to communicate with serverhybridmessaging: Text, audio, video, multimediatime, location, personal status, and activity.
Context Aware Communication with Live Contacts [39]social network: Communication and collaborationC# Clients, Microsoft.NET Servers and uses GPRS to connect with GSMhybridmessaging technique (text, voice, video, multimedia)location, time, instant messaging, calendar, and color coded availability.
Framework for Mobile Context Messaging Applications [40]social network: Communication and collaborationJ2ME, XML, JSR-179 Location API and GPS locator device.centralizedtext message: SMS format and Multimedia elementslocation, time and application services.
Semantic Web Technology for Ubiquitous Location Modeling [41]social network: Communication and collaborationMobile, IR- GPS, sensors, Semantic OWL, Yamamoto and URIshybridtext information, presentation of audio and visual medialocation, user characteristics, any situational context (event, objects) and map.
Micro-Blog [42]social network: Communication and collaborationJ2ME and Nokia N95 for Client side and MySQL for Server is built using MySQL, wireless networkinghybridsharing, browsing, and querying; global information in SMS format and Photoslocation and time of the device.
InfoRadar [43]social network and communicationPDA, GPS and radar metaphorcentralizedSMS and multimedia elementslocation and time.

Share and Cite

MDPI and ACS Style

Almagrabi, A.O.; Al-Otaibi, Y.D. A Survey of Context-Aware Messaging-Addressing for Sustainable Internet of Things (IoT). Sustainability 2020, 12, 4105. https://doi.org/10.3390/su12104105

AMA Style

Almagrabi AO, Al-Otaibi YD. A Survey of Context-Aware Messaging-Addressing for Sustainable Internet of Things (IoT). Sustainability. 2020; 12(10):4105. https://doi.org/10.3390/su12104105

Chicago/Turabian Style

Almagrabi, Alaa Omran, and Yasser D. Al-Otaibi. 2020. "A Survey of Context-Aware Messaging-Addressing for Sustainable Internet of Things (IoT)" Sustainability 12, no. 10: 4105. https://doi.org/10.3390/su12104105

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop