Keywords

1 Introduction

Several definitions have been published over the years about the term “Smart City”. One of the most widely accepted is that by IBM (2010) that assumes smart city as “the use of information and communication technology to sense, analyze and integrate the key information of core systems in running cities”. According to Caragliu et al. (2011) “a city is smart when investments in human and social capital and traditional (transport) and modern (ICT) communication infrastructure fuel sustainable economic growth and a high quality of life, with a wise management of natural resources, through participatory governance”. Smart city is also considered to have a strong relationship with digital city. Cocchia (2014) referred that digital city is a subcategory of smart city, because both of them include Information and Communication Technologies (ICT). The main difference is that smart city intends to improve citizens’ standard of living through the development of the economy, the social and political progress, the provision of new services and the protection of the environment. Moreover, Su et al. (2011) stated that smart city generates from digital city when it is combined with IoT (IoT).

The need for a smart city arises due to urbanization of modern cities and the necessity to solve various daily problems that affect citizens’ lives. The technological progress gives us the opportunity not only to manage these problems but also create services and facilities in order to improve people’s quality of living. The main sectors that a smart city aims to improve are smart economy, smart people, smart governance, smart mobility, smart environment and smart living (Giffinger et al., 2007). In order to manage these sectors and design useful applications, smart city exploits all the available resources, monitors conditions and collects information through sensors and critical infrastructure. Then, it analyzes and processes them through the use of ICT so as to offer citizens the expectable satisfaction.

To complete successfully the above procedure, system’s designers must also take into account the particular needs of the city. In that direction, it is mandatory to establish the main requirements that should be fulfilled by the system and the chosen architecture. The term “Requirement” is used to define an official declaration of some functionality that aims to achieve the existing or the upcoming needs of the city. So, the satisfaction of a minimum set of requirements is thought to be an important aspect when developing a smart city since they intend to accomplish social, economic and business needs that are related to ICT technologies.

The purpose of this paper is to discuss the basic architectures and requirements that have been proposed over the years and specify the ones that are more useful in building smart cities. Section 2, in its first part, presents some of the selected architectures and technologies that should be integrated in a smart city as we find them in the literature, while the second part includes the discussion about their usability and implementation. In Sect. 3, we cite some of the most outstanding works that stated a set of requirements in order to support the various smart cities systems. Then we list, categorize and discuss the basic requirements of these works presenting a table assigning the architectures to the requirements that they aim to fulfill. The last Sect. 4 shows the concluding results and suggestions for future work and research.

2 Architectures

Below we quote several architectures and their including platforms and technologies. Although the literature contains many surveys and suggestions about the architectures that participate in the design and operation of a smart city, there is not yet a standard one that integrates all the functionalities. Furthermore, the greatest number of these architectures is based on a theoretical approach and non in a practical one with real implementation. In this section, we present some of the proposed architectures giving emphasis in the most common platforms that we meet a lot in the literature. We have recognized six perspectives of architectures - the perspective of Architectural Layers, Service Oriented Architecture, Event Driven Architecture, IoT, Combined Architectures and finally the new perspective of Internet of Everything. In the rest of our paper, we cite the works of different researchers, categorizing them chronologically and respectively to the perspective they belong. Finally, we summarize these works in a table for better understanding.

2.1 Architectures State of the Art

2.1.1 Architectural Layers (Al)

AL provide a framework for developing services and applications in smart cities through their fragmentation into pieces (layers) that can be easily modified and adjusted instead of transforming the whole system. Each layer is physically and logically dissociated from the others. This characteristic is the one that makes the perspective unique and explains its choice and great acceptance by a large number of researchers. In this subsection, we mention some of the most outstanding works that choose to implement this architecture in order to create useful facilities for smart cities.

Initially, Ishida (2000) was one of the first researchers to present a comparative study between the digital cities of America Online, Amsterdam, Helsinki and Kyoto. He recognized three layers in digital cities architecture. The first layer is the information layer which includes all the data from real time sensors and files from the Internet that are combined together through geographical information systems (GIS). The second layer is the interface layer which creates a virtual environment of the cities through 3D spaces and 2D maps. The last layer is the interaction layer where people can communicate with each other through the use of agent systems.

Anthopoulos and Tsoukalas (2006) developed the digital city of Trikala in Greece. Their chosen architecture consisted of five layers. The first and last layers are user layers where we can find all the stakeholders of a smart city including the designers of the services and end users respectively. The second layer is the infrastructure layer which contains the technologies, platforms and networks in order to create and offer the services. The third layer is the information layer which consists of all the necessary data about smart city operation, such as geospatial data and other records. The fourth layer is the service layer which contains all the provided applications of the city and allowed the interaction among citizens and organizations.

Expect from the definition that we mentioned it previously, IBM has also stated the structure of the smart city. According to IBM, the structure is divided in three layers, perception, network and application layer. Perception layer recognizes the device and gathers data via sensors, GPS, RFID and other technologies. Network layer processes those data through components related to the intelligence and communication capabilities of the network. Eventually, application layer examines and evaluates the total amount of data through advanced technologies, such as cloud computing and fuzzy techniques.

Su et al. (2011) focused in the building of a smart city and recognized three stages. The first stage is the manufacture of public infrastructure. The second is the manufacture of public platform, which includes network infrastructure, cloud computing platform and sensor networks. The third stage is the manufacture of application systems, which includes some basic applications like the construction of wireless city, smart home, smart public services and social management, smart transportation, smart medical treatment, smart urban management, green city and smart tourism.

Carretero (2012) developed an architecture named ADAPCITY. It is about a self-adaptive system for smart cities which offers heterogeneous devices the ability to react effectively in environmental changes and adapt their behavior according to the new conditions. Moreover, the system is able to recover immediately and update its operations, even create new ones. The proposed architecture is divided in four layers. The physical layer includes the state and behavior of devices and objects. The grid layer includes the process, storage and communication among the data come from physical layer. The management layer uses statistics, data mining and prediction techniques to manage the processed data from grid layer. Finally, the control layer includes the provided services taking into account users desires and optimization measurements.

Finally, Vilajosana et al. (2013) presented a generic architecture after observing many existing platforms and combining their common features. The capillary network layer in the bottom of the platform includes sensors and actuators for data collection, data warehouses for storage of historical, real-time and metadata, as well as database nodes and security infrastructures for data management and control offering. The service layer has the responsibility to receive the incoming data from capillary network layer and then to process, combine and secure them. It manages different types of data, such as big, open and streaming data and also analytics services. The last layer is the application layer where the data are analyzed and converted into useful information, which is eventually provided to people through predefined interfaces.

