Design and Implementation of a Streaming Server Management System



Similar documents
Development of a User Management Module for Internet TV Systems

Review of the Techniques for Smart Learning Systems

Review of the Techniques for User Management System

Design of a Subtitle System for Internet TV Systems

Multi-level Metadata Management Scheme for Cloud Storage System

Design and Implementation of Automatic Attendance Check System Using BLE Beacon

A Research Using Private Cloud with IP Camera and Smartphone Video Retrieval

A Resilient Device Monitoring System in Collaboration Environments

The Digital Signage System Supporting Multi-Resources Schedule on an Elevator

A Study on the Communication Methods of Designing On-Air Promotion System

A Study of Key management Protocol for Secure Communication in Personal Cloud Environment

Integration of Learning Management Systems with Social Networking Platforms

The Design and Implementation of the Integrated Model of the Advertisement and Remote Control System for an Elevator

A Review of an MVC Framework based Software Development

Home Appliance Control and Monitoring System Model Based on Cloud Computing Technology

Developing a Video-based Smart Mastery Learning through Adaptive Evaluation

Crime Hotspots Analysis in South Korea: A User-Oriented Approach

Two-Level Metadata Management for Data Deduplication System

Design and Analysis of Mobile Learning Management System based on Web App

Position Paper for The Fourth W3C Web and TV Workshop. Mingmin Wang Oriental Cable Network

A Robust Multimedia Contents Distribution over IP based Mobile Networks

MVC Architecture Driven Design and Implementation of Java Framework for Developing Desktop Application

Design Approaches of Web Application with Efficient Performance in JAVA

A Survey on Security Threats and Security Technology Analysis for Secured Cloud Services

Mobile Hybrid Cloud Computing Issues and Solutions

Mobile Multimedia Meet Cloud: Challenges and Future Directions

Research and Performance Analysis of HTML5 WebSocket for a Real-time Multimedia Data Communication Environment

IMPROVING QUALITY OF VIDEOS IN VIDEO STREAMING USING FRAMEWORK IN THE CLOUD

INVESTIGATION OF RENDERING AND STREAMING VIDEO CONTENT OVER CLOUD USING VIDEO EMULATOR FOR ENHANCED USER EXPERIENCE

Smartphone as a Remote Control Proxy in Automotive Navigation System

CARDA: Content Management Systems for Augmented Reality with Dynamic Annotation

Fast remote data access for control of TCP/IP network using android Mobile device

Implementation of IR-UWB MAC Development Tools Based on IEEE a

LetsVi: A Collaborative Video Editing Tool Based on Cloud Storage

Internet Video Streaming and Cloud-based Multimedia Applications. Outline

Cisco TelePresence Content Server

5.1 Features Denver CO 80202

Contents. Specialty Answering Service. All rights reserved.

Management Software. Web Browser User s Guide AT-S106. For the AT-GS950/48 Gigabit Ethernet Smart Switch. Version Rev.

A Study on Integrated Operation of Monitoring Systems using a Water Management Scenario

Serving Media with NGINX Plus

Cloud Storage Service

Development of a Service Robot System for a Remote Child Monitoring Platform

Research on Mobile E-business Security Model based on WPKI Technology and its Application

CLOUDDMSS: CLOUD-BASED DISTRIBUTED MULTIMEDIA STREAMING SERVICE SYSTEM FOR HETEROGENEOUS DEVICES

Design and Functional Specification

A Novel Load Balancing Optimization Algorithm Based on Peer-to-Peer

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

Using Text & Graphics with Softron s OnTheAir CG and OnTheAir Video

AUTOMATED AND ADAPTIVE DOWNLOAD SERVICE USING P2P APPROACH IN CLOUD

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Seagate NAS OS 4 Reviewers Guide: NAS / NAS Pro / Business Storage Rackmounts

Customer Bank Account Management System Technical Specification Document

Design and Implementation of Teaching System for Mobile Crossplatform

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

Dynamic Scheduling and Pricing in Wireless Cloud Computing

Mobile video streaming and sharing in social network using cloud by the utilization of wireless link capacity

Studying Security Weaknesses of Android System

