Keywords

1 Introduction

Users have been served contents in various offline ways for a long time. Examples of typical services are Jukebox and DJ. Jukebox existed a lot from 1940s to 1960s, especially in the 1950s. Jukebox has records so that when users insert a coin, they can listen to the music. Users can listen music with higher volume and better sound quality through Jukebox. In Korea, DJs in music cafe stores called “Dabang” were popular during the 1970s and 1980s. The cafe DJ shares music and messages to the users in the store. The music is played with the public speaker of the store. People in the same store could enjoy it together through these services.

Advances in cloud computing become possible to provide personalized online streaming services based on cloud [1]. However, users have difficulty in selecting the contents that suits them from a lot of contents. A lot of research has been proposed on algorithms and systems that recommend user preferences as a solution to these problems [2,3,4,5]. In particular, a cloud-based recommendation system recommends contents based on an age, location, usage history, and preferences [6, 7]. However, such a system is only a recommendation and does not guarantee the satisfaction of the user. It is also hard to offer a personal online streaming service that user can enjoy with other users in real-time.

This paper proposes and implements a Cloud Media DJ Platform that reinvent a DJ of a music cafe. The platform is based on an integrated environment of Internet of Things (IoT) and cloud computing. Based on a single public cloud, services provided by this platform allow users to request content services directly. User information and usage history are collected and analyzed in the public cloud. Even when the users visit other stores, they can receive customized content services based on their information and previous usage history.

We analyze and evaluate the services of the proposed platform, focusing on the functional aspects. The platform provides four main services. Types of services are music, video, message, and combined service. User can share contents with other users in real time through the platform and receive scalability and convenience services through public speakers and screens in the store.

The remainder of this paper is organized as follows. Related work is discussed in Sect. 2. The proposed platform is discussed in Sect. 3, and the implementation and evaluation is discussed in Sect. 4. Conclusions are presented in Sect. 5.

2 Related Work

2.1 Recent Internet of Things and Cloud Computing

Internet of Things (IoT) is a technology that allows communication between objects by connecting to the Internet with sensor and communication functions. The kind of object include a user device, home appliance, and the like things. Objects connected by the Internet exchange and analyze data. Cloud computing provides an environment where IT services such as storing data and providing contents are available anytime, anywhere. It also provides large scale capacity and processing by using servers on the Internet. IoT technology has limited processing capacity and storage problems. This leads to performance and security problems.

A solution to these problems is presented to integrate IoT with cloud computing. The technology that combines IoT and cloud computing is called CloudIoT [8]. This new paradigm provides many services and applications to users. In recent years, the two themes have been popular and researched. Integrated research and application programs are also actively being proposed. In general, the infinite capabilities and resources of the cloud can solve the problems of the IoT: storage, processing, and communication. CloudIoT paradigm can lead to big advances in life and activity of human [9]. Multimedia applications based on this paradigm provide efficient services and build new businesses [10].

2.2 Offline DJ and Online DJ

Offline DJ (Disk Jockey) is a person who plays the music recorded in real time to users located in the same store. Typical DJ types are digital radio DJ and club DJ. Radio DJ plays music on a digital radio station. Club DJ plays a variety of music in clubs and encourages people to dance. They act as a mediator for the music recorded to the users and recreate the music. Online DJ is a person who broadcasts online. It is usually called broadcaster, and it is called BJ (Broadcasting Jockey) in Korea. They get popularity from users and attempt to build new businesses.

2.3 Streaming Services

Currently, many companies around the world provide streaming services. A typical music streaming service is Apple music, and is a global music streaming service released by Apple in the U.S. [11]. A typical video streaming service is YouTube [12]. It is Google free video sharing site, a global platform that allows users to create and share video contents. YouTube helps and provides customized contents for over 1 billion users [13]. In recent years, cloud-based streaming services have been one of the core innovations in digital streaming service. Many music providers like Apple, Amazon, Google and Microsoft are currently offering cloud-based streaming services. The advantage of cloud-based streaming services is that users can store and easily access the contents [14]. Cloud-based streaming services are actively researched, and applications that provide contents to users are also developed. Users receive a variety of contents and services. However, users have difficulty in selecting their preferred services in a lot of contents. Content providers need a way to effectively inform users a lot of contents. The competitiveness of content providers is determined by providing contents that users prefer. Algorithm and applications for providing customized contents to users are being studied [15, 16].

3 Proposed Platform

3.1 Platform Overview