2.1.2 Service Oriented Architecture (SOA)

SOA is an approach that aims in collection, communication and interaction between services and in their provision to the users taking into account their needs and requests. The communication between different services in a computer system is implemented through data exchange among them and the ability of each service to act as a whole activity on behalf of another service. Every interaction is considered to be unconstrained since services are unrelated, loosely coupled and self-sufficient. However, according to Sprott and Wilkes from Microsoft (2004), SOA is more than this. In fact, it is a pattern that includes all the necessary practices and frameworks to offer people the right services that fit to their preferences through the interface.

One of the most underlying works was that of Anthopoulos and Fitsilis (2010) who tried to create a common architecture for smart cities called Enterprise Architecture. Their approach is based on SOA and contains information of urban development and service delivery in urban environments. Logical and physical architecture has been combined with the enterprise architecture in order to strengthen the evolution of smart cities. As authors admitted, the case of Trikala failed to meet some of the challenges that cities have to face (such as information sharing and storage, connection and access through broadband networks, simulation of daily life and so on) with the primary architecture, so they developed this one in an attempt to overcome the existing problems.

2.1.3 Event Driven Architecture (EDA)

EDA is a framework that deals with the creation, identification, utilization and response to events. These events are usually uncommon, and related to uncertain changes and asynchronous conditions. The result of the actions that EDA executes, provokes the generation of event notifications (and not of an event), which are actually an effect of change occurrence. A change can be detected by sensors and the outcoming events can be processed by the system. EDA is loosely coupled about the unknown results of a change by the event itself but it is tightly coupled to the semantics of an event. When the semantic heterogeneity of events is high, it is very difficult to implement that architecture in a smart city (Souleiman et al., 2012). EDA can be also combined with SOA since an event can make a service operative.

Moving in that direction, Filipponi et al. (2010) developed SOFIA project in an attempt to monitor the public city places so as to enhance security and detect emergency cases. This project is based on EDA that permits sensors (and especially wireless sensors networks) to observe unusual events. The main components of the architecture are Semantic Information Brokers (SIB) and Knowledge Processors (KP). All the data about smart places are stored in SIB. In the sequel, KPs receive these data from SIB, have access to them, generate and use notifications for the events described by them. The joint action between SIB and KP, leads to the production of Interoperability Open Platform (IOP), which gives applications the opportunity to gain entry to data and share them.

2.1.4 Internet of Things (IoT)

IoT is a paradigm that combines a large amount of heterogeneous devices, which are connected to the Internet and can identify themselves through IP addresses and protocols. All devices are embedded with sensors and actuators and are usually wireless connected to the network. IoT enables the connectivity and communication between sensors and deploys the incoming information in order to provide applications to the people. Radio-frequency identification (RFID) is considered to be a prerequisite of IoT since it is believed that all things of our daily life could be identifiable with the use of radio tags. Cloud computing, which is actually a different term for Internet, has the duty of sharing computational resources and offering services to devices via the Internet without having hardware equipment to manage applications. These technologies are commonly used together and managed to become an inspiration source for many researchers whose works are related to smart cities.

To begin with Schaffers et al. (2011) who considered smart cities as open access environments that are designed according to users’ preferences. In order to create innovative services, the use of Future Internet seems to be important as enabling the development of applications based on IoT. Furthermore, Living Labs played a useful role since they showed the way of organizing and coordinating innovative services and projects. A similar approach was followed by Chochliouros et al. (2013), who explained the concept of Living Labs and the benefits of their implementation in smart city facilities, and also highlighted their contribution in the evolution of Future Internet platforms.

Attwood et al. (2011) developed the framework of Smart City Critical Infrastructure (SCCI) which aimed to protect critical infrastructures from failure or help the system to continue its function if a failure was unavoidable to happen. To achieve that, the use of sensor actuator networks (SAN) was necessary, according to the researchers. SAN connected itself to the IoT so as to collect the data and integrate city components that should use an information aggregation utility. The amount of the collected data is so big, that the system should process them itself without human intervention. Semantic Web undertakes the role to take these data, give them meaning and specify the relationships between them, which are widely known as linked data. Cloud computing in its turn, used the service model of Infrastructure as a Service (IaaS) to access the data and process them in real-time. Based on these technologies, researchers developed the basic elements of SCCI, which are Smart Cities Systems Annotation and Aggregation Service, Critical Response Reasoning Instance, Critical Response Visualization and Control and finally Sensor Actuator Network Overlay State Management.

Ballon et al. (2011) created a European Platform for Intelligent Cities (EPIC) with the intention to be implemented in all European Cities. Their goal was to evaluate the use of cloud platform, Living Labs and e-Government in a European level and examine the satisfaction of requirements and challenges that a smart city has to face. The EPIC integrates the technologies of cloud computing, IoT and semantic Web. Specifically, EPIC used IBM’s Test and Development Cloud so as to facilitate public sector to accept the change and the innovation of the cloud. IoT can enable geospatial positioning and 3D display through the use of sensor and RFID. Finally, the semantic layer of the EPIC includes the Command and Control Lexical Grammar (CCLG) technology to solve the problem of the multiple spoken languages in European countries.

Asimakopoulou and Bessis (2011) focused their research on disaster management using crowd sourcing techniques to create smart buildings. Through crowd sourcing technology, citizens participate in the detection of emergency events using APIs in their phones. The role of citizens is enhanced by sensors and critical infrastructure in cars and buildings that explore their environment too. Other technologies that were proposed by the researchers were grid computing to integrate heterogeneous resources, cloud computing to enable access in these resources and pervasive computing to collect and handle data from devices.

In terms of crowd sourcing, Zhou et al. (2015) developed the RiMEA pedestrian simulator in order to facilitate crowd evacuation in emergency cases and evaluate crowd behavior and reactions under those circumstances. The software architecture of the simulator included a simulation kernel, a graphical user interface and a 3D visualization.

Wang et al. (2012) presented how to use World Wind geographic software developed by NASA to 3D reconstruct a city. It is about an open source platform which allows visualization, simulation and interaction in all smart city sectors. The two main components of this technology are data collection and visual display. Data are collected through IoT, network analysis and web map services. Their visual display is feasible through KMZ files which are grounded on KML patterns.

Ye et al. (2012) discussed the architecture of a Smart Sport information system giving emphasis to the including technologies, such as body sensor networks, IoT, cloud computing and data mining. In more detail, the body sensors have the duty to collect data bout the health and daily routine of athletes. Cloud computing is used as the middleware to allow transfer and management of these data. Data mining and techniques, such as mathematical models and artificial intelligence, are used to process and analyze the data so as to get the necessary information. Last but not least, with the contribution of IoT, that information is converted into useful applications.