The road. - cases of. Wu Xiao. of China Beijing, China. Project of China. Culture. shares and resources to bridge. to the digital resources sharing

International Journal of Advanced Research in Computer Science and Software Engineering

A Study on Design of Health Device for U-Health System

The following multiple-choice post-course assessment will evaluate your knowledge of the skills and concepts taught in Internet Business Associate.

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

A B S T R A C T. Index Trems- Wi-Fi P2P, WLAN, Mobile Telephony, Piconet I. INTRODUCTION

Exchange of Data for Big Data in Hybrid Cloud Environment

The Design and Implementation of a Cloud-Based Tour Guide System for the Taiwan Lantern Festival

86 Int. J. Engineering Systems Modelling and Simulation, Vol. 6, Nos. 1/2, 2014

Living Requirements Document: Sniffit

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY

Lets3D: A Collaborative 3D Editing Tool Based On Cloud Storage

Service Level Analysis of Video Conferencing over Wireless Local Area Network

Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang

Fax User Guide 07/31/2014 USER GUIDE

Chapter 3. Internet Applications and Network Programming

Performance analysis and comparison of virtualization protocols, RDP and PCoIP

Big Data Collection Study for Providing Efficient Information

ENTRYCONTROL. Version Administrator manual for use with ALPHATECH TECHNOLOGIES IP BOLD DoorPhone intercom. For Administrators only

Implementation of a Video On-Demand System For Cable Television

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

LiveStreamingCDN Producer User s Guide

Cloud Based E-Learning Platform Using Dynamic Chunk Size

Dynamic Scalable Model for Video Conferencing (DSMVC) using Request Routing

A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing

SMART Classroom Suite 2011

Design and Implementation of Video Conference System Over the Hybrid Peer-to- Peer Networks

Content Manager

IIS Media Services 3.0 Overview. Microsoft Corporation

Integration Client Guide

TENVIS Technology Co., Ltd. User Manual. For H.264 Cameras. Version 2.0.0

An Architecture for Home-Oriented IPTV Service Platform on Residential Gateway

Transcription:

, pp. 71-84 http://dx.doi.org/10.14257/ijseia.2015.9.7.08 Design and Implementation of a Streaming Server Management System Jaegeol Yim and Gyeyoung Lee Dept. of Computer Engineering, Dongguk University at Gyeongju, Gyeongbuk Korea {yim, lky}@dongguk.ac.kr Abstract Internet broadcasting provides television-like services on the Internet. Therefore, it can be accessed from anywhere in the world, unlike TV broadcast services, which are limited by the range of the antenna. Because most people in developed countries can access the Internet, the popularity of Internet broadcasting is rapidly increasing. Streaming servers are the most essential part of Internet broadcasting systems because these are the servers that stream the multimedia content constituting the playlist. The playlist, in streaming server jargon, is the list of programs, where a program is a basic unit of the stream, such as a song, an episode of a television series, or a movie. Streaming servers provide environments in which users can easily edit the playlist. Therefore, management of streaming servers in an Internet broadcasting system is very important. This paper introduces our design and implementation of a streaming server management system for Internet broadcasting systems. Keywords: Internet Broadcasting, Streaming Server, Playlist 1. Introduction The Internet is available virtually everywhere, and most people in developed countries can access it. Television is one of the most popular technologies. Most people watch TV after dinner for a while before going to bed. The fusion of Internet and TV, i.e., distribution of television content via the Internet, is called Internet TV. Just like television content, video content can also be delivered through the Internet. With Internet broadcasting, the system streams programs and multimedia content in a predetermined sequence. Internet broadcasting usually provides many channels [1]. Implementation of an Internet broadcasting system (IBS) is very easy. Installing any of the streaming servers (Darwin Streaming Server, Flash Media Server, Red5, and Wowza Media Server) is enough. These streaming servers provide an environment in which we can edit a playlist, or sequence of programs. A program is the basic unit of video streaming, and it can be any file containing a song, an episode of a television series or a movie [1]. If we want to make our channel attractive, we have to stream various types of interesting content. Therefore, we need huge repositories of multimedia files (mostly video). In the repository, we store video, audio, computer graphic images, text, and other types of files. In addition, the system also has to provide a convenient environment for editing playlists [1]. Therefore, we realize that installing a streaming server is the key to IBS development, even though it is merely the first step. This paper introduces our design and implementation of a streaming server management system that allows users to monitor streaming servers. ISSN: 1738-9984 IJSEIA Copyright c 2015 SERSC

