Cyber Physical Recommender Systems for IoT Based Applications

Cyber-physical systems (CPS) are often characterized as smart systems, which intelligently interact with other systems across information and physical interfaces. Cyber-physical systems (CPS) are fitting into modern society. CPS integrate multiple techniques, including distributed computing, communication and automatic control, to support variety of intelligent services and applications in many fields, such as transportation, healthcare, entertainment and city infrastructure. Recommender systems in CPS, which always provide information recommendations for users based on historical ratings collected from a single domain only, suffer from the data sparsity problem. Recently, several recommendation models have been proposed to transfer knowledge across multiple domains to alleviate the sparsity problem, which typically assumes that multiple domains share a latent common rating pattern. Recommender systems always results into faster and efficient options/choices as per user’s demands. This technology helps us in retrieval and access of different services like in Healthcare sector, Education, E-Commerce, etc. During the last few decades, with the rise of Youtube, Amazon, Netflix and many other such web services, recommender systems have taken more and more place in our lives. From e-commerce (suggest to buyers articles that could interest them) to online advertisement (suggest to users the right contents, matching their preferences), recommender systems are today unavoidable in our daily online journeys. In this paper, a proposed system architecture focusses on IoT applications utilizing recommender systems for offering number of services to users. Also, various Cyber Physical Recommender Systems are proposed to offer standard quality of service (QoS) for various IoT applications.


Introduction
Cyber-physical systems are transforming the way people interact with engineered systems. Cyber-physical systems integrate sensing, computation, control and networking into physical objects and infrastructure, connecting them to the Internet and to each other [1]. Cyber-physical systems are poised to transform the delivery of health care enabling smart medical treatments and services. Sensors in the home will detect changing health conditions; new operating systems will make personalized medical devices interoperable; and robotic surgery and bionic limbs will help heal and restore movement to the injured and disabled and one day even augment human abilities. In essence, the profound change brought about by this new Based Applications world environment will be due to the ubiquity of digital things, existing in the digital space called cyberspace and by digital entities called cyber entities. Both constitute a digital world called cyber world that can be configured to closely correlate to and further reshape various ordinary things/entities in conventional physical, social and mental spaces/worlds.
Following the present two revaluations of computerization and informatization, the next revolution will be ''cyberization'' [2], in which numerous cyber entities will be synthesized or generated by computers, and almost all ordinary things/entities in physical, social and mental worlds may also be cyberized to possess corresponding cyber entities as mappings [4], counterparts [4] or components [4] existing in the cyber world with digital explosions and digital clones [4].
Such cyberization is beginning to take place in diverse fields such as embedded computing, Internet of Things (IoT), cyber-physical systems (CPS), social networks/computing, ubisafe computing [4], wearable systems [4], smart objects [4], smart environments [4], smart city [4], smart agriculture [4], Internet economy [4], cyber security [4], cyber physics [4], cyber psychology [4], and cyber individual (Cyber-I) [4]. Computing cloud [4] can be regarded as an enormous distinct cyber entity, a common resource infrastructure of computation and storage to support the diverse systems mentioned above and cyberization in general. Big data [4] is one of the common features of these cyberized systems, and its technologies will play a very important role as a core foundation in the process of the cyberization. With the development of CPS and Internet applications, the confluence of CPS technologies enables new opportunities and poses new research challenges [3]. CPS will be composed of interconnected clusters of processing elements and large-scale wired and wireless networks that connect a variety of smart sensors and actuators. The coupling between the cyber and physical contexts will be driven by new demands and applications [3].
Recommender systems are beneficial to both service providers and users. They reduce transaction costs of finding and selecting items in an online shopping environment. Recommendation systems have also proved to improve decision making process and quality. In ecommerce setting, recommender systems enhance revenues, for the fact that they are effective means of selling more products. In scientific libraries, recommender systems support users by allowing them to move beyond catalog searches [5]. Therefore, the need to use efficient and accurate recommendation techniques within a system that will provide relevant and dependable recommendations for users cannot be over-emphasized [5]. Apart from the above purpose, the proposed system can be made useful for the other areas like Government sectors, Medical Sectors, Media sectors, Social Sectors, Education sectors, Technical conferences, Literature review/survey etc. Recommendation techniques are information agents that attempt to predict which items out of large pool a user may be interested in and recommend the best one to the target user. We define a "recommendation class" as the least specific idea, namely a broad concept that broadly describes how recommendations might be given. For instance, the recommendation concepts collaborative filtering (CF) and content-based filtering (CBF) fundamentally differ in their underlying ideas: the underlying idea of CBF is that users are interested in items that are similar to items the users previously liked. In contrast, the idea of CF is that users like items that the users' peers liked. However, these ideas are rather vague and leave room for different approaches [6].
A "recommendation algorithm" precisely specifies a recommendation approach. The objective of a recommender system from a broad perspective is to provide "good" and "useful" recommendations that make users "happy" by satisfying user needs. The needs of users vary. Consequently, some users might be interested in novel research-paper recommendations, while others might be interested in authoritative research-paper recommendations. Of course, users require recommendations specific to their fields of research. When we use the term "effectiveness," we refer to the specific objective the evaluator wanted to measure. We use the terms "performance" and "effectiveness" interchangeably [6].
The Internet of Things (IoT) is a novel paradigm that aims to create a pervasive and ubiquitous network of seamlessly interconnected heterogeneous physical Smart Objects (SOs) based on standard communication protocols. More specific the IoT attempts to connect SOs that are uniquely identified and addressed to Internet. IoT autonomously interacts with environment and reacts to any event with things/objects to accomplish assigned tasks and provide various useful services. Under the IoT, a vast amount of data will be available and shared over the Internet among interested parties. It is expected that the number of interconnected devices will reach 50 billion by 2020 [7].
In IoT systems, RSs may suggest appropriate services that are likely to be of interest to users based on objects they own. Moreover, RSs may also recommend additional objects that users must acquire to subscribe additional services. Thus, efficient IoT-based RSs require more information such as service profiles and device ownership of users. This brings new challenges to existing RSs which are based on human relationship and information of Web pages. Thus, further study is needed to explore issues of IoT recommender systems [7].
In this paper, we investigate various approaches in recommender systems. We present our proposed system architecture for Cyber Physical recommender system for IoT applications that employ information of services and ambient resource for services and things recommendation. The rest of the paper is organized as follows. Section 2 introduces recommender system classification types. Section 3 describes the proposed recommendation model with IoT services. The various IoT based Cyber Physical Recommendation paradigms are given in Section 4. Section 5 describes conclusion and future scope.

