350 likes | 386 Views
This project presents a framework for a Virtual Media Center (VMC) that provides multimedia streaming services seamlessly adapting to evolving technologies. It utilizes both Web Services and CORBA to enable efficient server selection and distributed multimedia delivery. The system architecture encompasses essential components like web servers, streaming servers, and a database server, catering to various scenarios, including real-time broadcast, mobile user access, and ad hoc multimedia streaming.
E N D
Department of Computer Science & Engineering The Chinese University of Hong Kong Master of Science in Computer Science Virtual Media Center: A Generic Architecture for Distributed Video-On-Demand Services Date: 30 April 2004 Presented by: Lee KaYan,Sunny Supervisor: Prof. Michael R. Lyu
Outline • Motivation • Related Work • Virtual Media Center (VMC) Services • Characteristics • Technologies Used: Web Service and CORBA • System Architecture • Implementation Details • Future Works and Enhancements
Motivation • VOD is a bandwidth demand, the capacity of concurrent users is limited at present network equipment and technologies. A simple and efficiency server selection mechanism is needed • Multimedia technologies such as compression, security and streaming protocol may change in the future. A framework to provide multimedia streaming service with the capability to adapting technologies change is needed • To implement a application called “Virtual Media Center” under this framework
Related Work • Video-on-Demand (VOD) • VOD is a service that allow users to view any video at any time and can use VCR-like functions • Currently, the most popular and cheap technology for VOD is streaming over Internet • Distributed Systems • Common VOD architectures are distributed systems (DVOD) • Distribution can be distributed system components, distributed streaming servers, distributed media content and distributed transmission source (stripping) • Major solutions on DVOD • Replicate strategy for video content • Metrics based streaming server selection • Set-Top box for buffering, caching and decryption
Virtual Media Center (VMC) Services • Video Streaming for VOD • Real-time TV • Real-time Web Cam • Ad hoc streaming • Auto server selection • CORBA API • Web service API
Characteristics • Distributed server architecture • CORBA and Web service interface between server • Integration of heterogeneous streaming technology and system • By pass firewall • Web user interface
Technologies used: Web Service and CORBA • Why CORBA • Middleware for heterogeneous network, computer hardware, operating system and programming language • Best for interface between heterogeneous streaming server among different technology or content provider • Drawback: difficult to pass firewall in distributed environment
Technologies Used: CORBA and Web Service • Why Web service • Can pass firewall • Best for interface between VMC and different content providers • API for Web application • Best for remote administration, monitoring etc. • Provide catalogue to remote Web server
System Architecture Roles in VMC: • System operator • Content Provider • Subscriber
System Architecture Components in VMC: • Web server – provide catalogue of media content to subscriber • Database server – provide information storage • Streaming server – provide multimedia content storage and streaming to subscriber
System Architecture Scenario for VOD: • One central Web server for Internet access • Many streaming server distributed in different geographic location for load balancing • Subscribers are scattered in the Internet
System Architecture Scenario for Real-time broadcast: • Use Audio/Video capture device such as Web Cam or TV turner card • Web Cam or TV turner card can directly connected to streaming server
System Architecture Scenario for Mobile user: • Remote Web server for Mobile device • Consume catalogue from VMC through Web service API • Choice best streaming server to delivery content by Remote Web server
Web Service API System Architecture Scenario for ad hoc multimedia streaming: • Ad hoc streaming source registration through Web service API • Mobile user can real-time broadcast through wireless network • Suitable for news broadcast, remote monitoring etc.
System Architecture Scenario for local and remote servers: • CORBA within firewall • Web service outside firewall • For distributed streaming servers • For independent content providers to contribute their own streaming servers CORBA Web Service
RTT Function Call RTT Function Call System Architecture Scenario for real-time server selection: • Round-Trip Time (RTT) • Server CPU utilization • Server allocated bandwidth • Server connected clients CPU Utilization, Allocated Bandwidth and Connected Clients Round-Trip Time (RTT) information
System Architecture Scenario for RTT Collection: • Optimal • Between subscriber and streaming server • Need subscriber accept mobile code or install RTT client • Less optimal • Between remote Web server and streaming server • Remote Web server should located near subscriber • Remote Web server responsible collect RTT and update to VMC periodically • No mobile code or install RTT client to subscriber • Best solution for mobile subscriber Collect RTT periodically RTT RTT RTT RTT Mobile code or RTT Client Installed
System Architecture A Generic Implementation Architecture
System Architecture Logical Components
Implementation Details Database structure in SQL server 2000:
Implementation Details In VMC server: • Web Server • Windows 2003 Server • Internet Information Server 6 • ASP.NET 1.1 • Web Service • Visual Studio .NET 2003 C# • VMC Monitor (e.g. Collect RTT, server status etc.) • Visual Studio .NET 2003 C# • .NET Remoting • Database server • SQL server 2000 MSDE version • CORBA Naming Service • omniORB Naming Service • CORBA server object (for streaming server CPU utilization, allocated bandwidth and connected clients update) • omniORB ORB + VS.NET 2002 VC++ 7.0
Implementation Details In Streaming server: • VOD service • Microsoft Windows Media Server 9 • HTTP, MMS and RTSP • Windows Media File format (*.wmv) • Real-time broadcast for TV and Web Cam • Windows Media Encoder • RTT Server • Visual Studio .NET 2003 C# • .NET remoting • Windows service • CPU utilization, allocated bandwidth and connected clients update • CORBA client: omniORB ORB + VS.NET 2002 VC++ 7.0 • Web service client: VS.NET 2003 C#
Implementation Details Remote Web Server: (for Wireless Mobile Device, Pocket PC version) • Web Server • Windows 2003 Server • Internet Information Server 6 • ASP.NET 1.1 • Pocket PC requirement • Microsoft Pocket PC 2003 • Windows Media Player 9 • Development and testing • Visual Studio .NET 2003 C# • ASP.NET 1.1 Mobile Control • .NET compact framework 1.1 • Pocket PC 2003 Emulator • Pocket PC 2003 Phone Edition Emulator
Implementation Details Programs in VMC server: • omniNames • VMC_impl • VMCMonitor
Implementation Details Programs in streaming server: • WMSMonitor • VSSMonitor • Windows Service
Implementation Details System Monitoring Tool: • S (s.exe) Syntax: s <serverid> [<serverip>] e.g. s 0 (0 means display the run-time information for all servers)
Implementation Details Subscriber Interface: VMC Home Page
Implementation Details Subscriber Interface: Catalogue Page
Implementation Details Subscriber Interface: Catalogue Page - Filter Functions
Implementation Details Subscriber Interface: Select Server Page
Implementation Details Subscriber Interface: VOD Session Page
Advantage and Disadvantage • Advantage • CORBA and Web Service are well defined standard • Independent to individual streaming technologies • Web Interface for multiple devices: PC, mobile notebook, Pocket, Palm, 3G phone or Smart phone etc. • Real-time server selection • RTT independent to any underlying network path selection algorithm and easy to implement • Disadvantage • Subscriber must installed a build in streaming player in Web browser to decode the target streaming • Remote Web server must located nearest to subscriber to obtain the best RTT estimation for subscriber • Streaming quality and concurrent connections are still limited to underlying bandwidth, compression technology and network equipment
Future Works and Enhancements • Implementation • Interoperability between different ORB • Mobile code for RTT client • Native player install in subscriber device • Test remote Web server for mobile device on real device • Publish Web service on UDDI directory • Testing • Stress test on efficiency of RTT, CPU utilization, allocated bandwidth and connected clients • Improvement of concurrent clients capacity on real-time server selection
End of Presentation Thanks !