350 likes | 452 Views
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.
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 !