Jin et al. (2012) analyzed four network architectures based on the IoT. The first architecture is the Autonomous Network Architecture, where users can access the network with or without Internet connection. The second is the Ubiquitous Network Architecture, where users access the Internet to find the expected information since radio technologies, wireless sensors and vehicular ad hoc networks are integrated to the Internet. The third is the Application Layer Overlay Network Architecture, which is capable of reducing the amount of collected data through the IoT by selecting the more useful ones. The last is the Service Oriented Network Architecture, where researchers presented the example of the IDRA platform, which was developed by E.D. Poorter et al. (2011).

Mitton et al. (2012) examined the combination of cloud with sensors and actuators empowering by the IoT. This approach is named “Sensing and Actuation as a Service (SAaaS)”. In their system, a smart city is divided in sites. Each site is considered to be autonomous and contains sensors for information gathering and clients as information consumers. The collected information is stored in the Database Manager of the site from where it can be published to users after their request or can be distributed to the other sites if there is a need. The operation of this system is feasible via implementing the proposed schema and modules architecture, which consists of three elements, Hypervisor, Autonomic Enforcer and Volunteer Cloud Manager. The Hypervisor is used to abstract sensors from single devices or from networks. The Adapter facilitates the communication between the devices. The Autonomic Enforcer is the mediator between the above modules and the SAaaS Cloud, exploiting their resources and converting them into applications using IoT capabilities. The Volunteer Cloud Manager concentrates these resources and applications in the cloud and develops strategies after monitoring the connectivity among the devices.

A similar study was undertaken by Distefano et al. (2013). The researchers kept the basic elements of the above framework and went further by distinguishing two phases. The first phase was SAaaS provisioning system and infrastructure setup and the second was SAaaS application setup.

Suciu et al. (2013) proposed the framework SlapOS, which combined cloud and IoT architectures, as a mean for designing smart cities. According to the researchers, the necessary features of building a smart city are sensor networks and open source cloud platforms. Their framework integrates these technologies and has also the ability to transfer and offer IoT applications through the use of cloud middleware.

Roscia et al. (2013) presented a model for smart cities that was called Intelligent Distributed Autonomous Smart City (IDASC). IDASC involves multi-agent systems and IoT to enable observation, audit and performance of the system. It also integrates ZEUS framework to ensure functionality and communication between the agents.

Samaras et al. (2013) developed SEN2SOC platform to be implemented in the SmartSantander City of Spain. Their aim was to enhance the interaction between sensor and social networks through the use of Natural Language Generation (NLG) system in order to improve citizens and visitors experience in living in a smart city. The architecture of SEN2SOC platform is component-based and includes mobile and web applications (IoT) to facilitate users login, support their navigation in city routes and promote feedback, sensor and social data monitoring to collect data from sensor and social media networks and detect anomalies in the environment, statistical analysis to process the income data and export the results from this action, and interface to allow communication between the components. The NLG system, which is embedded in the platform, has the ability to receive information from sensors and convert it into messages that can be easily understood by humans.

Horng (2014) designed a system for smart parking in order to facilitate citizens in finding parking spaces and help in reducing fuel congestion and air pollution. The architecture is based on an Adaptive Recommendation Mechanism, which includes various technologies in order to allow system’s implementation. In more detail, it uses wireless sensor networks so as to search the existence of vehicles near a parking space. Then, an Internal Recommendation Mechanism of the specific place informs the Parking Congestion Cloud Center (PCCC) which with its turn transmits these data to the Cloud Server. Finally, the user receives the desirable information through his/hers mobile device, which in the same time acts as a sensor for the Cloud Server.

Asadi Zanjani et al. (2015) focused on energy management in buildings. Their goal was to develop an interface that could enable citizens to manage their energy consumption and be informed about its emissions and cost, so as to control their living spaces. Each living space was equipped with one or two wireless sensor nodes, while all the electrical devices were equipped with smart plugs. As a result, researchers could measure the temperature, humidity and luminosity of the space as well as the power consumption of devices. A web application dealt with presenting to the user those measurements of sensors and plugs.

Bululukova and Wahl (2015) proposed the integration of smart cities in education taking into account the Smart City Wien Framework Strategy initiatives goals and the Europe 2020 objectives. In their work, they referred to the existing study programs and their implementation plan through the integration of smart cities concepts and the use of ICT technologies and big data.

Iano et al. (2015) also dealt with intelligent education and especially with the use of Internet Broadband Network of Things in order to improve e-inclusion, e-learning and supplementary education. They also implemented the Gigabyte - capable Passive Optical Networks (GPON) technology to facilitate the access in the optical fiber and radio networks of Brazil, improve the speed rate of Internet and offer citizens high connectivity to the smart education environment.

2.1.5 Combined Architectures

Except from the perspectives that we analyzed above and the presentation of the most underlying works that have been already published in the literature, there is also the perspective of combined architectures, which manages to integrate characteristics and technologies of the abovementioned ones. It is a common phenomenon for researchers to mix technologies and platforms in order to create an architecture that can probably be implemented in a smart city. In this section, we cite some of these works distinguishing them in categories.

IoTAL.

Khan and Kiani (2012) presented a cloud-based architecture for improving services offered to citizens. According to the researchers, citizens act as providers of data through the use of their phones, and as consumers of the developing services after processing the collected information. The proposed architecture which is based on a cloud environment is divided in seven layers (five horizontal and two vertical) and contains the context-awareness element. The first layer is the platform integration layer which contains the cloud technology and facilitates the access to all kinds of information. The data acquisition and analysis layer enables data collection and includes the context-awareness element to separate useful data from non-useful ones and synthesizes them together. The thematic layer categorizes data in sections according to their context. The service composition layer specifies the origin of data and contains the context-awareness element to state the workflows among corresponding services. The application service layer enables modeling and visualization of data to create applications that meet end users requirements. The management and integration layer manages the flow of data so as to ensure that only relevance data are shifted from one layer to another. Finally, the security layer certifies the authentication of data and their use from authorized users.

Wang and Zhou (2012) presented an abstract study about the use of cloud with Near Field Communication (NFC) technology in smart cities. NFC is a card embedded in mobile devices, which is based on Internet and RFID. Its role is to promote user confirmation, data transmission, distant payments and public information. The researchers distinguished three layers in cloud architecture of NFC application, which were user information storage layer, device information layer and process layer. Process layer included six other layers, from which researchers chose to discuss in more detail the resource scheduling layer.