Classification of Recommendation Systems
Recommendation techniques have a number of possible classifications shown in figure 4 [8]. The interest in this discussion is not the type of interface or the properties of the user's interaction with the recommender, but rather the sources of data on which recommendation is based and the use to which that data is put. Specifically, recommender systems have (i) background data [9], the information that the system has before the recommendation process begins [9], (ii) input data, the information that user must communicate to the system in order to generate a recommendation [9], and (iii) algorithm that combines background and input data to arrive at its suggestions [9]. The whole classification is broadly categorized into the personalized and non-personalized recommendation as shown in Figure 4, and discuss all the personalized recommendation techniques. Personalized recommendation is an enabling mechanism to overcome information overload occurred when shopping in an internet marketplace, use personalized information for better recommendations to the user. Non personalized recommendations are the simplest form of recommendations in which without any consideration of user's specifications some items are recommended. The most popular method is the recommendation based on ranking of items. However, since they don't take user's preferences into account, the quality of their results are low. For example, in an electronic shop most sold items are recommended to all users [6].
Rapid growth of web and its applications has created a colossal importance for recommender systems. Being applied in various domains, recommender systems were designed to generate suggestions such as items or services based on user interests. Basically, recommender systems experience many issues which reflect dwindled effectiveness [6]. Integrating powerful data management techniques to recommender systems can address such issues and the recommendations quality can be increased significantly [6].
In the recommender systems, process of generating recommendations depends on various factors, such as the following: (i) available user data in the database (such as user Information, interests, ratings, locations, and social Relationships); (ii) filtering mechanism/algorithm used (like, Content based, Hybrid, Collaborative etc.); (iii) techniques used to enhance the results (such as Bayesian networks, singular value decomposition and fuzzy models); (iv) sparsity level and scalability of database; (v) system performance (such as memory and time consumption); (vi) considered objectives of the system (such as top Recommendations and Predictions); (vii) quality and its metrics used for the result and analysis (such as precision, recall, -measure and novelty) [6].
Public databases are used in the research of recommender systems to develop new methods, techniques and algorithms. Delicious and last.fm are the most popular databases used in the development of recommender systems [6].

