Customized Recommendation System based on Rule Matrix in SaaS Aggregation Service Platform

Size: px
Start display at page:

Download "Customized Recommendation System based on Rule Matrix in SaaS Aggregation Service Platform"

Transcription

1 Customized Recommendation System based on Rule Matrix in SaaS Aggregation Service Platform Yun Cui 1, Myoungjin Kim 2, Jongjin Jung 3, Khongmin Kwon 2, Baul Kim 2, Ilkyeun Ra 4, Hanku Lee 2,* 1 Department of Internet & Multimedia Engineering, Konkuk University, Republic of Korea 2 Innogrid, Republic of Korea 3 Korea Electronics Technology Institute, Republic of Korea 4 Department of Computer Science and Engineering, University of Colorado Denver, USA In this paper, we introduce a customized recommendation system that runs on the Software as a Service (SaaS) Aggregation Service Platform, which provides users with a convenient SaaS service function interworking environment. The customized recommendation system analyzes log information generated through cloud data binding processing to provide customized recommendation service according to user status. Cloud data binding processing combines SaaS service functions based on a Rule Matrix defined using complex-context in providing the SaaS aggregation service. The utilization status of the service generated through service aggregation is stored as log data called the cloud data binding history log. We describe and propose a system architecture based on the functional requirements for providing customized recommendation services by analyzing the characteristics of user status using cloud data binding history log information generated based on the Rule Matrix. The proposed system provides an optimal SaaS service function to users and supports useroriented SaaS aggregation service through the SASP's web UI. Keywords: SaaS Aggregation, Cloud Data Binding, Customized Recommendation, Rule Matrix 1. INTRODUCTION As cloud computing becomes more popular, many companies and government agencies are leasing cloud services to reduce information and communications technology ICT deployment and management costs. Cloud services also provide continuous maintenance. Most people who use smart devices are directly or indirectly using a variety of cloud-based applications. As cloud service technology evolves, many cloud service providers are offering reliable and advanced technologies such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) to various sectors in order to provide users with easyto-use services. In particular, SaaS providers offering various application services are changing their strategy and developing SaaS-type applications to simplify their service environment and optimize service structure. Cloud services brokerage (CSB) [8] has emerged as a concept to support cloud services for a variety of user needs. CSB provides users with the best cloud services in terms of utilization, performance, management, and delivery to suit their various needs. In addition, the SaaS aggregation service concept has emerged to provide various SaaS functions in tandem with user p 1 references. SaaS aggregation is a service that integrates various types of SaaS-based applications in one environment and is easy to use. However, existing SaaS aggregation services are simple connection-oriented services that perform the single function of either trigger or action to another SaaS service. In addition, it does not provide a referral service that considers user characteristics, service environment, and service characteristics comprehensively. In order to overcome these drawbacks, this paper proposes a customized SaaS recommendation system [4] by analyzing user's context [1] through user characteristics and service usage history for providing SaaS aggregation service. This paper is organized as follows. In Section 2, we introduce existing technologies and describe the limitations and recommendations of this study Section 3 describes the basic structure of the SaaS Aggregation Service Platform (SASP), which is the basic theory of this study. In Section 4, we describe customized SaaS aggregation services in terms of context and SaaS aggregation service components. Section 5 describes the service configuration that provides customized recommendation functions. Section 6 describes the system prototype implemented based on the designed system, while Section 7 concludes. 2. RELATED WORK Cloud services technology is divided into IaaS, PaaS, and SaaS. Recently, CSB [5] technology was introduced in order * Address: hlee@konkuk.ac.kr