2. Related Works A multimedia streaming service can be limited by various factors, such as Internet bandwidth, computing power, and so on. Bak et al., [2] proposed a multimedia service called Server for Multimedia Applications for Residence Community (SMART). Peer-to-peer (P2P) live streaming applications suffer from bandwidth bottlenecks and high packet loss rates in wireless local area networks (WLANs). Jiang et al., [3] proposed a new wireless multicast agent mechanism based on an Internet protocol multicast scheme for buffer management and scheduling. Cui et al., [4] proposed a model that uses cloud computing technology to store and manage large volumes of multimedia services in home networks and WLANs. Wang et al., [5] described the requirements imposed on a digital rights management system in distributing live broadcasts over a P2P network and presented their design of a system that meets these requirements. Zhou et al., [6] presented a web-based management system for H.264 live video broadcasting. The system consists of a central control server and multiple streaming control agents. The architecture of the central control server adopts the model-view-controller (MVC) pattern. A controller can update the model and change the view's presentation of the model. A model is the data in the database system. PO stands for persistent object, and a PO is associated with a row of data in a database table. A view requests information from the model and displays it. The business logic of the system is implemented in the Service layer. A business object (BO) communication entity lies between the control layer and the business service. A BO receives input from actions in the control layer and either accesses the database or the RMI server [6]. The authors of [7] introduced an access privilege sharing management technique that enables a safe streaming media service. A system model to store and manage media content in a cloud-based media server was designed in [8]. The authors of [9] presented a scalable live streaming media distribution service in P2P network. The authors of [10] designed the streaming service based on cloud computing and also introduced a security function for the streaming service. The authors of [11] proposed a dynamic video frame mapping scheme to improve the streaming quality of scalable video coding bit stream over IEEE 802.11e. The authors of [12] proposed the implementation model of the smart festival management using streaming service based on complex recognition for the festival management by using a variety of IT techniques. The authors of [13] proposed a new power management scheme to reduce unnecessary power consumption of WiMedia devices when a fragment is lost. The authors of [14] presented a quality of experience (QoE)-aware traffic shaping method based on two QoE maximization metrics. The authors of [15] proposed an approach of risk management for multimedia streaming service in cloud computing. 3. Design of the System A streaming server management system should monitor the status of the server and designate the resolution and bit rate. It should also designate images and messages to be displayed on the screen, as shown in Figure 1 [1]. 72 Copyright c 2015 SERSC

Figure 1. A User Interface for the Streaming Server Management System [1] 4. Implementation This paper introduces our design and implementation of a streaming server management system (SSMS) for an IBS. The SSMS creates/deletes a channel, changes the resolution and the bit rate of a channel as administrators want, and displays an image and a news ticker on the screen of the channel. Since streaming any content to the user s screen is done by a Wowza media server in this Internet broadcast system, we need to develop Wowza plug-ins as well as the programs to handle user commands. Therefore, our SSMS has two program groups, Controllers and wowzaplugins, as shown in Figure 2. Figure 2. The Top Level Structure of our Steaming Server Management System We implemented our system using the Spring Web MVC framework. A controller accepts input and converts it to commands for the model or view. A model notifies its views and controllers when there has been a change in state. A view requests information from the model, which it uses to generate an output representation to the user [6]. We put all controller classes in the Controllers directory. The structure of the Controllers directory is shown in Figure 3. For each major subject, such as a channel, a program, a ticker, a computer graphics image, and so on, we define a value object (VO) in which its properties and the print method are defined. For example, channel_id, position and file are defined in the CGUploadVO class, where channel_id designates a particular channel. The position represents the location on the screen at which the (image) file is rendered. The type of file is MultipartFile, where a MultipartFile is an interface in which many methods useful for uploading files are declared. In the tickeruploadvo class, channel_id, theme, message, and file are defined. In the WMSProgramVO class, channel_id, program_group_id, program_id, start_time, end_time, content_uri, and subtitle_uri are defined. In the WMSChannelVO class, domain, is_used, channel_id, server_id, user_id, user_password, resolution, bitrate, cg_uri, and cg_position are defined. Copyright c 2015 SERSC 73