Szabó et al. (2013) built a framework using Extensible Messaging and Presence Protocol (XMPP) to collect data from citizens’ mobile devices. Their intention was to enhance participatory sensing while creating and operating smart city applications. This knowledge is considered to be real-time big data that are processed by IoT. The first scale of the framework’s architecture is based on the publish-subscribe feature of the XMPP, which give users the opportunity to take part in information gathering (publish) and enjoy the updating applications after this action (subscribe). The second scale of the architecture is the analytics component, which is distributed in layers in order to anticipate citizens’ mobility. According to the researchers, these layers are streaming, persistence, serialization, caching, mobile data process and users defined functions layers and include platforms and technologies that can facilitate data processing and system’s recovery after a failure.

Zhang et al. (2013) examined the use of IoT in the food industry of a smart city. Especially, they focused in the creation of an IoT system, which can observe, control and analyze the food supply chain so as to offer citizens protection of consuming contaminated or polluted products. The logic architecture of IoT is divided in four layers, data collection and management, intelligent processing, graphic representation and self-correction, each of which includes specific algorithms and metrics techniques. The collection of data from sensor is feasible through the Self-adaptive Dynamic Partition Sampling (SDPS) strategy in an attempt to eliminate the portion of sample of products that need to be examined so as to enhance the accuracy of the control. Furthermore, the researchers implemented a tracing algorithm to discover the origin of the pollution and a backtracing algorithm to withdraw polluted products that could not be traced in the supply sequence.

Sánchez et al. (2013) presented the architecture of the SmartSantander city in Spain. Their aim was to find the necessary platforms based on IoT to develop a common context for all smart cities. Their proposed architecture consists of three layers which are IoT device, gateway and server layer. The IoT device layer has the duty to estimate the number of the connected devices to the network and facilitates their heterogeneous nature through the use of mobile phones, RFID and other technologies. The gateway layer allows the communication and connectivity between the devices and the network. The server layer enables the access of users in the system by offering high level scalability and availability to the servers. Except from the layers, the architecture is also divided in four subsystems, each of which provides information about its embedded functionalities and is accessible by specific groups of people. Briefly, these subsystems are Authentication, Authorization and Accounting, Testbed Management, Experimental Support and Application Support subsystem.

Bertoncini (2015) created a framework for improving energy efficiency and reducing carbon footprints. The architecture of the framework is multi-layered and includes energy and resource infrastructure as well as human networks. The embedded platforms are the ICT technologies such as real time sensing and monitoring, intelligent processing and big data on line analytics.

Lilis et al. (2015) developed a system so as to integrate the building automation technologies into smart cities. Their proposed integration architecture was divided in four distinct elements. The first element was the Endpoint Node, which included advanced sensors and actuators, and more specifically the IP enabled solar energy harvesting multifunction environmental sensor and the wireless controlling modules communicating with each other through the power lines. The second element was Network Embedded Electronic, which aimed to data collection and interconnection of the endpoints through the use of IoT, data mining algorithms and local storage of data. The third element was the Centralized Management Server, which was actually a RESTful web server that aimed to facilitate the communication between buildings with smart cities. In this level, the IoT was replaced by the Web of Things (WoT). Finally, the last element included all the web services and applications that had been designed to facilitate the operation of the system.

Anadiotis et al. (2015) presented the BESOS Common Information Model to integrate different energy management systems in smart cities and share information and services between them and other external applications. The infrastructure of BESOS contained a large number of Gateways which had the duty of collecting data from energy management systems and delivering them to the middleware layer. The middleware layer using a data meta model integrated the incoming data and transferred them to the application layer. Finally, the application layer offered useful services to the users and the application developers.

IoTSOA.

Andreini et al. (2011) proposed an architecture infused by the notion of SOA, which combined IoT and geo-localization in order to promote access in smart city services. Researchers emphasized in the term of scalability which could be achieved by using the Distributed Hash Table (DHT) protocol.

Hu and Li (2012) proposed the use of 3S and IoT for the creation and design of a smart city. The 3S technology is associated with geospatial information (RS, GPS, GIS) for accurate positioning, with 3D visualization for city construction, with sensor networks for incessant observation, and with DPGrid and GPU (Graphics Processing Unit) technologies for real time processing of data. IoT is thought to be associated with RFID, barcodes and 2D codes technologies for allowing computational systems identify things of daily life, with sensor web for space monitoring, with SOA for managing geospatial data, and with grid and cloud computing for allowing access to services through the use of Internet and wireless networks.

Klingert et al. (2015) developed the DC4Cities system in order to maximize the share of renewable power sources and eliminate the carbon emissions when operating data centers in smart cities. The technical infrastructure of this system included the technologies of sensor networks, big data, IaaS, PaaS, KPIs, service-oriented applications, Energy Management Authority of Smart City (EMA-SC) to manage the coordination between the smart city and data centre, Energy Adaptive Software Controller (EASC) to plan the use of the resources, Renewable Energy Adaptive Interface to retrieve forecasts about the energy sources and Ideal Power Planner (IPP) to transfer energy forecasts and constrains imposed by EMA into a power plan for a data centre.

IoT - SOA – AL.

Xiong et al. (2014) introduced a novel architecture of Data Vitalization (DV) in order to indicate a more effective way of managing the heterogeneous incoming data from sensors. DV architecture, which is divided in cells (master, data and special cells), mainly uses the technologies of SOA and cloud computing. An application of DV is the Smart Service Platform (SSP), which architecture distinguishes into four layers-data gathering and storage layer, supporting layer for DV service, application layer for DV and application Layer for development. Data gathering and storage layer collects and stores data in particular cells, while supporting layer for DV service processes these data. These two layers constitute of the data cell, which is applied by a virtual machine and their framework is the infrastructure as a service (IaaS) cloud computing services type. The other two application layers for DV and development concern both end users and developers, since they offer users the desirable applications, users can react as sensors and collect data from their devices and also developers can exploit APIs and create new services. The implemented technologies are virtual machine manager in the third layer and platform as a service (PaaS) in the latter.

IoTEDA.

Based on the EDA of the SOFIA project, Wan et al. (2012) discussed the implementation of Machine to Machine (M2 M) communications in order to improve smart cities applications. M2 M technology has the ability to facilitate the connection between people, computers and mobile devices, and also sensors and actuators. According to the researchers, in order to maximize the efficiency of the smart city system, M2 M communications need to be combined with Internet, sensors, networks and cloud computing, and further with KPs and SIBs.