Cloud Media DJ Platform provides customized content services for mobile users in an integrated environment of IoT and cloud computing. The platform consists of user device, public cloud, streaming client, public screens and speakers. Users select for contents want to receive in stores where they are located, and provided it as public screens and speakers. The user receives one or more of the music, the video, and the messaging services. The user device is a communication device that use applications in the networks environment. Public cloud consists of operation server and streaming servers. The operation server collects user information and performs analysis. The detailed functions of the operation server are described in the following paragraphs. Streaming server is an external affiliated server with contents data. For example, it could be Spotify or YouTube which hold and provide music and video. Depending on the type of contents requested by the user, the streaming server provides the contents data. The streaming server that provides the music and the streaming server that provides the video may differ and include multiple affiliate streaming servers. The streaming client is located in the store, receives contents data, and transmits it to the public screens or speakers. The screens and the speakers connect with the streaming client to play the contents received by the streaming client. Figure 1 shows the overall structure of platform performed by a public cloud.

Fig. 1.
figure 1

Structure of Cloud Media DJ Platform

When a user requests contents desired through the application, the public cloud collects the contents data requested. The collected data is sent to a streaming server, and the contents data is transmitted to a streaming client at a store where the user is located. The streaming client transmits the contents to the public screens and speakers, so that the contents to be played. Streaming client can be implemented with minimum specifications so it can be used lightly in stores. Users in the same store receive content services through public screens and speakers.

The operation server of platform mainly performs user information collection and analysis functions. Figure 2 shows the structure of the operation server. The operation server consists of device communication, user data storage, information analysis, and contents recommendation. Device communication is an interface with a user device. The interface serves as the communication module that the user device can access. User data storage stores user information and usage history. Information analysis part analyzes and integrates user data in operation servers. Contents recommendation transmits the contents list to the streaming server so that the contents are played.

Fig. 2.
figure 2

Structure of operation server

3.2 Service Design

The proposed platform provides four main services. The types of services are music, video, messaging, and combined service, and perform the following operations. Figure 3 shows the operation of the service, and the numbers are to explain the process.

Fig. 3.
figure 3

Operation diagram of Cloud Media DJ Platform (step ①–step ⑤)

Music Streaming Service

Music streaming service provides the music that users want to listen in the store where the user is located. Users request services by searching and selecting the music they want through the application. The components for music streaming service are the user device, operation server, streaming server, streaming client, public screens, and speakers. The operation server and the streaming server can provide services to the store. The streaming client, screen, and speaker exist in the store. Operation server and streaming server serve all stores. Streaming client, public screens, and speakers are in each store.

In step ①, the user searches for a music desired through the mobile device and requests it. The operation server of public cloud collects the music requested and generates a list to be provided to the store where the user is located in step ②. In step ③, the operation server requests contents data from the streaming server based on the generated list. In the next step, the streaming server sends the corresponding data to the streaming client in the store. In the last step, the streaming server sends the music data to the speaker and the screen so that it can be play in store.

The user can view music related information on user device or public screen. In addition, the user searches for a music desired and directly select for it. The selected music is provided to the public speakers of the store where the user is located, and the music information is provided to the screens. The music information includes a title, a singer, and an album photo. The user is provided with a music directly selected on the speakers. It allows users to provide customized music and share the music with other users in real time. Also, the store manager automatically provides customized music services without having to manage the music playing lists.

Video Streaming Service

The video streaming service provides the video desired by the user. The video is played on the public screens and speakers in the store where the user is located. The service provides with various videos including music video, by public speakers and screens. Components for video streaming service include user device, operation server, streaming server, streaming client, screens, and speakers.

In first step ①, the user searches and requests a video which the user wants to receive in a store through a user device. In the next step, the operation server collects the video data requested by the user, and generates a video data list to be provided to a store. In step ③, the operation server requests a data of videos to the streaming server. Streaming server transmits the requested video data to the streaming client of the store where the user is located in step ④. In step ⑤, the streaming server transfers the received video data to the public speakers and the screens, and play it at the store where user is located.

The user searches for videos desired in the application or the web at the store, request directly. The video requested by the user is played on the screens and speakers of the store where the user is located. Users receive customized video service by receiving the video requested as a public speaker and a screen. In addition, store manager automatically provides video service that users can satisfy without having to manually control the video playing list.

Messaging Service

The messaging service is a service that allows users to request a message and receive it on a public screen. Users request to a message that they want to leave or share with the people in the store. This message is displayed on the screen. Messaging service provides users to share information about simple messages or special events with people who is in the same store. Messaging services display simultaneously with music or video if user wants.

Unlike other services, the messaging service does not require a streaming server and is simple. It operates as follows. In the first step, the user requests a message to be provided as a public screen in the store where the user is located through the mobile device. In step ②, the operation server processes the message requested of the user and the location of the store. In step ③, the processed message data is transmitted to the streaming client of the store. In the last step, the streaming client sends the data received from the operation server to the public screen for playing.

When a user enters a store, the user requests for the message desired through the mobile application or web. This allows the user to use it for the purpose of the event or for sharing with people in the same store. In addition, the store manager can automatically customized messaging service to satisfy the user and view comments that people leave in the store.

Combined Service