2 to maximize the utilization of cloud services. CSB enables cloud services to be tailored and managed to meet the needs of businesses and individuals. CSB allows users to access various cloud services from a single portal managed by a single platform. Therefore, through CSB, users can select the cloud services that suit them by comparing different service platforms, and can easily utilize cloud service environments configured by analyzing their own business needs and service requirements. As stated in the Introduction, SaaS aggregation service provides the ability to use and manage different SaaS applications in one unified environment. Typical services include IFTTT [6] and Zapier [7]. These two services deliver specific data automatically to an application that takes action according to the rules specified by the user (Recipe in the case of IFTTT or Zaps in the case of Zapier) to conveniently accomplish the desired goal of the user. However, these provide only a simple one-to-one connection service that determines the conditions by selecting one of each service function to determine the execution method. In addition, they recommend connection rules with the most users and highest rating. Therefore, it does not take into account user characteristics and the situation information in which the user is using the service. In order to overcome these limitations, this paper proposes a technique to provide customized SaaS recommendations to users based on their personal preferences and usage history in the SASP [9, 10, 11, 12, 13]. 3. SAAS AGGREGATION SERVICE PLATFORM Unlike the simple SaaS aggregation service, the proposed SASP offers optimal interworking results by considering user characteristics and the situation in which the service is used. Considering various service situations, SASP supports a 1:N interworking service mode that defines multiple service conditions and integrates a number of functions of SaaS services. SASP is built in a cloud environment to enable SaaS interoperability providers to manage the system easily and expand or reduce resources according to the operating situation. It is designed to integrate multiple SaaS services by Fig. 1 SaaS Aggregation Service Platform interpreting the complex-context and ultimately interlock with the desired forms by reflecting user characteristics and service situations as much as possible. Fig. 1 is an SASP architecture diagram [2, 3]. SASP consists of three sub-frameworks: 1) a SaaS aggregation framework; 2) a SaaS service interworking event handling framework, and 3) a cloud binding processing framework. The SaaS aggregation framework is the core framework that handles user management, service management, authentication processing, and event handling in the cloud environment. The SaaS service interworking event handling sub-framework recognizes users and service usage situations, and defines the Rule Matrix (RM). The cloud binding processing sub-framework analyzes all the log data and analyzes the usage patterns of users to provide customized recommendation service to users. 4. COMPLEX-CONTEXT DEFINITION In order to provide customized SaaS aggregation services by considering user characteristics and service usage situations, SASP should be able to search for a SaaS service that performs functions suitable for the user. To do this, the User Description (UD), SaaS Service Description (SSD), and service Status Description (SD) should be defined and classified by a complex-context that contains attribute values necessary for interworking SaaS functions [8]. The complex-context is a concept that collects the detailed context of necessary components among the subjects required for the SaaS aggregation service. The top-level context used for the SaaS aggregation recommendation service includes the UD, SD, SSD Context for Recommended System The User information context, that is, the UD, is divided into a static description and dynamic description. The static description includes the relatively unchanging properties that are not affected by attributes such as time, place, and occasion (TPO) when using SaaS aggregation service. On the other hand, dynamic description is the relatively changing properties. The service preference information in the static description and service usage history information in the dynamic description of the user characteristics information context are the most important data for service recommendation. The SD indicates the status of the user who is using the SaaS aggregation service. It is a context indicating TPO information, such as user sensibility, user position, time, and environmental information, when using the service. It can also to be used to search for optimal SaaS aggregation services according to the situation and provide a customized service function. The SSD indicates the features of SaaS services. It is feature information required for service searches in order to interpret the UD representing user characteristics and the SD representing the service situation information, in order to recommend the optimal SaaS-based service to the user. In addition, the SSD is basic information used by the trigger channel and action channel for providing SaaS aggregation

3 service. Through the SSD, SASP generates service rules and applies the rules according to the situation recorded in the RM Rule Matrix Fig. 2 Rule Matrix The RM is a table that contains service integration rules for selecting and connecting SaaS functions in the managed SaaS application pool in order to provide the optimum SaaS aggregation service by interpreting complex-context by SASP. There are multiple rules in the RM, each of which is similar to "Recipe" in IFTTT and "Zaps" in Zapier. "Recipe" and "Zaps" provide users with SaaS service integration, but these work like a simple 1:1 linkage rule instead of a recommendation. Therefore, in this study, we define RM by extending the basic concept of Recipe and Zaps. The RM is a kind of "Advanced Recipe" that can link various SaaS-based service functions and integrate functions according to user situations and needs. Unlike the combination of one service trigger and one action service provided by IFTTT or Zapier, the SaaS application interworking method using the RM provides an interworking service of trigger/action combination of SaaS service functions. Fig. 2 explains the structure of an RM table and arbitrary rules included in the RM. In short, SASP using the RM acquires and interprets the UD and SD through the log data. The RM is also used to compare and analyze individual UDs and SDs, and integrate SaaS services included in the rule with the highest correlation value. The process of interworking SaaS service data based on the RM is called the cloud data binding process, and the process of providing user-customized recommendation service by analyzing the log records is proposed in this paper. 5. PROPOSED RECOMMENDED SYSTEM The customized recommendation system analyzes the history record accumulated through SaaS service data interworking by cloud data binding processing and provides the customized recommendation service to the user based on the analyzed information. The cloud data binding process is performed in comparison with the RM. Fig. 3 is the proposed system architecture diagram Cloud Data Binding Processing Cloud data binding processing is the process of extracting service functions from the SaaS application pool and interworking SaaS service data based on information, such Fig. 3 Customized Recommendation System Architecture as the UD and SD defined in the RM. It also collects and stores newly-registered service functions in the SaaS Application Pool. The SaaS Application Pool is a collection of SaaS service functions registered by developers as standard with the SSD and managed by the SASP. The data in the SaaS Application Pool is called cloud data. Cloud data is unit data of the SaaS service and used as a trigger or action channel to provide service interworking using the RM. Cloud data binding processing takes place through three modules: the Cloud Data Storage Module, Cloud Data Retrieval Module, and Cloud Data Interworking Module, respectively. The Cloud Data Storage Module is a base data repository that can be used for trigger/action by collecting and storing cloud data in SaaS application pool. In particular, the cloud data storage environment is formed using technology to extract metadata from different cloud data. The Cloud Data Retrieval Module retrieves the cloud data to be used in the trigger channel and action channel to provide SaaS aggregation service by cloud events that occur based on the UD and SD to use the service. The Cloud Data Interworking Module uses the retrieved cloud data to refer to the RM according to the cloud event characteristics and interoperates with the SaaS service function through trigger and action. In summary, the cloud data binding process refers to the RM in order to provide the SaaS aggregation service. It is the process of integrating the SaaS application function and accumulating the ground data to provide customized SaaS aggregation recommendation service to the user Customized Recommendation Service The service log information of all users created through cloud data binding is stored in the specified cloud data binding history database. The customized recommendation service is provided using the data stored in the database. The Binding Log Analysis Module, Binding Log Storage Module, and Customized SaaS-based Service Recommendation Module are organically operated and executed for providing the customized recommendation service through cloud data binding history log analysis. The Binding Log Storage Module records the SaaS service integrating log to provide