Feher et al. (2015) presented a probabilistic approach to solve the problem with parking spaces in smart cities. Their approach consisted of a database containing the parking probabilities, an event database to collect parking data, a prediction service to process them and a mobile client to capture parking events. The technologies that were used to fulfill this procedure were various types of sensors, GPS and mobile applications.

IoT - SOA - AL - EDA.

Wenge et al. (2014) proposed an architecture for smart cities from the perspective of data management. Their architecture is divided in six layers – data acquisition, data transmitting, data storage and vitalization, support service, domain service and event-driven application layer. The data acquisition layer gathers the data coming from sensor networks and other sources, like RFID and system on a chip (SoC). The data transmitting layer integrates the technologies of wireless networks and ultra wide band in order to facilitate users with Internet access. The data storage and vitalization layer focuses on clarification, correlation, sustainment, development and storage of data using the Internet of data technology (IoD) that is similar to the IoT, and also cloud computing. The support service layer emphasizes in data management and provision to the users through SOA architecture, cloud platforms, visualization and simulation technologies. The domain service layer concerns every single sector of smart city and tries to integrate them together in order to enhance citizens’ experience. Ultimately, the event-driven application layer stresses on citizens requirements and tries to offer them applications that satisfy their needs.

2.1.6 Internet of Everything (IoE)

IoE is a future perspective which is being designed to extend, overcome and substitute the IoT. Cisco defines the IoE for smart cities as the technology that connects people, process, data and things in order to improve the livability of cities and communities. IoE provides not only computing devices but every object (everything) with the capability of high connectivity and intelligence so as to operate various facilities. IoT based its function in the great number of the connected objects. Nevertheless, IoE operates via the deployment of networks that have the ability to transport all the collected and created information by these objects and also facilitates the connection of many more objects even if every object. In other words, IoE flags a new and innovative era when smart objects are connected together and everyone from everywhere and at anytime can have access to them. Cisco clarifies the exact procedure that IoE follows. More specifically, IoE exploits the Internet infrastructure and connection networks, manages in an effective way the incoming information from devices, creates applications that can satisfy citizens’ requirements in both public and private sectors and makes networks less complex through the use of APIs. Cisco plans aim to the opening of a global innovation centre for IoE in Barcelona by the mid-2016 like the ones that already exists in Brazil and South Korea and those that under construction in Germany and Canada. The purpose of those centers is to operate as the examples of introducing a common pattern when designing new applications for smart cities that are in the initial stages of creating urban facilities. For the time being there are not published use cases for that perspective.

2.2 Architectures Discussion and Implementation

Above we enumerate many architectures and technologies that have been proposed in the literature in order to find implementation in the smart city system or a smart city sector. In this section, we will discuss them and try to determine the platforms that are useful when designing a smart city.

The AL perspective was one of the first to be applied by researchers if we consider the comparative study of T. Ishida between the digital cities of America Online, Amsterdam, Helsinki and Kyoto in 2000. The implementation of this perspective gave researchers the opportunity to modify features in different layers without having to change the whole system. As we recognized from the previous analysis, each researcher made a different proposal of a set of layers since there was not any specification agreed on the layer formation. Even today there is still not a standard pattern to follow when choosing to implement this architecture. It is remarkable that L. Anthopoulos and I.A. Tsoukalas who developed the digital city of Trikala in 2006, admitted that they failed to meet city’s challenges with the existing architecture. The integration of more sophisticated technologies, such as sensors, actuators, GPS, cloud and so on managed to enhance layers’ functionality. IBM opened the way with the definition of smart city structure and its including technologies. The contribution of Carretero (2012) was also important since he added the characteristic of self-adaptation while creating the ADAPCITY system. Furthermore, Vilajosana et al. (2013) proposed a generic layer architecture presenting the key platforms and technologies to support smart city applications. This architecture offers lots of benefits in designing a system since it can make it more flexible to changes and each change can affect only one layer and not the others. Furthermore, the separation of the smart city system into layers facilitates the implementation of reusable components, while the component distribution helps the system to be more scalable and reliable. No serious technology restrictions have been noticed while implementing this architecture. The effectiveness of this perspective will be improved, if it is combined with more advanced technologies or even another perspective. This attempt is really valuable when building a smart city since the system can better respond to all challenges and requirements (Table 1).

The SOA perspective takes into account citizens’ needs and preferences and tries to provide them with high quality services. These services can communicate and interact with each other while being independent and loosely coupled. Anthopoulos and Fitsilis (2010) used this architecture in order to improve the city system of Trikala and in an attempt to create a common architecture for smart cities. The implementation of this perspective fits very well with the purpose of a smart city which is to offer citizens the right services that satisfy their needs. Service orientation seems to be one of the most useful architectures since its functionality offers a great number of advantages such as flexibility, service re-use, ability to create both new functions and combinations of functions. However, there are still issues to be solved concerning the complexity, performance and cost of the designing system. SOA functionality can be enhanced if it is combined with IoT.

The EDA perspective has the ability to identify an uncommon situation and respond to unusual events. This feature is very expedient in cases of crowd sourcing and monitoring public spaces in smart cities. Filipponi et al. (2010) developed SOFIA project in order to ensure citizens security. A subway station use case, facilitated by SOFIA infrastructure, was implemented to prove the effectiveness of the architecture in detecting abnormal events. However, the basic disadvantage of this perspective is that it can not respond properly when the events are characterized with great heterogeneity (Souleiman et al., 2012). One solution could be the combination with SOA since an event can trigger the operation of a service. Another solution could be a combination with IoT since the existence of sensor networks can enhance the efficiency of EDA.