Combined service provides two services at the same time. The three services are synchronized and users can receive services synchronized if they request for more than one service. For example, if a user requests a video and a message, they are automatically synchronized and the video to be played on the screen and the message to be viewed. The message is shown at the top of the screen.

When a user requests to a music and a message at the same time, the music is output to the speaker and the message is output to the screen. The length of the message and the time when the message is output can be adjusted by the user. When a user requests a video and a message at the same time, the sound of the video is output to the public speaker, and the video and the message are output to the public screen. At this time, the message is displayed at the top of the screen.

Combined services provide more than one service at the same time. If the user requests more than one service, they to be synchronized and provided services together. Combined services provide more than three main services, it can extend the service area and the effectiveness of the platform.

4 Function Discussion

We develop platform based on the Google cloud platform using an API that provides music and video. The API used is provided by Spotipy and YouTube. Cloud Media DJ Platform developed with a 9798 lines of code, of which the public screen developed with 1725 lines of code. As a result of the implementation, the user requests a desired music, video, and message. The data requested is provided to the public screen and speaker of the store through the operation server and the streaming server. Figure 4 shows the implementation of the four services displayed on the public screen. The upper left is the music streaming service, and the upper right is the video streaming service. The lower left is messaging service, and the lower right is combined service.

Fig. 4.
figure 4

Public screen according to services

4.1 Functional Evaluation

Based on the results of the implementation, the platform compares and evaluates functions according to three kinds. Table 1 compares the Cloud Media DJ Platform with the international famous streaming services. Most popular international streaming services are Apple Music and YouTube. Users can search for contents and see the ranking of popular contents through all three services. In addition, the user receives contents preferred through the service. Apple Music requires a monthly fee, but proposed platform and YouTube are free. Unlike the other two services, the proposed platform provides services based on the location and enables real-time sharing with people in the same store. Apple Music and YouTube provide music and video services, but the platform provides not only music and video, but also messages and combined services. In Apple Music and YouTube, personal service users and recipients of services are matched. This platform allows a large number of users in the same store to receive services even if there is only one user.

Table 1. Comparison with popular streaming services

The second is a comparison based on the type of streaming service. Table 2 compares Cloud Media DJ Platform and type of streaming service. A streaming service is classified into a personal streaming service, a café streaming service, and a proposed platform as a service. A personal streaming service is a method of using a streaming service through a device of user alone. Cafe streaming service is a service provided to users in café stores. In the case of personal streaming service and proposed platform, a user searches contents and view a list of popular contents. In addition, these two service cases provide the user with the contents preferred, and the user provides the service based on the usage history. Therefore, the user can be satisfied. However, users of personal streaming service can not share it with others in real time. The proposed platform provides not only music and video, but also combined services and messages. Finally if a user uses a personal streaming service, the service recipient is only one. On the other hand, the proposed platform and the cafe streaming service can have many service recipients regardless of the number of users.

Table 2. Comparison based on streaming service type

The third functional evaluation compares proposed platform and DJ services. DJ types are classified as Online and Offline. Online DJ is a person who broadcasts and services on the Internet. Offline DJ is a person who provides services in the same local place. The proposed platform and Online DJ allows users to browse contents and view popular content lists. Online and Offline DJ provide service to users from one DJ. The content lists to be provided is determined by a DJ. Therefore, it is difficult to provide a service considering the satisfaction of the user and the usage history. On the other hand, the proposed platform allows users to create playlists considering satisfaction of user and usage history. Also, it is possible to provide a combined service of two contents which are not provided by other DJ services. The proposed platform can provide various services considering user satisfaction compared to other DJ services (Table 3).

Table 3. Comparison according to DJ type

4.2 Performance Evaluation

Finally, we discuss the performance evaluation of the platform. Main issue of this platform is collecting and responding to a lot of data.

Figure 5 shows the response times for the number of users requesting to contents at the same time. The response time is the time until the streaming server transmits the contents in response to the request of user. The specifications of public cloud for implementation are 4 vCPUs, 16 GB. We measured the number of stores at 100, 200, and 300. At the same time, even if the number of users requesting contents is 1000, the public cloud of platform can process within 3.5 s.

Fig. 5.
figure 5

Average response time by number of users

5 Conclusion and Future Work

We develop a cloud-based platform for automatic customized contents. We also analyzed the service platform based on the platform implementation results. The proposed platform provides automatic customized streaming service and convenient service through public screen and speaker. The user can conveniently receive the service and can share with the users in the same store. Cloud Media DJ Platform also showed that it can provide more convenient interface by comparing features with other streaming services. Finally, we show that Cloud Media DJ Platform process numerous concurrent users quickly based on the public cloud.

In the future, we will add functions to provide music and video according to detailed user information. Only the content services requested by the user is played on public screen and speaker. We will study recommendation algorithms to play when users do not request contents. We will research and develop this platform to enable customized music and video based on user information.