Title: Virtual Media Center: A Generic Architecture for Distributed VideoOnDemand Services
1Virtual Media Center A Generic Architecture for
Distributed Video-On-Demand Services
Department of Computer Science Engineering The
Chinese University of Hong Kong Master of Science
in Computer Science
- Date 30 April 2004
- Presented by Lee KaYan,Sunny
- Supervisor Prof. Michael R. Lyu
2Outline
- Motivation
- Related Work
- Virtual Media Center (VMC) Services
- Characteristics
- Technologies Used Web Service and CORBA
- System Architecture
- Implementation Details
- Future Works and Enhancements
3Motivation
- 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
4Related 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
5Virtual 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
6Characteristics
- Distributed server architecture
- CORBA and Web service interface between server
- Integration of heterogeneous streaming technology
and system - By pass firewall
- Web user interface
7Technologies 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
8Technologies 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
9System Architecture
- Roles in VMC
- System operator
- Content Provider
- Subscriber
10System 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
11System 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
12System 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
13System 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
14System 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.
15System 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
16System 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
17System 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
18System Architecture
A Generic Implementation Architecture
19System Architecture
20Implementation
21Implementation Details
- Database structure in SQL server 2000
22Implementation 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
23Implementation 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
24Implementation 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
25Implementation Details
- Programs in VMC server
- omniNames
- VMC_impl
- VMCMonitor
26Implementation Details
- Programs in streaming server
- WMSMonitor
- VSSMonitor
- Windows Service
27Implementation Details
- System Monitoring Tool
- S (s.exe)
- Syntax
- s ltserveridgt ltserveripgt
- e.g. s 0
- (0 means display the run-time information for all
servers)
28Implementation Details
- Subscriber Interface
- VMC Home Page
29Implementation Details
- Subscriber Interface
- Catalogue Page
30Implementation Details
- Subscriber Interface
- Catalogue Page -
- Filter Functions
31Implementation Details
- Subscriber Interface
- Select Server Page
32Implementation Details
- Subscriber Interface
- VOD Session Page
33Advantage 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
34Future 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
35- End of Presentation
- Thanks !