Collaborative Filtering
Since Collaborative Filtering approach was mentioned and described by Paul Resnick and Hal Varian in 1997, it became one of the most researched techniques of recommender systems [6]. The idea of collaborative filtering is in finding users in a community that share appreciations. The two users have similar tastes, if two users have same or almost same rated items in common [6]. Such users build a group or a so-called neighborhood. Collaborative filtering methods have been applied to many non-identical kinds of data including: financial data, such as financial service institutions that combine many financial sources; monitoring and sensing data, such as in mineral exploration [6], environmental sensing [6] over large areas or multiple sensors; or in electronic commerce and web applications where the focus is on user data, etc. Collaborative filtering can be used for making automatic predictions about the interests of a user by collecting preferences or taste information from numerous users by means of collaboration [6]. Going in details of methods of collaborative filtering we can distinguish most popular approaches: user-based, item-based and model-based approaches.
1. User-based Approach: This approach was proposed in the end of 1990s by the professor of University of Minnesota Jonathan L. Herlocker [6]. In the user-based approach, the users perform the main role. If certain majority of the customers has the same taste then they join into one group. Recommendations are given to user based on evaluation of items by other users form the same group, with whom he/she shares common preferences [6]. If the item was positively rated by the community, it will be recommended to the user.
Thus, in the user-based approach the items that were already rated by the user before play an important role in searching a group that shares appreciations with him [6] (See Figure 5). Figure 5 shows User-based collaborative recommender system [6]. 2) Item-based Approach: This approach was proposed by the researchers of University of Minnesota in 2001. Referring to the fact that the taste of users remains constant or change very slightly similar items build neighborhoods based on appreciations of users. Afterwards the system generates recommendations with items in the neighborhood that a user would prefer (See Figure 6). Figure 6 shows Item-based collaborative system [6].

Content Based Filtering
Content-based recommendation method ( Figure. 7) is based on the information about item content and ratings a user has given to items. This technique combines these ratings to profile of the user's interests based on the features of the rated items. The recommendation engine then can find items with the preferred. The recommendations of a content-based system are based on individual information and ignore contributions from other users [6]. Recently, more and more attentions have been paid on users' taste and preference to improve the retrieval process in order to generate more meaningful and suitable retrieval results for users. And in real world, users may want to require the newest relevant information as soon as it appears. Compared to those passive information acquirement models such as search agents, our active information acquirement model can dramatically save much time for people who are always busy in this information exploded age. In our automatic recommender system, as illustrated in Figure 8, we divide the users into groups who appear to have similar preferences according they accessed similar content in Internet. Semantic content features of a new item will be extracted to match the format of feature vector database. After adding it to database, we provide an efficient way to calculate and retrieval the similarities/ distances between the feature vectors of new item and users clusters. Actually, it is a process to find" influent sets" of new item, which can be accomplished by a reverse k nearest neighbor query. Finally, this item will be recommended to these groups of users that seem to have the similar tastes or interests matching with the semantic content feature of this item [6].

Hybrid Filtering
There are advantages and limitations of each recommendation method. For example, collaborative filtering can find users' potential interests by analyzing the historical data, but suffer from serious sparsity, cold start problems. Although the content-based can avoid all these problems and can also make a list of features of recommended products to explain recommendation reasons, it can be constrained by information extraction technologies and hard to find users' potential interest preferences. Thus the study of hybrid recommendation is proposed, which is the hottest research field. The Figure 9 shows the Hybrid Recommendation model for E-commerce [6].