The IoT perspective is the most common approach used nowadays considering the number of published works in that domain. Internet is also related to sensor networks and cloud computing, technologies that are necessary when collecting, managing and storing information for developing smart city applications. However, some researchers made modifications in the features of these technologies to fulfill the requirements of their systems. For instance, both Mitton et al. (2012) and Distefano et al. (2013) used the approach of Sensing and Actuation as a Service (SAaaS). The first researcher presented the case study of a smart city and the latter the use cases of smart traffic control and smart surveillance systems respectively. Other researchers added extra technologies to the mentioned ones for improving the functionality of their systems. More specifically, Ballon et al. (2011) incorporated the technology of Command and Control Lexical Grammar in EPIC framework which is already implemented in the smart cities of Brussels, Issy-les-Molineaux, Manchester and Tirgu Mures in Romania still studying its implementation results. Furthermore, Samaras et al. (2013) added the technology of Natural Language Generation in SEN2SOC platform and illustrated two significant scenarios including citizens and city authorities. Another group of researchers used these technologies for developing applications for only one smart city sector. For example, Ye et al. (2012) dealt with smart sport applications presenting the cases of smart stadiums, smart shoes, smart athletes and smart fitness. Horng (2014) designed an adaptive mechanism for smart parking, the effectiveness of which was proved via a simulation test. Zhou et al. (2015) developed the RiMEA pedestrian simulator and in order to demonstrate its reliability, they made tests of fourteen scenarios. Wang et al. (2012) dealt with 3D city reconstruction through the use of World Wind software showing three implementation scenarios of Lujiazui city, weather data and subway lines. The general idea that came out of this analysis is that this perspective is really valuable since it can gather data from citizens’ devices and external sensors, transfer and process them via the Internet, create applications that fit to citizens needs and finally store these applications in the cloud to eliminate the waste of resources. This architecture is suitable for smart city development considering all of the above-mentioned features and can be implemented alone or combined with another perspective. However, attention is required in terms of privacy of citizens’ personal data since they are stored in the internet and are vulnerable in hacking and stealing. It is worthwhile to mention that scientific community tries to extend IoT and enhance its functionality, creating the new IoE.

The combined architectures perspective is possibly the most appropriate for building smart cities since the integration, communication and connectivity between various technologies can help in the creation and easy management of more advanced applications. After a careful study we realized that Internet technologies are the key components to all architectures. Researchers combined them with AL, SOA and EDA. Combining IoT with AL was the primary choice of Szabó et al. (2013) who dealt with participatory sensing presenting three use case applications, concerning crowd sourcing based on public transport, soccer events and university campus all of which are still under development. Also, Zhang et al. (2013) dealt with the use of IoT in food industry and highlighted two cases, one general and one including big data, proving the efficiency of SDPS strategy, tracing and backtracking algorithms. Furthermore, Bertoncini et al. (2015) focused on the energy efficiency and illustrated two implementation cases, the INGRID case, which integrated smart electricity grid with hydrogen mobility infrastructure and the GEYSER case, which emphasized on a smart data centre hub interacting with smart energy grids and telco networks. However, Andreini et al. (2011) preferred to combine IoT with SOA and presented a use case for proving the effectiveness of their proposed architecture. Moreover, Klingert et al. (2015) developed the DC4Cities system and validated it including three trials and different services inside data centers in Barcelona, Trento and Milan. An extraordinary attempt was done by Xiong et al. (2014) who combined IoT with SOA and AL to create a Data Vitalization architecture so as to find a way of better managing the incoming data from sensors presenting the social hotspots sense use case. Equally significant was the work of Wan et al. (2012) who extended the EDA of SOFIA project by adding M2 M communications technology combined with IoT and sensors showing a case study of vehicular networks. Finally, the work of Feher et al. (2015) was also innovative since they proposed a probabilistic approach for smart parking illustrating tests in two different scenarios, the downtown scenario where streets were full of parking cars and the suburb scenario where there were plenty of parking spaces on the streets.

As a matter of fact, the combination of the perspectives can help the smart city system to gain the max of its effectiveness by offering citizens the desirable applications, avoiding failures or recovering immediately in case of one and detecting for abnormal events enhancing citizens’ security.

Table 1. Smart City Architectures and Technologies.

3 Requirements

Requirements play an important role when building a smart city. They are considered to be official and validated declarations of some functionality that aim to fulfill a particular need of the city. As a result, they are measurable and most of the times predefined even before a need arised or discovered. They work toward to satisfy social, economic or business needs and for this purpose are related to ICT technologies either directly or indirectly. Each smart city system has to gratify a minimum number of fundamental requirements in order to be effective and fulfill its mission. The selected architecture to be applied aims to satisfy a set of requirements, the number of which depends on the nature, potentials, and initiatives of the designing system as well as on the different social, financial and environmental characteristics of the cities and the needs of its stakeholders.

Below we cite some of the most outstanding works that stated a set of requirements in order to support the various smart cities systems. Then we list and discuss the basic requirements of these works presenting a table assigning the architectures to the requirements that they aimed to fulfill.

3.1 Requirements Background

To begin with a group of researchers who published in 2011 a survey on behalf of the Net!works European Technology Platform about smart cities applications and requirements giving emphasis on five domains of the city: economic, social and privacy implications; e-government; health, inclusion and assisting living; intelligent transportation systems; smart grids, energy efficiency and environment. As the researchers mentioned, the key technical requirements to provide e-government at the smart city level was standardization and interoperability. At health domain, they addressed the technical requirements of data security, encryption, authorization and authentication, smart devices connectivity and interactivity, power requirements for devices, end user interface, service discovery, scalability and survivability, persistence, interworking, community to community application messaging propagation, auditing and logging, location information sharing, and application service migration. At the domain of transportation systems, they proposed the requirements of security, privacy and authentication, flexible and scalable networks, heterogeneity with different types of sensors, actuators and radio interfaces, exploitation of location information, and real time exchange of data. At the last domain of smart grid and energy efficiency, they presented the requirements of real time and redundant communication, standardization, interoperability, sensor and actuator networks, ICT infrastructure and reliability for adaptation.

Emphasizing on the satisfaction of only one type of requirements was the primary study of Jin et al. (2012) who focused on Quality of Service. They identified four network architectures for smart city applications based on the IoT and presented their performance and effectiveness in order to maintain the Quality of Service guarantees.

In order to permit the implementation of their survey, Samaras et al. (2013) clarified the requirements needed to support their proposed SEN2SOC platform. Initially, they differentiated the requirements into functional and non functional ones, to prioritize them into mandatory, desirable and optional depending on their importance and criticality. Then, they stated the specific categories of requirements, which were sensor data, sensor data statistical analysis, users as sensors, users’ recommendations, web applications, alerts, social media analysis, user access to SEN2SOC applications, SEN2SOC architecture, experimentation, and evaluation of SEN2SOC experiment.

Finally, W. M. da Silva et al. (2013), after analyzing lots of researches published in the literature, they presented their own set of requirements from a technological perspective and assigned them to the architectures they studied. Their proposed requirements were objects interoperability, sustainability, real time monitoring, historical data, mobility, availability, privacy, distributed sensing and processing, service composition and integrated urban management, social aspects, and flexibility / extensibility.

3.2 Requirements Analysis