4 recommended services for each user. The cloud data binding history database is used for recording cloud data binding information. The Binding Log Analysis Module extracts specific information stored in the cloud data binding history database for comparison with the RM to analyze the appropriate combination of triggers and actions. The analysis information is utilized in a user-customized recommendation engine, which provides the suitable SaaS aggregation service through a recommendation algorithm Customized SaaS Aggregation Recommendation Engine The cloud data binding history includes information recorded when a user utilizes the SaaS aggregation service based on the UD representing user characteristics, SSD representing SaaS service features, and SD representing service situation information. The UD, SD, and SSD are organically combined and recorded in a combination of user situations and service types. The information stored in the SaaS aggregation service is as follows: User universally unique identifier (UUID), Rule UUID defined in the RM, and SD for storing service status information. Each rule is used to generate a SaaS aggregation service. As described above, the rule is a basic unit for providing the SaaS aggregation service. It is created through a combination of various SaaS service functions and used as a service method according to the situation defined in the RM. The rule includes the trigger channel, which is applied as a condition for providing SaaS aggregation service, and the action channel, which is applied as an execution method. In addition to creating the rule by combining one trigger channel and one action channel, the rule can be created by combining multiple action channels. In order to provide a customized recommendation service to the user based on the structure of the rule, the basic method of the SaaS aggregation service is retrieved using the rule UUID recorded in the SaaS aggregation service log, and the trigger channel and action channel are extracted by referring to the basic unit. The extracted channel information is used to provide a user-customized recommendation service. By analyzing the information stored in the SaaS aggregation service log based on the structure definition of the rule, a customized recommendation service is provided to the user. The customized recommendation method is used to analyze the SaaS aggregation service log, UD information, SD information, SSD information, and RM-based rule information collectively in order to provide service recommendation information to the user through the web user interface (UI). The analysis steps of the SaaS aggregation service log are as follows. 1) Extract the service usage record of user A from the log database. 2) Separate user A s UUID, SD information, and UUID information of the rule from extracted log. 3) Extract the RM information using the rule UUID. 4) Separate the trigger channel and action channel from the rule recorded in the RM. 5) Repeat steps 1 4 to retrieve service records of other users for comparison with user A and to provide customized recommendation services to user A. 6) Extract user information in a similar situation in SD. For example, if the age of the user A is 32, then the information on users residing in the same area as user A is extracted for those aged years. 7) Extract similar users with the maximum likelihood using channel-based similarity algorithm based on user A. 8) Recommend to user A the RM information with the highest channel usage in the RM that user A does not use from the top 3 users in the extracted user list. Based on the User-Item recommendation service that is most used and provides the best result, the recommendation service is provided by using Pearson similarity algorithm [14, 15]. The SaaS aggregation services preferred by users also vary depending on their professions. In order to distinguish this, we considered the utilization rate using the channel that is a SaaS aggregation service unit as a numerical value. Since users have different total service hours, we used the following algorithm to compare them in the same environment T s = T r T all 100 where T s is the utilization time of a single SaaS aggregation service used by the user, T all is the total usage time of the SaaS aggregation service used by the user, and T r is the utilization time for a single SaaS aggregation service used by the user in proportion to the range from 0 to 100. T r is used to measure user similarity using the Pearson similarity algorithm. 6. IMPLEMENTATION OF PROPOSED SYSTEM Fig. 2 System Configuration In order to develop a customized recommendation system prototype that provides recommended services to users based on the SaaS aggregation service provided by SASP, which stores user log information generated in real time and provides analysis processing function of stored histogram data, the Hadoop ecosystem environment was established. Through the Hadoop ecosystem, the SaaS aggregation recommendation system provides an optimized environment for large data analysis to store, manage, and analyze large volumes of log information generated by a number of nonspecific users using SaaS aggregation services. The Hadoop ecosystem consists of 10 nodes, with the Management Node providing system control functions through Hadoop Name

