I read a very interesting article from The Economist in 2009 that has some “food for thought.” The following excerpt is from that article:
“The rise of the cloud is more than just another platform shift that gets geeks excited. It will undoubtedly transform the information technology (IT) industry, but it will also profoundly change the way people work and companies operate. It will allow digital technology to penetrate every nook and cranny of the economy and of society, creating some tricky political problems along the way.”
Indeed, cloud has already proliferated various facets of our life. We can see its applications in education, healthcare, communications, financial services, energy and utility industries, entertainment, collaborations, and many more. In any sector I can think of, at least one or two examples can be drawn that feature an application of cloud. I often asked myself the question: “Can cloud computing process and disseminate multimedia content? If yes, how?” Recently I started researching this topic. Cloud definitely can manage multimedia contents. I want to share some of my findings from multiple sources, which I found mesmerizing and fascinating.
Because the various forms of multimedia content are an integral part of our daily lives today, it is not surprising to find cloud computing shaping the delivery models of multimedia. Multimedia content providers might be involved with infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). Before I delve into the topic any further, I discuss several value propositions offered by cloud computing. Why do we bother to process and deliver multimedia content through cloud computing? Is it only because cloud is a cool technology to have in an organization’s disposal?
Users these days are not happy with just simple static HTML-based websites. With the advent of Web 2.0, every user, whether tech-savvy or not, can be a contributor to the web contents. Users these days like to share and collaborate with others. Social and market trends, service-oriented architecture, Web 2.0, exponential growth in connected devices, online collaboration, social networking and Unified Communications (UC) are fueling evolutionary changes that are dictating how people create and share digital content with others. Digital information on the web has been growing at a staggering rate. According to Cisco’s forecast, global mobile data traffic will reach 130 exabytes (1 exabyte = 1018 bytes) annually by 2016, which is equivalent to an 18-fold growth in mobile data from 2011 to 2016. Another forecast is that mobile video will contribute to 71 percent of the mobile traffic. Tablets will be responsible for more than 10 percent of global mobile data traffic by 2016. Conventional IT infrastructure is failing and in the future will be unable to cope with this data growth. Today’s IT infrastructure needs to be highly scalable, elastic, and on demand. Cloud computing is an on-demand and scalable IT delivery model. As such, the application of cloud computing for multimedia content delivery has started to take place. According to a technical article, “Seeding the Clouds with Multimedia Services” by Alcatel-Lucent, multimedia content providers are considering the migration to cloud computing in the next four to five years.
Multimedia content dissemination is a complex and challenging task. Although a general-purpose cloud computing system is good for most data services, it is not quite adequate to meet the stringent quality of service or QoS (bandwidth, latency, and jitter), and quality of experience or QoE for multimedia applications. Although it can provide the processing power and storage, multimedia services hosted on a cloud can suffer from a degraded QoS or QoE if not properly designed. Mobile devices have limited capacity in terms of processing power, storage, and memory. As such, delivery of multimedia content to mobile devices through cloud computing demands even more stringent QoS provisioning than fixed devices. The best practice is to offload storage and computing to cloud without downgrading interactivity, and take measures to prevent any sort of latency. So careful consideration should be given when designing a cloud-based application architecture. This process can significantly improve energy efficiency and performance of mobile devices. Cloud computing should address the following requirements in order to deliver multimedia content:
- Multimedia and service heterogeneity: A wide range of services, for example static, dynamic content, video on demand, live streaming, teleconferencing, image sharing, transcoding, and more
- QoS heterogeneity: Different services require different QoS provisioning.
- Device heterogeneity: A myriad of fixed and mobile devices are available in the landscape. Content should exist for all devices. Different devices support different multimedia formats. For example, at the time of writing this blog, video codecs supported by Android devices are H.263, H.264, AVC, MPEG-4 SP, and VP8 but iOS devices support H.264 and MPEG-4.
- Network heterogeneity: This requirement imposes a great challenge because of the many choices of network (for example, Internet, LAN, Wireless LAN, 3G, 4G, WiMax, and others). These networks have different characteristics, for example bandwidth, delay, jitter, and more.
- Scalability and rapid elasticity: This requirement means provisioning IT resources when needed and releasing the resources when not needed, in an automated fashion.
- Simplicity: Applications and graphical user interfaces (GUI) should be intuitive and easy to use.
- Abstraction: Background multimedia processing should be transparent to the users.
- Responsiveness and user experience: Users should experience a seamless delivery of multimedia with a large magnitude of devices. Multimedia content should be adaptive to heterogeneous devices.
- Supporting varieties of media types: Types can be image, video, audio, or text, and a large number of file formats.
- High performance computing: This requirement is necessary for feature extraction, encoding, editing, transocoding, and so on.
- Massive storage networks.
- Distributed server farms for high availability and redundancy
- Content delivery networks for reducing latency and improving user experience.
- Supporting digital asset management such as digital asset management (DAM), digital rights management (DRM), and others.
- Efficiency: The system should be highly efficient in terms of performance and energy usage. This can be achieved by acquiring resources only when needed and relinquishing when there is no demand
- Open standards: open standards provide for interoperability.
Cloud, with its inherent virtues, properties, and additional advanced architectural design can definitely take care of the requirements. For example, cloud can perform the CPU-intensive content adaptation or transcoding and encoding task dynamically. SaaS solutions for encoding and transcoding can make this complex task easy (see http://www.encoding.com and http://www.zencoder.com). It can also be done in a scalable fashion. In a non-cloud environment, encoding and transcoding jobs need to wait in a queue. There is no way to scale up or down on demand. In a cloud environment, if the number of videos in transcoding queue is greater than number of places available in cloud instances, additional virtual images (instances) are created automatically to perform the job in parallel. After jobs have finished, the instances are released automatically. Transcoding can be also done offline by transforming one format into multiple formats, but this requires a huge amount of storage. Another downside is that offline transcoding is not suitable for live streaming. So, whether it is online or offline transcoding, cloud can take care of that.
There are many phases in multimedia content and workflow management. These are, in general, known as ingest, digital asset and metadata management, encode, digital rights management (DRM), play-list management and scheduling, authentication and authorization, and delivery. Recently, monetize (advertisement insertion and targeting) and analytics are in use. Cloud computing can manage all these phases.
Cloud-based multimedia solutions
Now I briefly discuss several cloud-based multimedia solutions.
Multimedia cloud is somehow similar in concept to content delivery network (CDN) in the sense that both are used for multimedia content delivery from the edge locations rather than original servers. In multimedia cloud solutions, computation is performed at edge locations rather than one central cloud in order to reduce computation time and latency and improve response time. This is what Akamai does: EdgeComputing, NetStorage and CDN services are the power houses of Akamai’s cloud-based multimedia delivery networks. Algorithms and policies based on applied mathematics are the basics of Akamai’s system to avoid congestion and vulnerability in the Internet. One simple policy that Akamai follows is to perform computing closer to the user. This term is defined as edge computing. .Static, dynamic content, and live streaming are offered. Adobe Flash HTTP Dynamic Streaming (HDS), Microsoft Smooth Streaming and Apple HTTP Live Streaming (HLS) are the adaptive streaming protocols supported by Akamai.
Sorenson Media is a multimedia content provider using cloud offerings from vendors and CDN. Sorenson helps enterprises easily and cost-effectively encode, transcode, manage, and deliver the highest-quality video online and to mobile devices. Sorenson has been running its multimedia applications on IBM SmartCloud Enterprise and other public cloud offerings. It offers device and location independence by supporting any type of client devices, scalability, and other inherent virtues of cloud computing. The Sorenson solution has been stress-tested to handle any type of peak demands for video. Sorenson virtual servers grow automatically as traffic increases. Intelligent cloud computing management platform provisions new servers readily when there is a peak in demand, and deprovisions them when the peak subsides. Sorenson’s cloud transcoding solution supports multiple adaptive streaming protocols and a variety of file formats.
Other multimedia content providers have started to use cloud computing for on-demand video and real streaming. Discussion of all these products is beyond the scope of this blog. In general, cloud-based multimedia content providers support the protocols summarized in Table 1 and Table 2. Protocols can vary from one provider to another. Adaptive streaming technology such as MPEG DASH has the potential to be an open standard for streaming in the future. When this happens, encoding and transcoding tasks in cloud will be easier than before. We can envision that with the emergence of open standards in cloud computing and multimedia content, the future will see a seamless multimedia cloud computing experience for users.
Table 1. Streaming protocols
|Adobe Flash RTMP
(RTMPE, RTMPT, RTMPTE, RTMPS)
Adobe Flash HTTP Dynamic Streaming (HDS)
|Apple HTTP Live Streaming (HLS)||iPhone, iPod, iTouch(iPhone OS 3.0 or later)
QuickTime Player (10.0 or later)
Safari (4.0 or later on Snow Leopard)
Roku and other HLS compatible players
|Microsoft Smooth Streaming||Silverlight 3 or later|
VideoLAN VLC player
Mobile devices (3GPP)Other compliant players
|MPEG2 Transport Protocol (MPEG-TS)||IPTV set-top boxes|
Table 2. Live encoding protocols
|RTMP||Video: H.264, VP6, Sorenson Spark, Screen Shared codecAudio: AAC, AAC-LC, HE-AAC, MP3, Speex, NellyMoser ASAO|
|RTSP/RTP||Video: H.264Audio: AAC, AAC-LC, HE-AAC, MP3, Speex|
|MPEG-TS||Video: H.264Audio: AAC, AAC-LC, HE-AAC, MP3|
|ICY (SHOUTcast/icecast)||Audio: AAC, AAC-LC, HE-AAC (aacPlus), MP3|
I hope you have enjoyed reading this article. As you can see, unwavering benefits from cloud computing have created reverberations in multimedia and entertainment also. Next time when you watch a video online, share pictures with friends, take part in a video conference, watch live TV online, and enjoy a movie on demand, I believe you will thank cloud computing like I do. Cloud, you are a beauty!