As we can easily recognize from the previous section, there is not yet a common set of requirements officially formulated. Each researcher proposed a set of requirements that was related to the needs of a specific smart city system or a specific sector that was the subject of their survey. Of course this is reasonable since it is very difficult to state a standard set of requirements for all smart cities because every city has different social, cultural, economic, political and business structure. Furthermore, all the requirements were formulated from a technical perspective and did not take into account citizens needs and preferences. In this section, we demonstrate the basic requirements both technical and user centric that must be satisfied when implementing some of the mentioned architectures and technologies as we recognized them during our literature study.

  • Data Collection. The collection of data is a basic activity for the smart city system in order to maintain its operation. To achieve this goal, the desirable data must be available and most of the times open. The system should have the ability of recognizing and categorizing various types of data, such as big or historical, and also the size of data involved, if they are few or many, since they are continually being modified due to human intervention or environmental changes. Another source for collecting data is through citizens’ involvement, who can contribute to this procedure via the use of their smart devices. This requirement can be met through the use of sensors and actuators to capture big and open data, cloud computing to manage the available data, data mining to deal with historical data and crowd sourcing to enhance participatory sensing. It is worthwhile to mention, that every researcher can choose from the previous technologies only those that fulfill better the mission of the smart city system and depend on the type of data it aims to manage.

  • Data Streaming and Processing. The stream and process of data should both occur in real time. To make this happen, the system should have the ability of having access to the incoming data and being in position of estimating the nature, size, complexity and reliability of the stream. Moreover, data processing should be distributed in order to benefit effectively from the system’s infrastructure. This requirement can be met through the use of networks that can facilitate and deliver the stream and be also distributed.

  • Data Security. It is of great importance that all the data used by the city should be safe and secure. It is about confidential and critical data that can not be disclosed to all citizens either they are related to city authorities or to a sector like hospitals or citizens’ personal and professional data. For this direction, encryption techniques, privacy policies, authentication mechanisms and access control must be established in order to guarantee the nature and distribution of those data.

  • Monitoring. Monitoring in smart cities happens in real time in order to observe all the components of the city and acquire useful information about them. The main goal of the real time monitoring is to predict and forecast various situations that can affect the city’s prosperity. This is feasible through the use of mobile technologies, smart devices, IoT and RFID.

  • Heterogeneity. A smart city system has to deal with great heterogeneity of the information flows and the devices involved. This requirement can be met through the existence and use of sensors and actuators, as well as with radio tags, user interfaces and control loops in order to overcome in some degree the complexity of the overall system.

  • Adaptation. A smart city system has to be flexible and adaptive to changes. More specifically, it should be able to react effectively when a change occurs and adapt its behavior according to the new circumstances. Also, it should be able to recover immediately after a change, update its operations and if it is possible to create new and more advanced ones. In order to fulfill this requirement, the system should use sensing mechanisms, prediction techniques and data mining.

  • Sustainability. The sustainability of the city is related to social, financial, and environmental aspects. Social sustainability refers to the provision of useful and important services to the citizens such as transportation, electricity and telecommunications. Financial sustainability refers to the wealth of the city, inflow of money, businesses operation and attractiveness of investments. Lastly, environmental sustainability refers to the energy efficiency and management of natural resources. In order to satisfy this requirement, the system should use ICT technologies together with big data analysis, financial models, cost management, energy production and pollution measurements.

  • Interoperability. The interoperability of smart city refers to the cooperation between various devices together, which usually use different kinds of platforms. Nowadays, a great effort is being undertaked to enable connectivity between the devices through the creation of common standards and protocols that can facilitate the collaboration among different operating systems. Moreover, some experts proposed the design of an open architecture that can facilitate information sharing and better integration of devices and applications. In order to meet this requirement, the system should use and exploit all the available sensors, the communications gateways and the IoT.

  • User Satisfaction. Except from the technical specifications, a smart city should also take into account citizens needs and requests. The system should offer usefulness to all stakeholders through the management of relevant data and the design of a friendly interface. It is important that the system would have the ability of distinguishing the various types of stakeholders and providing each of them with the necessary feedback. In general, users should benefit from the system’s use, a fact that would have both social and economic impact.

  • City Oriented. Orientation to the city requirement means that the system should offer valuable services and applications that would affect the city as a whole and every domain separately. It also aims to strengthen the usability and attractiveness of these services not only for the specific city and its stakeholders, but also for other smart cities. Finally, its purpose is to improve the everyday life of citizens and increase public safety.

3.3 Assigning Requirements to Architectures

In this section we assign the architectures proposed by the researchers with the requirements that each of them aimed to fulfill. For a better understanding, we concentrate them in the table below (Table 2).

3.4 Requirements Discussion

As we can easily realize from the above table, each researcher aimed to satisfy a specific number of requirements and not all of them. This is reasonable if we consider that every city has different social, cultural, economic and business needs and as a result it is difficult to state a common pattern for all smart cities. According to that, each researcher defined his/her own set of requirements that corresponded better to the needs of the analyzed city. Moreover, there were researchers that dealt with only one sector of the city. So, they gave emphasis on a specific set of requirements in order to maintain or improve the operation of the sector. In other words, every architecture was designed to target a particular problem and solve it in an effective manner. The works that aimed to satisfy most of these requirements were that of Filiponi et al. (2010) and Vilajosana et al. (2013).

Some technical requirements such as data collection and data streaming and processing were observed to exist in a great number of the proposed architectures. That is obvious if we take into account that every system in order to perform effectively needs income, flow, transfer and process of relevant information. Especially data stream and process seems to be the primary requirement that every system aims to fulfill according to the results presented in the table. In order to satisfy this requirement, researchers used various technologies to better manage the incoming data.

Moreover, data collection, stream and process, and monitoring were presented to exist together in many researches. That means that the proposed system used to monitor in real time the external and environmental conditions, and also collect and process the available data through critical infrastructure. These three requirements combined together were included in the works of Vilajosana et al. (2013), Filiponi et al. (2010), Attwood et al. (2011), Asimakopoulou and Bessis (2011), Ye et al. (2012), Samaras et al. (2013), Khan and Kiani (2012), Szabó et al. (2013) and Feher et al. (2015).

Data security is considered to be one of the most serious requirements in the extent that it is mandatory for a system to satisfy it. Unfortunately, only two works from those presented focused on the privacy and confidentiality of citizens, and government information. So, only Vilajosana et al. (2013) and Khan and Kiani (2012) realized the necessity of satisfying this requirement. The first authors developed the capillary network layer in their platform which included security infrastructures for data management and control offering and the service layer which had the responsibility to receive the incoming data from capillary network layer and then to process and secure them. The latter authors developed the security layer in their framework which certified the authentication of data and their use from authorized users.