Figure 3. The Structure of the Controllers Directory Figure 4. The METHODS DEFINED in the WMSChannelList CLASs In the WMSChannelList class, the methods to create, retrieve, update and delete a channel are defined, as shown in Figure 4. Descriptions of the functions performed by these methods are as follows: - getinstance(): This method is modified as static synchronized, so only one thread at a time can execute this method. If the WMSChannel object does not exist yet, then it creates a new WMSChannel object. - loadfiletomemory(): As shown in Figure 5, this reads channel information from /data/channel.json, creates a WMSChannelVO object for each channel, and adds the 74 Copyright c 2015 SERSC

WMSChannelVO objects to serverdomainlist, an ArrayList defined in the WMSChannelList class. Figure 5. The Process of the loadfiletomemory Method Figure 6. The Process of the createwmsserverwithchannelid Method - savememorytofile(): saves the serverdomainlist into the /data/channel.json file with the following: FileUtil.fileRwite(GlobalObject.getInstance().getRootPath()+"/data/channel.jso n", new AJsonParser().encode(serverDomainList)); - createwmsserverwithchannelid(channel_id): Given a channelid, if a channel with that channelid exists, then it returns null; otherwise, it finds a WMSChannelVO that is not used (where is_used is false) and returns it, as shown in Figure 6. - getwmsserverwithchannelid(channel_id): This returns the WMSChannelVO where channelid equals channel_id using the following instruction:... wmschannelvo.getchannel_id().equals(channel_id) - getwmsserverbyserver(server_id): This returns the WMSChannelVO where serverid equals server_id using the following instruction:... wmschannelvo.getserver_id().equals(server_id) Copyright c 2015 SERSC 75

- deletewmsserverdomainbychannelid(channel_id): This method disables the channel identified by the channel_id with the following: wmschannelvo.setis_used(false); - updatewmschannelresolutionandbitratebychannelid( ): The parameters of this method are channel_id, resolution, and bitrate. This method sets the resolution and bit rate of the channel identified by channel_id to the resolution and bitrate parameters. - updatewmschannelcguriandcgpositionbychannelid( ): The parameters of this method are channel_id, cg_uri, and cg_position. This method sets the URI of the computer graphics image and the position on the screen where the image is rendered on the channel identified by the channel_id parameter to the cg_uri and cg_position parameters. - print(): This method prints information about all Wowza servers in the system. - controller.channel.wmsprogramlist: In this class, the methods to create, retrieve, update and delete a program are defined, as shown in Figure 7. Information about all programs is recorded in the /data/program.json file. Figure 7. The Structure of the WMSProgramList Class - WMSProgramVO value-object class: This has the following properties: channel_id, program_group_id, program_id, start_time, end_time, content_uri and subtitle_uri. A program can be a member of one or more program groups. The types of program groups can be series, show, program concept, program compilation, and/or other collections. - getinstance() method: This creates a new WMSProgramList object if no WMSProgramList object exists. - loadfiletomemory(): Reads the "/data/program.json" file, creates a programvo object for each program, and adds all programvos to the programlist (an ArrayList). - savememorytofile() method: Saves the programlist into the "/data/program.json" file. - addprogram(programvo) method: Adds the programvo to programlist and updates the "/data/program.json" file. - getprogramlistwithchannelid(channel_id): Retrieves all the programs where channel_id equals the channel_id parameter. 76 Copyright c 2015 SERSC