Proposed System Architecture
The Web of Things (WoT) is an evolutionary paradigm that followed the IoT paradigm. The WoT shares similar concepts with the IoT but with different technologies. WoT builds ecosystem where SOs and people are seamlessly connected and presented as Web resources based on Web standards and protocols to interact as peers and build new applications. WoT reuses and leverages existing web technologies and protocols like Uniform Resource Identifiers (URIs), Hypertext Transfer Protocol (HTTP). Interoperability between heterogeneous objects in a WoT is ensured by using different architecture such as Service Oriented Architecture (SOA) based on Web services protocols (WS-*) and Representational State Transfer (REST) technology [7]. In order to gain full understanding of our recommender system algorithm and its deployment in IoT, we introduce Based Applications preliminary and underlying mechanisms of recommender systems in this section as shown in Figure 10. In the past decade, RSs have been applied in many different areas and large number of researches has been conducted [7].
The success of the WoT has inspired the Social Web of Things (SWoT) paradigm which concerns the convergence between the social aspects in WoT and IoT paradigms. It allows people to share the services offered by SOs with friends. SWoT promoted the social role by the use of popular online Social Network Site (SNS) and their APIs to maintain a social structure and relationships with SOs to create social relationship of SOs and thus turning objects and SNS functionalities into services and enable them to be easily discovered and integrated with various other services.
In all aforementioned paradigms, a large number of smart objects are connected to provide various value-added and user-friendly services. Nowadays, these services are widely available and have been adopted in many different domains such as personal health care, intelligent transportation service, green energy monitoring, intelligent agriculture, environmental monitoring, smart homes, and smart cities services. It is expected that numerous services will be introduced and a user or a family may subscribe or own many services in the near future. In particular, it will become very important to help users finding and selecting valuable services so that IoT can really improving human daily live. With the rapid development of IoT, and its successors WoT and SWoT, large numbers of companies are deploying it to provide numbers of different services [7].
Problem Definition In IoT, recommender system must draw users' attentions to new services they did not subscribe. These services must be suitable for objects the user owns. Intuitively, services may be associated with different objects, which mean that the service already associated with an object is not excluded from possible recommending for different object (s). In this section we formalize the notion of IoT systems and formulate the service recommendation problem.
A  Figure 1. Formally, IoT system can be defined as a tuple I:= (U; S; O; Y) that describes the users U, services S, and objects O. Y is a ternary relation between these three components that represent user subscription in services based on objects he owns, Y ⊆ U x S x O.
The recommendation system for IoT takes the set of users, the set of objects, and the set of services and outputs list of services with top ranking for a selected user. The task of the recommender system is to rank all services provided by 3rd party and pick out services and recommend a set of services s εS for a given user u εU and a given object o εO. We present the problem dataset D as an undirected graph G = (V, E), where V is the set of all nodes in the graph, which is composed of users, objects, and services, i.e. V = U ∪ S ∪ O. E is the set of the edges in the graph, which is defined as the co-occurrences of services and users, users and objects, services and objects. E = {{u, s}, {s, o}, {u, o}| {o, s, u} ε D} and each edge {u, s} ε E has a weight | {o ε O |{o, s, u} ε D} |, each edge {s, o} ε E has a weight | {u ε U|{o, s, u} ε D} | and each edge {u, o} ε E has a weight |{s ε S|{o, s, u} ε D}| [7].

Big Data & CPS
A CPS mainly consists of physical components and a cyber twin interconnected together, where a cyber twin is a simulation model representative of the physical things such as a computer program [10]. Internet of Things (IoT), on the other hand, allows different CPS to be connected together for information transfer. This means that IoT acts as a connection bridge to network different cyber-physical things. CPS have resulted in a tsunami of new information, also known as big data, which can help boost revenues of many businesses, by identifying customer needs and providing them with superior services. However, this enormous amount of data is so large in size and complex in realtime that it exceeds the processing capacities of conventional systems. That is why, cloud computing techniques along with machine learning tools, data mining, artificial intelligence, and fog computing can help the sensed data to be easily stored, processed, and analyzed to uncover hidden patterns, unknown correlations and other useful information Two main sources to sense the data from: i) context-aware computing and communications [10], ii) social computing. With context-aware computing and communications [10], data are sensed from physical sensors, virtual sensors which retrieve data using web services technology, logical sensors which combines both virtual and physical sensors such as gathering weather information, global sensors which collect data from middleware infrastructure, and remote sensors for earth sciences applications [10]. As for social computing, participatory sensing and mobile crowdsensing have led to shaping the structure of social networks, in which users collect and share sensed data using their own smartphones rather than relying on sensors.
Context-aware computing could be considered as CACN operating in the higher networking layers. The data that sensors collect for its specific application purposes are considered raw data, which have been directly collected from the environment without further processing. With raw data alone, it becomes challenging to analyze and interpret them, and let alone the big data generated by the large scale deployment of sensors. For data which provide relevant information that is meaningful and easily interpretable, sensors need to engage in context-aware computing; that is, sensors need to store processed meaningful information, also known as "context information", that is easily understandable.
Social computing allows the integration of social behaviors and contexts into web technologies to assist with predicting social dynamics, which can render the operation, planning and maintenance of social wireless networks easier than ever [10]. For instance, due to high social correlations and relationships among subscribers, a user social network can be formed, in which the habit, interests, mobility, and sharing patterns can be used to construct social Community structures and analyze communication behaviors. One such an example of user social application is the popular Pokemon Go game, where users in close proximity share real-time maps to hunt for Pokemon characters [10]. Another example where social computing can be beneficial is in emergency situations, such as the spread of infectious diseases, where taking the appropriate policies by analyzing human interactions and predicting the emergency's evolution can help protect the public health [10].

