2012 41st International Conference on Parallel Processing Workshops
On Construction of Cloud IaaS Using KVM and OpenNebula for Video Services Chao-Tung Yang
Kuan-Lung Huang
Jung-Chun Liu
Wei-Sheng Chen
Wen-Hung Hsu
Department of Computer Science, Tunghai University, Taichung City 40704, Taiwan ROC e-mail:
[email protected];
[email protected];
[email protected];
[email protected];
[email protected]
feature with cloud computing, which is a profound video cloud service with distributed file storage and a searching engine. The cloud video services can offer ordinary users to watch and search videos; moreover, registered users can upload videos, leave messages below videos, edit or delete uploaded videos, and connect to community websites such as Facebook, Plunk, and Twitter [23, 28, 29, 31, 32, 33].
Abstract—Cloud Services have been regarded as the significant trend of technical industries and applications after Web Services. The framework of cloud services contains the infrastructure, OS, virtual machines, platform, cloud web application services, and cloud devices. Due to the improvement of global network bandwidth over the past few years, people began to mutually share video files with larger space; in addition to the popularity of cloud computing and storage, video websites become fairly popular. The goal of this paper is to build video services on cloud IaaS environment, which integrates KVM and OpenNebula open sources to provide a cloud virtual environment for end users. This paper realizes video services that are easy for users to understand, access, and operate with it on cloud.
II.
A. Cloud Computing Cloud computing is an Internet-based computing model. The shared software, hardware, and information in this model can meet the needs of many computers and devices. This model is simply like an electric net. Cloud computing is a huge change in the industry after the mainframe and clientserver model in the 1980s. Users do not need to consider the details of the infrastructure in cloud, and require no professional knowledge and direct control. Cloud computing is a new type of IT service based on the Internet and combined with dynamic scalable functions and virtualization resources. Cloud computing can be viewed at the following service levels: • Infrastructure as a service • Platform as a service • Software as a service Infrastructure as a Service (IaaS) provides the capacity of processing, storage, networking, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over storage, operating systems, deployed applications, and possibly limited control of selected networking components (e.g., host firewalls). As the level of pooling of resources is limited, the potential economies of scale are less than those for Software as a Service or Platform as a Service. Platform as a Service (PaaS) provides a running software stack, usually containing proprietary programming interfaces or APIs which allow you to develop and run applications. The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly
Keywords-Cloud computing, IaaS, Virtual machine, PaaS, HDFS, Nutch search engine, Video services
I.
INTRODUCTION
Cloud computing has been a popular topic in recent years. How the system used in large-scale cloud computing to build large-scale distributed storage cluster and the provision of services become very popular and provoke animated discussion [6, 13, 24, 25, 26, 27]. It is an inevitable trend for either the enterprise or the individual. The cloud of network services can be divided into three categories: Software as a Service (SaaS), Platform as a Service (PaaS), and infrastructure as a service (IaaS). Among these, SaaS allows users to run applications remotely from the cloud [22, 30]; PaaS includes the operating system and custom application-specific software; and IaaS, the computing resources as a service, includes some virtual machines and hardware resource units. This research paper is about how to build video services in the cloud system and operations, and using the KVM and OpenNebula to provide a virtual environment for end users [1, 4, 7, 9, 10, 11, 12]. This work integrates both Hadoop distribute file system (HDFS) and Nutch Search Engine in KVM-based cloud computing environment with video streaming related applications and make good use of the features of virtual machine (VM) and HDFS. In that, video files can be distributed and stored in various multiple computers with videos converting in parallel. This system can perform distributed computation in Map-Reduced programming in order to sufficiently shorten the time spent in searching indexes space construction. As a result, users can accelerate the search and find the precise videos they want on the video websites. This paper uses IaaS and PaaS to construct a 1530-2016/12 $26.00 © 2012 IEEE DOI 10.1109/ICPPW.2012.32
BACKGROUND REVIEW
212
virtualization system to run many instructions directly on raw hardware. The hypervisor in this case monitors access to the underlying hardware and gives each guest operating system the illusion of having its own copy. It no longer has to use software to simulate a different basic architecture (Figure 1).
configurations setups for the application-hosting environment. Platform as a service may require the customer to develop applications using service provider specific API's. Software as a Service (SaaS) allows the customer to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser. The customer does not need to manage the underlying cloud infrastructure including network, servers, operating systems, storage or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. The ability to configure and control user-specific application configuration settings depends on the service provider. SaaS provider has selected services which are built from the start for delivery as SaaS and provide full control to the client companies to configure the SaaS application to their need. The cloud can also be divided into public, private, and hybrid clouds. The public cloud provides service to everyone who can access the internet. The private cloud provides some services for company, government, or school employees. The hybrid cloud includes both the private cloud and the public cloud. In this case, the enterprise builds the private cloud first and then offers services to the public after everything is stable. Amazon S3 and EC2 are the most famous examples of hybrid clouds.
Figure 1. The architecture of full virtualization
For Para-virtualization, the hypervisor exports a modified version of the underlying physical hardware. The exported virtual machine has the same architecture, which is not necessarily the case in emulation. Instead, targeted modifications make it simpler and faster to support multiple guest operating systems. For example, the guest operating system might be modified to use a special hyper called application binary interface (ABI) instead of using certain architectural features. This means that only small changes are typically necessary in the guest operating systems, but any changes make it difficult to support closed-source operating systems that are only distributed in binary form, such as Microsoft Windows. As in full virtualization, applications are able to be run without modifications. Para-virtualization as well as full virtualization uses a hypervisor and virtual machine; the term refers to its virtualized operating systems as well. However, unlike full virtualization, para-virtualization requires changes to the virtualized operating system. This allows the VM to coordinate with the hypervisor and reduces the use of the privileged instructions typically responsible for major performance penalties in full virtualization. Para-virtualized virtual machines typically outperform fully-virtualized virtual machines. However, it is necessary to modify the para-virtualized virtual machine or operating system to be hypervisor-aware (Figure 2). To evaluate the viability of differences between virtualization and non-virtualization, this paper uses the virtualization software Xen [15]. Xen is a virtual machine monitor (hypervisor) that allows you to use one physical computer to run many virtual computers — for example, a web server application and a test server run on the same physical machine or Linux and Windows run simultaneously. Although not the only available virtualization system, Xen combines features that make it uniquely suited for many important applications. Xen runs on commodity hardware platforms and is open-source as
B. Virtualization Virtualization is simply the logical separation of requests for some services from the physical resources where the service is actually provided. In practical terms, virtualization allows applications, operating systems, or system services in a logically distinct system environment to run independently of a specific physical computer system. Obviously, all of these must run on a certain computer system at any given time, but virtualization provides a level of logical abstraction that liberates applications, system services, and even the operating system that supports them from being tied to a specific piece of hardware. Virtualization, focusing on logical operating environments, makes applications, services, and instances of an operating system portable across different physical computer systems. Virtualization can execute applications under many operating systems, manage IT more efficiently, and allot computing resources of other computers [2, 8, 14]. Virtualization lets hardware imitate as multiple hardware through a Virtual Machine Monitor, and each virtual machine functions as a complete individual unit. A virtual machine is composed of memories, CPUs, unique and complete hardware equipment, and so on. It can run any operating system as Guest OS without affecting other virtual machines. In general, most virtualization strategies fall into one of two major categories: Full virtualization also called native virtualization is similar to emulation. As in emulation, unmodified operating systems and applications run within a virtual machine. Full virtualization differs from emulation because operating systems and applications run on the same architecture as the underlying physical machine. This allows a full-
213
well. Xen is fast and scalable, and provides server-class features such as live migration [20, 21]. Xen provides better efficiency, supports different operating system working simultaneously, and gives each operating system an independent system environment.
Figure 3. The architecture of OpenNebula [5,16]
The OpenStack is the IaaS software so that anyone can create his own cloud computing services. There are three main components as follows [19]: • OpenStack Compute: Provide and manage large networks of virtual machines. • OpenStack Object Store: Create petabytes of secure, reliable storage using standard hardware. • OpenStack Glance: Catalog and manage massive libraries of server images.
Figure 2. The architecture of para-virtualization
C. Open Source for Virtualization The kernel-based virtual machine (KVM) is open source software used in the Linux kernel virtualization infrastructure. It supports x86 architecture and hardware for virtualization technology (such as the Intel VT or AMD-V) with Linux virtualization solutions. KVM contains a kernel module kvm.ko (or kvm-intel.ko, kvm-amd.ko) which provides the kernel virtualization. It also requires modified QEMU software (qemu-kvm) as the interface of the virtual machine. By configuring the hardware environment, KVM can operate multiple virtual machines in the same time for each virtual machine (It means that multiple virtual machines using the same image). In the Linux kernel 2.6.20 above, the core contains the KVM core.
III.
SYSTEM DESIGN AND IMPLEMENTATION
All of our system is developed by applying Open Source: Hadoop is used as PaaS, and the application of cloud computing is realized by SaaS. The website applies the searching engine of cloud computing which is far efficient than the traditional way which searches directly in the database. In the searching part, HDFS stores the indexed material and individually saves in each host after connecting with various hosts. The reason why it is saved as a transcript is to lower damage risks caused by hosts. Set Nutch searching engine renew indexed material every certain time in order to maintain corresponding to the latest material that is new uploaded videos. This is an exact advantage why cloud computing exists. Thanks to the features of distributed storage, users can upload material without understanding its structure first. Besides, we use FFmpeg to distribute videos to different hosts for uploading, transfer files at the same time and later integrate with the previous. It takes even less execution time than transferring files by FFmpeg on a single node. It shows that video file conversion in parallel is workable and effective, and the efficiency of uploading is obviously increased. Other than decreasing users’ waiting time after uploading, the computing efficiency of server host can be a lot more utilized as well. Therefore, it becomes a lot easier for an administrator.
D. Virtualization Management The virtual machine is not only available for use as user interface, but it is the computer with actual loading. Management of virtual machines and management of physical systems are equally important. Virtualization Management, including a set of integrated management tools, can minimize complexity and simplify the operation. It should centrally manage physical and virtual IT infrastructure, increase server utilization, and optimize dynamic resources across multiple virtualization platforms. OpenNebula (Figure 3), the industry standard opensource product for data center virtualization, offers the most feature-rich, customizable solution to build virtualized enterprise data centers and private cloud infrastructures on Xen, KVM and VMware deployments, and provides cloud consumers with choice of interfaces, from open cloud to defacto standards, like the EC2 API.
A. KVM and OpenNebula Figure 4Error! Reference source not found. shows components of three cloud models and points out emphasis of this paper. This system uses a web-based interface to manage virtual machines, and it shows the CPU utilization, host loading, memory utilization, and VMs information, etc. Besides managing individual VMs’ life cycles, this study also designs the core to support service deployment. Such services typically include a set of interrelated components
214
•
(for example, a Web server and database back end) requiring several VMs. Thus, a group of related VMs becomes a firstclass entity in OpenNebula. Besides managing the VMs as a unit, the core also handles the context information delivery (such as the Web server’s IP address, digital certificates, and software licenses) to the VMs [17].
The Capacity Manager governs the functionality provided by the OpenNebula core. The capacity manager adjusts VM placement based on a set of predefined policies • Virtualized Access Drivers are used to provide an abstraction for the underlying virtualization layer; OpenNebula uses pluggable drivers that expose the basic functionality of the hypervisor [18]. As an IaaS provider, this paper applies the idea of virtualization in the cloud system to economize power, web interfaces and user friendly ways to manage the virtual machines. Therefore, there are several perspectives in the framework of cloud. Our system architecture is shown in Figure 6. For the user friendly feature, users can simply connect to the website through the Internet to set their own needs. The user can create a virtual machine consistent with his desires without the need to know what happened in the back scene as shown in Figure 7. Figures 8, 9 and 10 show online live migration of VM using the web-based interface.
Figure 4. IaaS
We use OpenNebula to build the IaaS environment. OpenNebula is a virtual infrastructure engine that enables the dynamic deployment and reallocation of virtual machines in a pool of physical resources. It extends the benefits of virtualization platforms from a single physical resource to a pool of resources, decoupling the server from both the physical infrastructure and the physical location [3]. OpenNebula contains one front end and multiple back ends. According to allocation policies, it orchestrates storage, network, virtualization, monitoring, and security technologies to enable dynamic placement of multi-tier services (groups of interconnected virtual machines) on distributed infrastructures, combining both data center resources and remote cloud resources [3] (Figure 5). Figure 6. System Architecture
Figure 7. Initial presentation of OpenNebula
Figure 5. The orchestration of OpenNebula [16]
OpenNebula consists of three main components: • The OpenNebula Core is a centralized component that manages the life cycle of a VM by performing basic VM operations, and provides a basic management and monitor interface for the physical hosts
Figure 8. Live migration of the VM from Node 3 to Node 2
215
Figure 9. Submitted
Figure 10. Live migration is successful Figure 11. HDFS architecture
B. Hadoop HDFS is a typical master-slave distributed file system which is designed completely based on Google file system (GFS), as shown in Figure 11. HDFS is composed of a main node called Name node and several sub-nodes called Data node. Name node is used for storing metadata of the file system. The metadata consists of name space of the file system, mapping the file system to user, and responsible for managing the storage of files and other services; however, the real data are not stored at Name node. The function of Name node is like the top commander in the file system, and it offers mapping to client of the file storage system. However, the method is not an innovation of Google or Hadoop, but yet is the same with Single System Image in traditional parallel computing systems. On the other hand, Data node but Name node is utilized for information storage that directly sets up data communicate to users. We can see both two threads, Name node and Data node, after switching on Hadoop. The working process of HDFS is that Name node receives users’ commands, delivers Data node IP of information storage back to users, and notifies any other Data nodes that receive backups so that users can directly deliver information to Data node. At the same time, Name node stores related Metadata. The whole system adapts standard TCP/IP Protocol which is actually an Upper layer file system set on Linux. The master-slave topology is a typical architecture of Cloud computing that the system offers users convenient file index mapping through the complex architecture of master node’s underlying mask. Besides, some advanced master-slave architecture may adapt stratified master-slave method to ease burden of the main node. Similar to Name node in HDFS Map/Reduce in Hadoop is master-slave architecture as well (Figure 12). Main program on Map/Reduce is called Jobtracker, which is in charge of controlling the whole Map/Reduce. Because Jobtracker needs to read information in file blocks, Jobtracker is usually in the same node with Name node. Jobtracker in charge of establishing dependent work of slave node and dependent work in Hadoop is called Tasktracker. Dependent work directly processes information on slave nodes from calculation migration to finish storage. Tasktracker will report status and information of Jobtracker. After starting Hadoop, we can see two threads: Jobtracker and Tasktracker.
Figure 12. Hadoop architecture
In Hadoop, Map operation is finished in parallel at each node. In general, there is no information delivery during the process, and calculation results are delivered to the main node during Reduce process. For data-intensive computing work, the method saves much time on information delivery. We all know that delivery of network data has been a bottle neck in parallel computing because the network transfer rate is far slower than the CPU computing rate. Thus, we even figured out a strategy to exchange communication by computing, but later the problems solved after adapting calculation migration to the storage method. After all, Map/Reduce is simply one of the solutions. IV.
VIDEO SERVICES
The whole system is set on a Linux operating system. First, Lighttpd is chosen as the server of our website because it is a free open source server and aside from that, it does not consume too much source from the host. Its “lightness” allows testing hosts to experiment any function on each web page smoothly without definite high-efficiency computing ability. Thus, its function is quite sufficient enough to us. Lighttpd server supports PHP programming language so our web pages apply PHP in development. To convert videos, we pick FFmpeg as a software tool. It is free software which can be self-modified so that transferring function can be used in our own ways. For video replay, we install free software: Flowplayer, which supports streaming media playback with a time bar that can be dragged to any point while watching videos so that it is not necessary to view from the very beginning to the end. At last, to install the searching engine, we set up Nutch searching engines featured of Cloud computing, and directly utilize its bottomed Hadoop to apply HDFS and computing.
216
In demand to select a better website, we reach the final integrated design stage after each test is done. We will integrate each part and then design options and surfaces of a website. The overall tests will be taken again if problems occur or to adjust for updating new functions to reach the design goal. Figure 13 is the cloud system architecture. It depicts main software belonging to which cloud infrastructure, service of websites. Hadoop is used as PaaS, and web site for video services is SaaS in cloud service architecture. This shows how the whole system computes and provides services for online videos application.
Practical applications in Cloud computing becomes our main issue. In choosing among servers, necessary demand for setting up websites has to be fulfilled and yet less space and resource are consumed. Therefore, we choose Lighttpd as our website server. Lighttpd, pronounced “lighty” is an open source web page server released by BSD. Comparing with other webpage servers, Lighttpd needs very little memory and CPU resource to obtain the same efficiency. In order to reach the theme of Cloud, we use Hadoop, open source parallel computing programming tools and distributed file system developed by Apache Software Foundation that shares the similar ideas with MapReduce processing and Google file system. Hadoop, free software developed by Java possessed thousands of nodes to process Petabyte leveled quantity of database including HDFS and MapReduce. Doug Cutting is the promoter and it is viewed as the top-level project of Apache Software Foundation. MapReduce distributes application to process in other node hosts. Realization of HDFS in Hadoop is similar to Google File System. The purpose of a system which is effortless to expand distributed file system is to analyze a large amount of database and apply to ordinarily cheaper hardware. Moreover, it offers fault tolerant to ensure that massive users to receive improved service as a whole because MapReduce can distribute application to other node hosts. A video and music website should contain a video searching engine function. Therefore, we have to find a searching engine that can be practically applied to Hadoop Cloud environment and be self-modified as well. Nutch is chosen because it is an open source web search machine for searching and indexing component which is established based on Lucene Java. Basically, Nutch is set on Hadoop and then input distributed application of Map/Reduce to search index for desired information by using HDFS as searching index storage database. As we mentioned before, it is an application of Cloud computing. Due to the fact that Nutch is open source, users can modify the content as they wish. It has become a uniquely customized searching engine for everyone. After uploading videos, file should be converted in the same format in order to ensure both flawless replay and function to support distributed transformation. Thus, the efficiency of the cloud connected with many nodes can be fully utilized. FFmpeg is chosen to carry out audio and video for the different formats, conversion, and streaming functions, including libavcodec, a decode library which is used for audio and video, and libavformat, an audio and video format conversion library. Film storage is most important in video and music websites. In order to reach our demand of Cloud, videos should be stored in HDFS in the Hadoop file system. Thus, we use Filesystem in User space (FUSE) for a direct storage function. FUSE is a kernel module for Unix-like operating system. Unauthorized users can create their own file system without editing kernel code. The FUSE module offers a “bridge” to physical kernel interface by applying Hadoop HDFS system codes in users’ space
Figure 13. Cloud system architecture
Figure 14 is the detailed system architecture. It explains the used software and relationship between each one. The system is completely set by open source kit on Ubuntu 10.04 Linux operating system. By using Hadoop to apply massive data application and Cloud environment, many servers in a cluster can cooperate to completely fulfill the efficiency of all hosts. In storage, we use Virtual folder technology of FUSE to mount uploading folders on HDFS to reach the goal of Cloud distributed storage. For information distribution and copies not only it can avoid information damage and loss, but also it efficiently takes use of all space of hosts. Moreover, while supporting both users’ uploading and downloading, the storage system of Hadoop can be more practical at the same time.
217
Figure 14. System architecture
Since a website needs a website server, we choose Lighttpd as our website server. Besides being a set of free open source server, its “Lightness” feature does not consume too much host resource. Lighttpd is especially suitable to set up video and music websites and the testing host can also be smoothly used to test each webpage function without high computing ability. Besides, we use MySQL in database to store a user’s account, passwords, and film information. Lighttpd webpage server supports PHP programming language, which is used to develop system application layer web interface. Moreover, Cascading Style Sheets level 3 (CSS3) and jQuery techniques are applied to a more humanly operation interface for users. For video transferring, we choose FFmpeg because it is free self-modified software that we can add distributed parallel conversion function to save time. For the video player part, we use Flowplayer, which is open source and supports H.264 HD media streaming playback. We add related streaming module on the web page server so that time bars can be moved while watching videos; therefore, it is not necessary to watch from the very beginning to the end. Figure 15 shows the diagram of the VOC’s framework. It explains the connected internal procession of the network system and the Cloud server while users watching videos. The diagram in Figure 16 illustrates FFmpeg splitting and conversion framework. It shows how films transferred and divided after uploading, and later assembled in integration stage. Because of using HDFS for backup in Hadoop, each data is distributed in storage in each node. While Calculate, each node reads the data stored in itself and has it processed to avoid massive transmission through the Internet from Calculate to storage. It is superior to manage massive data of TB levels and this is the reason why Hadoop architecture executes well in searching engine systems. Because the searching engine system is the most typical application of data-sensitive, incredibly massive web statistics have to be managed and handled well. We sorted web pages into several parts: searching, uploading, player, index, administration, register and log-in, etc. Each part is also divided into function paging for development. Black lines in Figure 15 means users can go to paging by clicking hyperlinks; dotted lines represent direction of data transmission in web pages.
Figure 15. VOC’s framework diagram
Figure 16. FFmpeg split and conversion framework diagram
The advantage of cloud computing is that users do not have to understand the structure behind because Server can adds computers at any time and takes advantages of cluster and distributed storage to obtain acceleration and backup purposes. Nutch is the core of our website searching engine. While indexing, it distributed work to certain nodes in Hadoop. Therefore, it not only reduces usage of our web server but fully increases work efficiency of other computers. Moreover, cluster computing combined with several computers can reach high-speed and low-cost, and the environment is able to handle massive data searching in the near future. We confront many challenges during the process of webpage design. For example, to complete the quantity table corresponding to the quantity of field in database depends on functions of webpage surface, such as functions to inform against bad films and blocking vicious users. Overall, it is indeed a process of brainstorming. Other than coding of the webpage and Cloud host, data security is yet a far more important issue, such as avoiding malicious attacks and theft of users’ data. In the webpage, we
218
have implemented some fundamental protection of database for users to browse web pages safely. Other issues include beautifying web page, page display, and different types, location and functions of bottoms, referencing to many video and music websites, and yet it is far more important to be unique. How to balance between them has become a challenge as well. Our website has already offered functions of social networking; for example, Facebook, Plurk, and Twitter. In addition to maintain the original function, we hope to increase some new, interesting, and practical functions in order to become a more diversified-service website. We add functions for connection to games and shopping with easy installment procedure. Hopefully, people can realize the ultimate goal of self-set private Cloud videos.
B. Register page After entering register page, users can set up their own accounts and passwords, and fill in names and emails to create a self-video management system. Moreover, registered users can manage uploaded videos via e-mail to authenticate membership accounts. (Figure 19)
A. Video searching homepage To open homepage and search box are apparent. Therefore, users can type in related clusters to search for what they want. People can find films fast via index searching and related ranking methods and at the same time register accounts to upload films from their computers.
Figure 19. Register page
C. log-in page After registration, users have to verify memberships first with the information filled at the mailbox before. Then, users can log in by typing in accounts and passwords to obtain related service from the video and music website. Besides, our pages use CSS3 and jQuery technologies, which not only glorify pages but successfully create a more human-based environment. Users can go to any function page after successfully logging in, and log out to terminate service. (See Figures 20 and 21)
Figure 17. Search home page
To demonstrate the search function, the word “nobody” is entered in the dialog in the top of Figure 18 where the results of search is shown as well.
Figure 20. Log-in page
Figure 18. Search results
219
Figure 21. Log-out page
D. Uploading page According to rules of uploading, users can upload films they want and fill in related information about the films after uploading. Then, dynamic video links will be created after messages are sent. (Figure 22) Figure 23. Player page
V.
CONCLUSION
With the advent of YouTube HD and other forms of Flash Video over IP, broadcasters have been in search of the ability to stream live video in equal quality. The technology behind YouTube and video streaming is not very complicated. The HD video is converted to a Flash file format hosted on a server where the server's resources are used to play the video in real time as opposed to the viewers. This is where cloud hosting comes into play. With the scalability of cloud hosting, streaming a video can become seamless. This paper built video services on cloud IaaS environment, which integrates KVM and OpenNebula open sources to provide a cloud virtual environment for video end users. This work integrates both HDFS and Nutch Search Engine in KVM-based cloud computing environment with video streaming related applications and makes good use of the features of virtual machine and HDFS. In that, video files can be distributed storing in various and multiple computers with video converted in parallel. This paper uses IaaS and PaaS to construct a feature of cloud computing, which is a profound video cloud service with distributed file storage and a searching engine. The cloud video services allow ordinary users to watch as well as search videos in a selfmanaged way.
Figure 22. Upload page
E. Player page After a while, uploaded film pages can be seen by users. Video players choose to support the flash interface of H.264 with length and width being 16 x 9. Also, video resolution is set to be 720P (1280×720) high definition films and video time bars can be moved to streaming playback at any time. (Figure 23)
ACKNOWLEDGMENT This study was supported in part by the National Science Council, Taiwan ROC, under grant numbers NSC 101-2221-E-029014, NSC 100-2218-E-029-004 and NSC 101-2622-E-029-008CC3.
REFERENCES [1]
[2]
220
Arun Babu Nagarajan , Frank Mueller , Christian Engelmann , Stephen L. Scott, “Proactive fault tolerance for HPC with Xen virtualization”, Proceedings of the 21st annual international conference on Supercomputing, pp. 23-32, June 17-21, 2007, Seattle, Washington. Binbin Zhang, Xiaolin Wang, Rongfeng Lai, Liang Yang, Zhenlin Wang, Yingwei Luo, and Xiaoming Li, “Evaluating and Optimizing I/O Virtualization in Kernel-based Virtual Machine(KVM)”, NPC'10
[3]
[4]
[5]
[6]
[7]
[8] [9] [10]
[11]
[12]
[13] [14] [15] [16] [17]
[18]
[19] http://openstack.org/ [20] Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hanseny,Eric July, Christian Limpach, Ian Pratt, Andrew Warfield, "Live Migration of Virtual Machines", University of Cambridge Computer Laboratory y Department of Computer Science 15 JJ Thomson Avenue, Cambridge, UK University of Copenhagen, Denmark, 2005 [21] Michael R. Hines, Umesh Deshpande, and Kartik Gopalan, "PostCopy Live Migration of Virtual Machines", Computer Science, Binghamton University (SUNY) [22] Shi, Y., Bian, F.: The Study of Public Service for Remote Sensing Information Based on Cloud Platform. Geomatics World, 26–29 (June 2011) [23] Video cloud http://baike.baidu.com/view/3403937.htm [24] Gong, C., Liu, J., Zhang, Q., Chen, H., Gong, Z.: The Characteristics of Cloud Computing. In: 2010 39th International Conference on Parallel Processing Workshops (ICPPW), pp. 275–279 (2010) [25] Zhang, S., Chen, X., Zhang, S., Huo, X.: The comparison between cloud computing and grid computing. In: 2010 International Conference on Computer Application and System Modeling (ICCASM), pp. V11-72–V11-75 (2010) [26] Ohlman, B., Eriksson, A., Rembarz, R., Res, E., Ericsson, Stockholm, Sweden: What Networking of Information Can Do for Cloud Computing Enabling Technologies. In: 18th IEEE International Workshops on Infrastructures for Collaborative Enterprises, WETICE 2009, pp. 78–83 (2009) [27] Mathur, P., Nishchal, N.: Cloud computing: New challenge to the entire computer industry. In: 2010 1st International Conference on Parallel Distributed and Grid Computing (PDGC), pp. 223–228 (2010) [28] Di Niu, Hong Xu, Baochun Li., Shuqiao Zhao: Quality-Assured Cloud Bandwidth Auto-Scalingfor Video-on-Demand Applications. in IEEE Infocom, 2012. [29] D. Niu, C. Feng, and B. Li, “A theory of cloud bandwidth pricing for video-on-demand providers,” in IEEE Infocom, 2012. [30] A. Finamore, M. Mellia, M. Munafo, R. Torres, and S. Rao, “Youtube everywhere: Impact of device and infrastructure synergies on user experience,” in IMC, 2011. [31] D. Niu, B. Li, and S. Zhao, “Understanding Demand Volatility in Large VoD Systems,” in Proc. the 21st International workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), 2011. [32] D. Applegate, A. Archer, V. G. S. Lee, and K. Ramakrishnan, “Optimal Content Placement for a Large-Scale VoD System,” in Proc. ACM International Conference on Emerging Networking Experiments and Technologies (CoNEXT), 2010. [33] Z. Liu, C. Wu, B. Li, and S. Zhao, “UUSee: Large-Scale Operational OnDemand Streaming with Random Network Coding,” in Proc. of IEEE INFOCOM, 2010.
Proceedings of the 2010 IFIP international conference on Network and parallel computing, pp. 220-231, September 13-15, 2010. Chien-Hsiang Tseng Chao-Tung Yang, Keng-Yi Chou and ShyhChang Tsaur, "Design and Implementation of a Virtualized Cluster Computing Environment on Xen,” The second International Conference on High Performance Computing and Applications, HPCA, 2009. Hitoshi Oi and Fumio Nakajima, “Performance Analysis of Large Receive Offload in a Xen Virtualized System,” in Proceedings of 2009 International Conference on Computer Engineering and Technology (ICCET 2009), Vol. 1, pp475–480, Singapore, January 2009. Milojii, Dejan, Llorente, Ignacio M., Montero, Ruben S., “OpenNebula: A Cloud Management Tool”, Internet Computing, IEEE, volume 15, issue 2, pp. 11-14, 2011. Patrícia Takako Endo, Glauco Estácio Goncalves, Judith Kelner, Djamel Sadok, “A Survey on Open-source Cloud Computing Solutions”, VIII Workshop em Clouds, Grids e Aplicacões, pp.3-16, 2011. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris,A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, “Xen and the Art of Virtualization,” in SOSP ’03: Proceedings of the nineteenth ACM symposium on Operating systems principles. New York, NY, USA: ACM Press, pp. 164–177, 2003. Qumranet, “White Paper: KVM Kernel-based Virtualization Driver,” Qumranet, Tech. Rep., 2006. W. v. Hagen, Professional Xen Virtualization: Wrox Press Ltd. Birmingham, UK, UK, 2008. W. Emeneker and D. Stanzione, “HPC Cluster Readiness of Xen and User Mode Linux,” in 2006 IEEE International Conference on Cluster Computing, pp. 1-8, 2006. Xiantao Zhang, Yaozu Dong, "Optimizing Xen VMM Based on Intel Virtualization Technology," 2008 International Conference on Internet Computing in Science and Engineering (ICICSE 2008), pp.367-374, 2008. Yaozu Dong, Shaofan Li, Asit Mallick, Jun Nakajima, Kun Tian, Xuefei Xu, Fred Yang, and Wilfred Yu, “Extending Xen with Intel Virtualization Technology,” Journal, ISSN, Core Software Division, Intel Corporation, pp. 1-14, August 10, 2006. Cloud computing. http://en.wikipedia.org/wiki/Cloud_computing KVM. http://www.linux-kvm.org/page/Main_Page Xen. http://www.xen.org http://www.opennebula.org H. Raj and K. Schwan, “High Performance and Scalable I/O Virtualization via Self-Virtualized Devices,” in the proceedings of HPDC 2007, pp. 179-188, 2007. C. A. Waldspurger, “Memory Resource Management in VMware ESX Server,” SIGOPS Oper. Rev., vol. 36, no. SI, pp. 181-194, 2002.
221