Heterogeneity is referred to the different types of devices used by the citizens during their daily life and the various types of incoming data flow in the system. According to this, IBM (2010) developed the perception layer to recognize the various types of involving devices. Carretero (2012) built a system to provide heterogeneous devices with the ability of reacting effectively to environmental changes. Mitton et al. (2012) and Distefano et al. (2013) used the Adapter element to facilitate the communication between heterogeneous devices. Sánchez et al. (2013) created the IoT device layer to overcome the heterogeneous nature of the devices and help them interact properly via the use of IoT. Finally, Xiong et al. (2014) developed Data Vitalization architecture in order to indicate a more effective way of managing the heterogeneous incoming data from sensors.

Adaptation is related to the ability of the system to react effectively when a change appears and adjust its behavior according to the new conditions. In that direction, Carretero (2012) developed a self-adaptive architecture named ADAPCITY to facilitate the system to adapt its operation and recover when a change occurred, while Attwood et al. (2011) used adaptation mechanisms to control critical infrastructure failures. Horng (2014) created an Adaptive Recommendation Mechanism for improving parking services, while Zhang et al. (2013) proposed a Self-adaptive Dynamic Partition Sampling strategy for protecting citizens from consuming contaminated products.

Sustainability is affiliated with the social, financial and environmental aspects of the city trying to simplify service delivery, reduce cost and manage energy. Six works from those presented dealt with it. Notably, Vilajosana et al. (2013) built a self-sustainable model to bootstrap the smart city market through the use big data flows. Schaffers et al. (2011) dealt with sustainable, open and user-driven innovation frameworks based on Future Internet to improve social cohesion, economic growth and optimization of energy and water usage. Bululukova and Wahl (2015) gave emphasis on integrating sustainable smart cities concepts to academic level to enhance teaching and research, while Iano et al. (2015) used Internet broadband network of Things to promote sustainable computing and communication technologies for being applied to education system of Brazil. Bertoncini (2015) developed an Integrated Sustainable Urban Model to manage urban energy infrastructure to optimize consumption of energy, decrease the exploit of resources and eliminate costs. Lastly, Khan and Kiani (2012) proposed a cloud architecture to facilitate sustainable urban development, socio-economic growth and management of sustainable natural resources.

Interoperability is related to the coordination between different devices together, which are usually based on different types of technologies. In that term, Lilis et al. (2015) proposed the implementation of interoperable technologies and referred to interoperability challenges in order to manage building automation. Ballon et al. (2011) presented a cloud platform to be applied by all European smart cities to overcome the interoperability problems of the different spoken languages and the adaptation of new technologies standards and protocols. Hu and Li (2012) emphasized on the use of GIS and IoT as open networks to facilitate objects interoperability. Filiponi et al. (2010) developed the Interoperability Open Platform which allowed different applications domains and sub-systems to interoperate and share data. Suciu et al. (2013) proposed the SlapOS framework in which an interoperable decentralized open source cloud platform for IoT applications was embedded and aimed to enhance existing M2 M and their IoT foundations. Cochliouros et al. (2013) used Living Labs so as to promote interoperability. Anthopoulos and Tsoukalas (2006) dealt with interoperability issues, so that the digital city’s of Trikala infrastructure could transact with legacy systems already installed in public and private sector. Su et al. (2011) proposed a construction frame of applications system which aimed to achieve interoperability in the construction of smart urban management sub-system. Roscia et al. (2013) used a graphic user interface to ensure interoperability between systems and heterogeneous agents.

User satisfaction is also an important requirement that many systems aim to satisfy. The main goal for smart cities is to offer to the citizens a great experience and improve their quality of living. To achieve this, they take into account their needs and preferences. As we can see from the table, many works are user centric and try to provide citizens as with advanced services and applications through the use of friendly interfaces. So, for example we have different suggestions from the creation of a smart sports information system to smart parking services.

Orientation to the city is the last requirement from the list of the key ones that a smart city system tries to fulfill. This requirement is related to the services and applications that affect a sector of the city or the whole of it and of course they have an impact to citizens’ daily life. In that direction, many works dealt with that requirement and created systems to replace old ones or be completely new like the SmartSantader city of Spain and the Digital city of Trikala or enhance the functionality of sectors like energy efficiency in buildings, control of the food chain for avoiding the consumption of contaminated products, and improvement of the education procedure.

Table 2. Smart City Architectures and Requirements.

4 Conclusions and Future Work

In this paper we presented and discussed many architectures and requirements that have been proposed in the literature in order to build a smart city system or a smart city component. We cited and analyzed various works that belonged to different perspectives, such as AL, SOA, EDA, IoT and combined architectures and also the embedded technologies of these perspectives. Moreover, we presented and discussed the key requirements that every architecture aims to satisfy. Finally, we summarized these works in two tables, one presenting the perspectives and their integrated technologies and a second assigning architectures to the requirements they tried to fulfill.

Based on the above analysis, we deduce that the perspective of AL was preferred by many researchers even though the chosen layers varied among their works. SOA was also selected to be applied in smart cities since it distinguishes the city in different components which offer all kinds of services to the citizens. Considering the number of published works in the literature, we can easily determine that AL were mostly preferred for implementation than SOA. In the sequel, EDA implementation was only observed to one European project. On the contrary, IoT is the new trend and many recommendations about its implementation have been published until today. Its association with sensor networks and cloud computing amplifies its acceptance and choice by researchers. In recent years there is the tendency to combine IoT with the other perspectives to improve the functionality of smart city system. The most common combination is IoT with AL in which researchers used to add extra technologies to enhance system’s capabilities. The combination of IoT with SOA was chosen to facilitate geolocalization matters and offer citizens the right services according to their requests. Finally, the combination of IoT with EDA was selected for improving the functionality of the SOFIA project by adding Internet technologies to the proposed architecture. There were also remarkable attempts that tried to combine together three or even all the abovementioned perspectives to empower the smart city with the advantages that each of them can offer to the citizens.

As far as technical requirements are concerned, data collection, data stream and process, and interoperability are the most common to be fulfilled by the chosen architecture. Also, user and city oriented requirements are taken into account trying to satisfy stakeholders and improve the operation of the city. However, security must be noted since it is mandatory to ensure the safety and privacy of the confidential personal data and information of citizens, institutions and government.

In the future, IoE intends to launch a new era in smart city development. Its purpose is to extend the capabilities of IoT and create a common pattern in designing applications for smart cities that are in the initial stages of building their infrastructure. Even if it is not implemented yet, it is expected to offer lots of capabilities to the citizens. As a matter of fact, IoE seems to be a promising architecture since it aims to totally change the economy, society and our way of living.