RS and IoT in Agile Projects
The AGILE project aims to develop the software and hardware required to build modular gateway solutions for managing devices and data in Internet of Things (IoT) scenarios 1. It will support the local management of devices and data, app development, and include security features that allow users to share data in a trusted way. AGILE technologies are based on existing open source projects. Recommendation technologies are progressively attracting the interest of new application domains as a valuable solution to increase system autonomy and efficiency. Modern embedded systems involved in IoT scenarios can exploit the advantages offered by context-aware and profile-driven recommendations [11]. One important focus of AGILE is the development of recommendation technologies that help to personalize the interaction with IoT environments. End-users of AGILE infrastructures will be supported in retrieving apps and additional devices useful in their application context. App developers will be supported in the definition of new apps by receiving recommendations regarding the definition and extension of application workflows [11].
There are different scenarios where recommendation technologies play a role in AGILE. For example, a user installs an AGILE gateway to make his/her home smarter. The user is already using temperature and pressure sensors and temperature and pressure alarm applications. He/she buys a gas sensor, plugs it onto the gateway then opens the management user interface of the gateway in the web browser. The user wants to receive some app recommendations according to the overall setting on the gateway. He or she presses the get recommendation button on the management user interface. On the basis of the gateway profile, the AGILE recommender applies collaborative filtering on the profiles knowledge base. The recommender returns the recommended applications for the gateway [11]. The user selects the fire alarm app from the recommendation list and installs the app. He/she also wants to implement an own smart home application on the AGILE gateway. Therefore, the user starts to build a workflow with the AGILE development user interface by adding a temperature node which collects data from the installed temperature sensor. The user then activates the recommender just to figure out how to best extend the current workflow. On the basis of the current workflow content (the temperature node), a collaborative filtering recommender can recommend possible extensions (e.g., a pressure node) [11].
Recommendation functionalities are typically triggered from two different sources. First, the AGILE development user interface supports the recommendation of workflows in situations where users are building their own applications (apps). Second, when using the gateway as an end-user, AGILE can provide recommendations in terms of new apps and also additional equipment needed to extend the current gateway infrastructure [11].
Therefore, its represented that how recommendation technologies are utilized to increase the flexibility of IoT infrastructures in context of AGILE Projects [11].