- getprogramlistwithprogramgroupid(program_group_id): Retrieves all the programs belonging to the program group designated by the parameter. - getprogramlistwithprogramid(program_id): Retrieves all the programs where program_id equals the program_id parameter. - deleteprogrambychannelid(channel_id): Deletes the programs where channel_id equals the channel_id parameter from programlist. - deleteprogrambyprogramgroupid(program_group_id): Deletes the programs where progroup_id equals the program_group_id parameter from programlist. - deleteprogrambyprogramid(program_id): Deletes the programs where program_id equals the program_id parameter from programlist. - deleteprogrambyexpiretime(atime): Deletes the programs where end_time is earlier than the atime parameter from programlist. - deleteprogrambyidxs(list<wmsprogramvo> programvos): Deletes programvos from programlist. - print(): prints out programlist (all the programs). The controller/constant/commonconstant class defines the common constants representing the administration account, indicates if a cron is running or not, and so on. In the controller/constant/resultcodeconstant class, ResultCode is declared as an enum type. All the result codes are defined in ResultCode. Each result code is declared with the string mapped to the code, as shown in Figure 8. public static enum ResultCode { S000("success"), F000("Undefined error"), // F1** - CHANNEL error code F101("There is no server that can be allotted to this channel"), F102("Wrong channel_id. This channel_id exists already"), F200("Invalid Id or Password"),... Figure 8. Part of the ResultCodeConstant Class Figure 9. The Structure of the Responder Class Copyright c 2015 SERSC 77

We define the Responder class that can be used by controller classes to generate response strings. The structure of the Responder class is shown in Figure 9. The constructor, Responder(), of this class creates a new ResponderVO object and initializes the local variables for Responder: the resultcode with the success code, the extramessage with null, and so on. getresultcode() returns the resultcode, whereas the setresultcode sets the resultcode variable with the parameter value. @Controller @RequestMapping("/v1") public class ChannelCtrl { @Autowired Responder responder;... public String CreateChannel(@RequestBody String body, HttpServletRequest request, HttpServletResponse response)... public String deletechannelbychannel(@pathvariable("channel_id") String channel_id, HttpServletRequest request, HttpServletResponse response)... public String handleexception(exception e)... Figure 1. Part of the ChannelCtrl Class Figure 11. The Process of the CreateChannel Method The controller/channelctrl is a controller class to create, retrieve, update and delete channels. A part of this class is shown in Figure 10. The @Controller annotation indicates that this class serves the role of a controller, whereas the @RequestMapping annotation is used to map "/v1" onto the entire class. The @Autowired annotation is used to inject Responder where it is written. The CreateChannel method creates a new channel by assigning a Wowza server to the 78 Copyright c 2015 SERSC

channel represented by the channel_id parameter, whereas the deletechannelbychannel method disables the channel by collecting the assigned server. The process of the channelctrl.createchannel method is shown in Figure 11. It checks to see if the parameters are in a valid format. Then, it assigns a Wowza server to the channel_id after checking to ensure the channel_id is a valid one. In the ProgramCtrl class, we have assignprogramstoserver, deleteprogrambyprogramgroup and handleexception methods. A domain, which is the uniform resource locator (URL) of a Wowza server, a list of programs, and a channel_id are passed to the assignprogramstoserver method as parameters. As described in Figure 12, the assignprogramstoserver method appends elements of the program list parameter to the playlist of the Wowza server designated by the domain parameter so that the Wowza server streams the programs. Figure 2. The Process of the assignprogramstoserver( ) Method One of the parameters of the deleteprogrambyprogramgroup method is a "program_group_id". This method deletes all programs belonging to the program group designated by the program_group_id parameter from the program list. In the SCCtrl class, we define info, quality, getqualitytypebyresolutionandbitrate, cg, ticker, and handleexception methods. A channel_id and a ModelMap object are among the parameters of this method. This method finds the attribute values including resolution, bitrate, cg_uri, cg_position, and so on associated with the channel_id. The quality method updates resolution and bit rate of a channel using the following command: UpdateWMSChannelResolutionAndBitrateByChannelId(channel_id,resoluti on,bitrate). Then, it restarts the Wowza server that is serving the channel_id so that the new resolution and bit rate are effective. There are two kinds of resolution, low and high. The bit rate can also be either low or high. The getqualitytypebyresolutionandbitrate method returns an integer representing the selected resolution and bit rate. The cg() method uploads the Copyright c 2015 SERSC 79

computer graphics image file designated by a parameter and sends it to the Wowza server that is serving the channel designated by a parameter. The ticker() method sends a message, passed as a parameter, to the Wowza server designated by a parameter. If an image is passed to this method as a parameter, then it is also sent to the Wowza server so that the image is also displayed on the screen together with the message. In the WMSCtrl class, the getpasswordwithuserid(), getplaylist(), and handleexception() methods are defined. getpasswordwithuserid() reads the values of the server_id and user_id parameters using the getstringparameter() method defined in the GlobalDataBinder class, a utility class. Then, it retrieves the password of the user. getplaylist() retrieves all the programs assigned to the server designated by the server_id parameter. In the utils directory, we define utility methods. The GlobalDataBinder class is one of the classes defined in the utils directory. The properties of GlobalDataBinder include isauthsucceed, request, response, accesstoken, and so on. One of the methods defined in this class is getstringparameter(string name, String defaultval), which returns the value of the request parameter designated by the name parameter, as shown in Figure 13. public String getstringparameter(string name, String defaultval) { String value; value = ServletRequestUtils.getStringParameter(request, name, defaultval); if ((value == null) (value.equals(""))) { value = defaultval; } return value; } Figure 3. Part of the getstringparameter( ) Method Figure 4. The Structure of the wowzaplugin Directory Creating a new channel and displaying a ticker and a computer graphics image should eventually be performed by the Wowza server. Therefore, we define classes to display a ticker and an image under the Ticker directory and classes to manipulate the channel under the livenvod directory, as shown in Figure 14. TickerInterface is the class that handles the request to display a news ticker. It invokes the MakeTicker() method defined in the Ticker class in order to display both the background image and the message. The TickerManager class is an extension of ModuleBase, which is one of three ways to extend the Wowza server. The TickerManager class defines event methods, including onappstart, onappstop, 80 Copyright c 2015 SERSC

onconnect, and so on. The onappstart/onappstop method is invoked when an application instance is started/stopped. Figure 15. A Screenshot of the Channel Management System from which the SSMS can be Invoked (Editor Management, User Management, API Management, System Management, Channel Management, Content Management) Figure 16. A Screenshot of the Streaming Server Management System (Status, Transmit Parameters, Channel CG) The accountprovider class defined in the livenvod directory extends the AuthenticateUsernamePasswordProviderBase in Wowza. The methods to retrieve the password of a given user and to check if a username is already being used by another user are defined. The methods to add/remove content, to check if the channel is on the air, to get/set properties, to count the number of clients, and so on, are defined in the channelcontroller class. The SCHttpProvider class has a method to check the type, content_uri, start_time, and end_time of the request. The SCModuleBase class extends the ModuleBase of Wowza and creates a ChannelController based on the playlist. Copyright c 2015 SERSC 81

5. Experiments The CreateChannel() method is invoked when the user clicks the registration button in Figure 15, whereas the management system is executed when the SSM button is clicked. Part of the user interface of the SSMS is shown in Figure 16. The SSMS allows the administrator to see if the channel assigned to this server is on the air or not, the number of users accessing this server, and the URLs of live input and output streams. The SSMS also allows the administrator to specify the resolution and the bit rate of the stream, the computer graphics images, and the messages to be displayed on the screen. 6. Conclusions Streaming servers are the most important part of an Internet broadcasting system. This paper introduced our design and implementation of a streaming server management system that allows the administrator to monitor the server, to specify the resolution and bit rate of the stream, and to specify the images and messages to be displayed on the end users' screens. Internet broadcasting provides TV-like services. Users can access an Internet broadcast anytime and from anywhere, as long as they are connected to the Internet. Implementing an Internet broadcasting system does not require a huge budget. The law regulating Internet broadcasting is not very strict. Therefore, we expect that numerous small Internet broadcasting systems will open. Since streaming servers perform the most important role in Internet broadcasting systems, our streaming server management system will be referenced by many developers. Acknowledgment This work was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education (NRF-2011-0006942), by Development of Global Culture and Tourism IPTV Broadcasting Station Project through the Industrial Infrastructure Program for Fundamental Technologies funded by the Ministry of Knowledge Economy (10037393) and the Dongguk University Research Fund of 2015. References [1] J. Yim, Review of Streaming Server Management Systems, Advanced Science and Technology Letters, vol. 85 (ASTL 85), (2015), pp. 55-58. [2] Y. Bak, K. Kim, Y. Lee, S. Sok, C. Kim, H. Kim, M. Kim and K. Kim, SMART: High Performance Internet Server for High Definition Streaming Service, IJSH, vol. 1, no. 1, (2007), pp. 1-10. [3] W. Jiang, H. Jin, X. Liao and Z. Yuan, A Multicast Based Bandwidth Saving Approach for Wireless Live Streaming System, IJSH, vol. 2, no. 1, (2008), pp. 65-80. [4] Y. Cui, M. Kim and H. Lee, A Novel Model for Home Media Streaming Service in Cloud Computing Environment, IJSH, vol. 7, no. 6, (2013), pp. 265-274. [5] W. Wang, H. Chang, A. Goodman, E. Wucherer and S. Jamin, Managing Digital Rights for P2P Live Broadcast and Recording on the Internet, IEEE Transactions on Multimedia, vol. 14, no. 6, (2012), pp. 1538-1545. [6] Y. Zhou, X. Hua and H. Xiao, A Web-based Management System for H.264 Live Video Broadcasting, Second International Multi-Symposiums on Computer and Computational Sciences, (2007), pp. 481-485. [7] J. Do and Y. Song, Secure Streaming Media Data Management Protocol, IJSIA, vol. 8, no. 2, 9, (2014), pp. 193-202. [8] Y. Cui, M. Kim and H. Lee, Cloud-based Home Media System Model: Providing a Novel Media Streaming Service using UPnP Technology in a Home Environment, IJSEIA, vol. 7, no. 4, (2013), pp. 127-136. [9] J. Cheng, C. Yan, K. Yu and J. Ma, A Scalable Live Streaming Media Distribution Service for Peer-to- Peer Network, IJHIT, vol. 1, no. 4, (2008), pp. 29-38. [10] B. Cha, S. Park and Y. Ji, Design of StraaS (Streaming as a Service) based on Cloud Computing, IJMUE, vol. 7, no. 4, (2012), pp. 187-200. 82 Copyright c 2015 SERSC

[11] S. Lee, and K. Chung, The Study of Dynamic Video Frame Mapping Scheme for Multimedia Streaming over IEEE 802.11e WLAN, IJMUE, vol. 8, no. 1, (2013), pp. 163-174. [12] W. Kim, and S. Kim, The Implementation of the Smart Festival Management Model using Streaming Service based on the Complex Recognition, IJMUE, vol. 8, no. 2, (2013), pp. 57-68. [13] S. Lee, M. Choi, Y. Lee, S. Park and J. Kim, An Energy Efficient Multimedia Streaming Scheme in WiMedia Networks, IJMUE, vol. 9, no. 1, (2014), pp. 347-360. [14] X. Liu and A. Men, QoE-aware Traffic Shaping for HTTP Adaptive Streaming, IJMUE, vol. 9, no. 2, (2014), pp. 33-44. [15] Y. Song, and Y. Pang, An Approach of Risk Management for Multimedia Streaming Service in Cloud Computing, IJMUE, vol. 9, no. 4, (2014), pp. 285-296. Authors Jaegeol Yim, received the M.S. and Ph.D. degrees in Computer Science from the University of Illinois at Chicago, in 1987 and 1990, respectively. He is a Professor in the Department of Computer Science at Dongguk University at Gyeongju Korea. His current research interests include Petri net theory and its applications, Location Based Service, AI systems, and multimedia systems. He has published more than 50 journal papers, 100 conference papers (mostly written in Korean Language), and several undergraduate textbooks. Gyeyoung Lee, received the M.S. degree in Computer Science from the Dongguk University in 1982 and the Ph.D. degree in Computer Engineering from the Dankook University in Korea in 1992, respectively. He is a Professor in the Department of Computer Science at Dongguk University at Gyeongju, Korea. His current research interests include Petri net theory, AI systems and Speech processing systems. Copyright c 2015 SERSC 83

84 Copyright c 2015 SERSC