5 Node, Hbase Hmaster, and Hive. Three out of the 10 nodes are used as the Zookeeper to support the management and scheduling of the entire cluster nodes. Fig. 4 shows the system configuration and cluster environment. Fig. 5 shows web-based UI screens provided to users through a customized recommendation system. A is a user login screen for confirming user information and linking personal information with the web UI. B is a screen that provides a SaaS-linked recipe list frequently used by the user's usage history. The recommended recipe list is the log data stored in the cloud data binding history database after using the user service to arrange the most used SaaS aggregation service recipes. C is a SaaS recommendation service screen provided according to user preferences and the current service situation analyzed through a customized recommendation system. (a) (b) (c) Fig. 5 Web-based User Interface The screen shown in Fig. 5 is presented to the user through the web-based UI implemented in the SASP. In the actual user-customized recommendation system, the recommended service list is stored in its own system database as well as in the MySQL-based database provided by SAP. This multistorage environment ensures data stability and continuity. 7. CONCLUSION In this paper, we proposed a system that helps users get their desired performance results by combining functions provided by individual SaaS applications based on user characteristics and service utilization features when using the SaaS service. In particular, we analyzed user patterns in various environments and designed a customized recommendation system to provide a SaaS aggregation service suitable for users; we developed a prototype to demonstrate the service. The SaaS service functions are integrated using trigger and action channels through cloud data binding processing. By combining these trigger and action channels, the proposed recommendation service is distinguished from others. We analyzed cloud data usage of the trigger channel and action channel in the minimum unit and proceeded to the rating. Based on this, we created a recommended service list using a User-Item based similarity algorithm. This provides an optimal SaaS service function to users and supports useroriented SaaS aggregation service through the SASP's web UI. In recent years, various cloud services have been developed based on the spread of services such as Big Data, Internet of Things, and wearable devices. The proposed technology can provide a service that will satisfy users and increase service utilization. Related industries are also expected to grow in a way that will enable the convergence of cloud resources and services. Acknowledgement This paper was written as part of Konkuk University's research support program for its faculty on sabbatical leave in 2017 and partly supported by Institute for Information & communications Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. R , Development of SaaS Aggregation Technology for Cloud Service Mashup) References and Notes 1. S. I. Lee and S. Y. Lee, J. Korean Inst. Intell. Syst. 21, 2 (2011) 2. J.J. Jung, M.J. Kim, User Targeting SaaS Application Mash-up Service Framework, Proceedings of the 12th International Conference on Multimedia Information Technology and Application, (2016) 3. J. J. Jung, J. B. Park, and M. J. Kim, Proceedings of the 26th Joint Conference on Communications and Information (2016) 4. M Talukder, Md. M. Rahman, S. Halder, and Md. J. Uddin, IEEE International Conference on Imaging, Vision & Pattern Recognition (2017) February Cloud Service Brokerage a quick guide to aggregation (2015) About IFTTT (2014) Connect Your Apps and Automate Workflows (2014), com/ 8. H. K. Kim, and S. Choi, A Study of Policy Fostering for Cloud Service Brokerage, Journal of International Conference on Convergence Technology, 5, 1 (2015) 9. IITP, The Proposal of Development of SaaS Aggregation Technology for Cloud Service Mashup, IITP R (2015), V Wikipedia, Service Integration and Management, dia.org/wiki/service-integration_and_management 11. T. Y. Kim, H. W. Kim, D. W. Kwon, K. S. Ok, I. S Im, E. G. Lee, H. G. Je, N. Rakhmatov, D. H. An, and H. T. Ju, Information Networking (ICOIN), 2016 International Conference (2016), January A. H. H. Hgu, M. P. Carlson, Q. Z. Sheng, and H. Y. Paik, IEEE T Serv Comput. 3, 1 (2010) 13. Y. Sung and S. Chul, Journal of Convergence 6, 1, (2015) 14. M. H. A. Al-Hooti, S. Djanali, and T. Ahmad, J. Inf. Process. Syst. 12, 3 (2016) 15. R. Gupta, K. Laghari, H. Banville, and T. H. Falk, Human-centric Computing and Information Sciences 6 (2016)