Multimedia RS and Cloud Integrated CPS
Portable smart devices have paved the way for accessing and capturing different types of multimedia contents with human interactions, leading to the emergence of cyber-physical systems (CPSs). Although the massive data collected from these physical terminals can contribute to the improvement of their quality of lives by building smart communities, CPSs intensify the information overload problem. Therefore, plenty of research efforts have been paid to develop multimedia recommender systems.
However, most existing research activities neglect its time-varying features due to system dynamics, i.e., not only the amount of input data constantly grows, but also the change of user behaviours and system operating environment. In order to sustain the high accuracy of recommendations, the system in a CPS has to be updated regularly. However, the more often the update proceeds, the more the cost of other computational resources. The availability of data centers and wide-area wireless networks have paved the way for accessing and capturing different types of multimedia contents (i.e., text, images, audios, and videos) [12]. As a result, people can acquire the latest information (e.g., news, friend's condition, and new movies) anywhere and anytime with portable smart devices like the smartphone and iPad [12]. This intimate coupling between the cyber and physical spaces has led to the emergence of cyber-physical systems (CPSs) [12], as a new generation of systems with computational and physical capabilities that can interact with humans through many new modalities [12]. Typical examples of CPSs are cyber-physical social networks (that build social networks with data collected sensors) and intelligent transportation systems to gather and process multimedia data transmitted from the vehicles.
Nevertheless, these physical things, i.e., smart devices, are usually associated with limited computational processing speed, memory size, etc., and in a CPS application, information overload has become a serious problem, particularly for these smart mobile devices that cannot store a lot of multimedia contents for users. The power of recommending interesting information to specific users has emerged as a bottleneck on the path to intelligent information processing in CPSs. Therefore, designing analytical and efficient recommendation models to address the information overload problem is very important [12]. In order to address this issue, recommender systems have been proposed as an essential tool for users to navigate the plethora of contents according to their own interests. Examples include the user interfaces provided by Amazon, Netflix, and Last.fm [12]. For Amazon, a digital enthusiast may find that the login page is filled with all sorts of recommended equipment which he/she may like. Also, a young mother will easily find a satisfying cookbook with the help of the "Guess you like" section. This is because Amazon has made full use of the user's purchase history to build a personalized recommendation model and then applies it to predict the user's behaviour. This approach not only brings high profits but also significantly eases the shopping experience for customers.

Network Location-Aware Service RS in CPS
Due to the huge number of services in CPS, it becomes an urgent task to effectively select the suitable candidate services for different users. Besides the difference of functionality, services in CPSs are likely to provide different quality under various environments, especially in the different network conditions, such as 4G, 5G, and Wi-Fi. In this paper, our goal is to select the suitable services with high quality for users in CPS. Service-oriented computing (SOC), as a popular distributed computing paradigm, is widely studied by a series of institutions and standardization organizations. Traditionally, the SOC community focuses on service composition [13], service discovery [13], service selection [13], and service testing [13]. The existing researches are indeed verified to be valuable in many fields, such as distributed computing, cloud computing and cyber-physical system. However, along with the explosion of resources in CPS, it becomes increasingly difficult for a user to find the suitable services. In the case of a huge data volume, it is urgent to develop an effective service recommender system. There are two types of properties for a service, functional properties and non-functional properties. The non-functional properties are represented by quality-of-service (QoS), such as response time, throughput and reliability [13]. In recent years, study on QoS is an important topic in service computing and distributed computing. Since a service usually runs in a dynamic network, the QoS value of a service is likely to change due to the instability of the network. Thus, it is important to predict QoS values for achieving effective service recommendation.
The primary motivation is the key goal of this paper, that is, to promote the prediction accuracy of QoS values as a criterion to select suitable services for target users. This motivation comes from the observation that the number of services in CPS is increasing quickly. So we need to tackle the urgent task, recommending or selecting appropriate services from a large number of candidates. The second motivation is to solve the sparsity problem in service recommendation in CPS. The sparsity problem is led by the limited service invocation records that a user can have, compared to the large whole number of all potential services. The third motivation is to study the role of network location as context information in QoS prediction, to study whether and how network location can improve the prediction accuracy. We observe that in CPS, network location is a piece of representative context information, but has been not yet given enough attention in QoS prediction [13].

Mobility RS in Smart Cities
A lot of research in the field of Intelligent Transportation Systems, or ITSs, is devoted to mitigate mobility problems, also by exploiting in novel ways information about the state of the road infrastructure [14]. Many commercial and academic ITSs provide optimal door-to-door routing exploiting multiple means of transport (i.e. a synergistic use of bus, rail, and/or taxi). Nevertheless, up to now, very few investigations have been conducted on routing including parking 3. Finding a parking space is a key issue in the field of mobility. Experimental study has shown that, during rush hour, up to 30% of the traffic is due to drivers looking for a parking space 4. The main cause of these problems is that drivers. do not know where there could be free parking spaces matching their expectations and so they have to roam. These problems have not only strong socio-economic implications, since the time spent in finding free parking spaces is a cause of stress and frustration for drivers, but there is also a dramatic ecological impact. From a technological stand, it is easy to envision a near future scenario of urban mobility, where it will be possible to know in real-time the availability of parking spaces for each off-street parking lot and on-street parking stall, thanks to Internet-of-Things (IoT) techniques [14]. By leveraging these new and potentially huge data sources, novel mobility applications become possible.
A Mobility Recommender System (MRS) could help the travellers in their decision-making process, by providing suggestions about relevant routes for users. The objective of the MRS is to generate different ranked lists of possible multimodal door-to-door routes that include also parking spaces (either on-or off-street) by querying multiple times the Route Calculation Planner (RCP) with different parameters, in order to find the relevant alternative to propose to the drivers. Some previous research has been devoted to propose data-driven architectures for mobility [14].
The architecture proposed in Figure 13, is meant to exploit heterogeneous data sources about the road infrastructure, mainly from 3rd party data providers, such as the digital map of the road network and the parking information. Fundamental data are the one obtained by the public transportation network, and smart city policies and regulations. Starting from a user's query, which is composed by a starting location (typically the current location) and his/her destination, the Mobility Query Engine will reason on the available data to generate different queries for the RCP [14].
More in detail, the query engine will generate n queries each by adding a different way-point in between the couple source/destination. Each of the n way-point represents a possible parking area selected by reasoning on city policies and estimated parking availability information and then evaluated according to the user parking preferences (a user profile). The RCP will provide, for each route request, a list of potential door-to-door routes, each of them intended as the sequence of road segments, the Estimated Time of Arrival, and optional information about public transportation to be used to reach the destination. To obtain this result, the RCP will require the definition of a novel cost function looking for the best multimodal route, able to minimize the total travel time for the user. After the RCP computation, a Route Ranker will order the multimodal route results with respect to the user preferences and the highest rank results will be suggested to the user [14].

Novel RS in IoT
Recent studies propose to gather data about installed apps on smartphones as a way to get valuable user information and to derive user profiles [15]. We believe that the installed apps are also a door opener for gathering information about the connected physical objects and we are able to automatically build a digital inventory for each consumer. Recommender systems can use these inventories for collaborative filtering and/or to offer related products and services to the consumers in a non-intrusive way.
A schematic view of the proposed recommender system is shown in Figure 14. It consists of two parts: an app for gathering data and displaying recommendations (marked with a star icon) and a server for data processing.
The working procedure of the mentioned system consists of three steps, as follows: 1) Data Gathering from Mobile Device As an initial step, the app sends a simple list of all installed apps to the server. From technical point of view, retrieving the list of apps installed on a mobile device can be done through calling APIs provided by Google's Android Operation System. Retrieving this piece of information does not require any additional permission from the user. The recommender engine is shaded in gray. Physical objects and corresponding apps on the smartphone are displayed in white.
2) Building a Digital Inventory In IoT, manufacturers tend to provide mobile apps along with physical objects to improve user experience as well as to provide better services. For instance, a smart toothbrush is sold together with an app for monitoring the cleaning process in real-time. Thus, our server looks on the received app list for apps that are related to such smart objects. The server can use a pre-defined mapping table. Or, the server goes on app markets like Google Play and reads automatically the description of the installed apps. Most app descriptions refer to the corresponding physical object because the object is a precondition for using all features of an app. In the end, the server stores the identified physical objects in a digital inventory [15].
3) Creating Personalized Recommendations Based on the digital inventory from previous step, the server computes a list of personalized recommendations and sends them back to the user's device. Both collaborative and content-based filtering are possible. The inventories can also be used to study consumer needs and adoption behaviour and to predict users' character traits, demographics, etc. Finally, the app presents the received recommendations to the user [15].

Conclusion & Future Scope
In this paper, we have learnt and analysed many Cyber Physical Recommender systems required for IoT applications. Various approaches like Big Data & CPS, RS & IoT in agile projects, Multimedia RS & Cloud integrated CPS, Network location aware service RS in CPS, Mobility RS in smart cities and Novel RS in IoT paradigms are presented in the paper and there is a huge scope for comparing and implementing the varied paradigms.
Proposed system architecture is described which focusses on offering different IoT services & applications from recommender systems like Content, Collaborative and Hybrid systems.