Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Computer Science & Engineering

Similar presentations


Presentation on theme: "Department of Computer Science & Engineering"— Presentation transcript:

1 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 Good afternoon, Prof. Lyu. Thanks for your coming. My name is Sunny Lee. Today I am going to present my project titled “Virtual Media Center”. The name come from original project titled “Distributed Video-on-Demand (DVOD)” 2018/9/20

2 Outline Motivation Related Work Virtual Media Center (VMC) Services
Characteristics Technologies Used: Web Service and CORBA System Architecture Implementation Details Future Works and Enhancements Here is the presentation outline, I will first give my motivation to implement a “Virtual Media Center”, and it’s abbreviation to VMC. Then I will list out some related works among this topic. Then I will introduce services provided by the VMC. Next, I will summarizes the major characteristics of the system. In the “Technologies used: Web Service and CORBA” section, I will explain the major reason why I chose these two standard to implement the VMC. In the “System Architecture” section, I will going to briefly explain the Roles of parties participated in a VMC, constitution components, different scenarios or configuration among a VMC. In the last part of this section, I will illustrate the diagram to demonstrate the logical components and relationship in a VMC. Next, I will going to list out the implementation details such as platform, technology and tools employed to implement the VMC which I will demonstrate to you later. To summarize, I will give a conclusion by discussing the advantage and disadvantage of my VMC implementation. Finally, I will list out some of the future works and enhancement regarding to the current stage of the VMC. 2018/9/20

3 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 The motivation to develop a VMC as following: 2018/9/20

4 Related Work Video-on-Demand (VOD) Distributed Systems
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 As VMC is implemented as multimedia streaming over the Internet, some of the streaming technologies, streaming application such as VOD etc. are studied. I have the following findings. 2018/9/20

5 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 In this section, I will going to list the major service in a VMC. 2018/9/20

6 Characteristics Distributed server architecture
CORBA and Web service interface between server Integration of heterogeneous streaming technology and system By pass firewall Web user interface In this section, I will summarizes the major system characteristics of the VMC. 2018/9/20

7 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 In his section, I will firstly explain why I chose CORBA in the VMC. As CORBA is a middleware for heterogeneous network, computer hardware, operating system and programming language, it is best for interface of system integration. Due to the streaming technologies may come from different vendors running in different OS, and developed by different programming language, CORBA can mask this heterogeneous among different streaming servers. In real situation, streaming servers are scattered over different geographic location in the Internet. Groups of streaming servers may protected by firewall before entrance to Internet. Although CORBA has IIOP and configuration the firewall for a CORBA product is a logically feasible. But the configuration for different vender’s CORBA product is variant. As a result, most CORBA product is not friendly to passing firewall at current technology. 2018/9/20

8 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 As CORBA is not firewall friendly, the Web service on other hand, it is a firewall friendly standard and trends more popular in the Internet world. Hence, I propose to use Web service to be the interface outside the firewall in VMC. Moreover, Web service can be the VMC’s application API for remote Web server, administration and monitoring application development in Internet environment. The VMC’s web service can also listed in a UDDI server for service publishing over the Internet. 2018/9/20

9 System Architecture Roles in VMC: System operator Content Provider
Subscriber In first part of this section, I will going to introduce the parties and roles participated in a VMC. 2018/9/20

10 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 The Web server is used to provide internet access for subscriber The Database server is the central repository of the VMS. It stores all video title information, streaming server location, server resources statistics, such as CPU loading, allocated bandwidth and connected clients etc. The Streaming server is used to stored the physical video file or sources of real-time broadcast. The streaming server provide video streaming to subscriber after the subscriber find out the titles from the Web server. 2018/9/20

11 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 This most common application in VMC is Video-on-Demand. In here, I illustrate a typical scenario for VOD. The basic scenario is that there is a central Web server as a portal for Internet access. All the multimedia content are stored in multiple streaming servers. Both the subscribers and streaming servers are scattered in different geographic locations in the Internet. Firstly, subscribers access Web server to retrieve multimedia catalogue, then subscribers watch the chosen media streaming directly from the streaming server. 2018/9/20

12 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 In here, I illustrate another typical scenario, real-time broadcast such as TV or Webcam. 2018/9/20

13 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 2018/9/20

14 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. Web Service API 2018/9/20

15 System Architecture CORBA Web Service
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 2018/9/20

16 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 RTT Function Call Round-Trip Time (RTT) information 2018/9/20

17 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 2018/9/20

18 System Architecture A Generic Implementation Architecture 2018/9/20
Here is a generic implementation architecture A Generic Implementation Architecture 2018/9/20

19 System Architecture Logical Components 2018/9/20
The VMC Monitor is responsible to monitor the all streaming server status, including collect RTT and on/off status in real-time. 2018/9/20

20 Implementation 2018/9/20

21 Implementation Details
Database structure in SQL server 2000: 2018/9/20

22 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.) .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 2018/9/20

23 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# 2018/9/20

24 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 2018/9/20

25 Implementation Details
Programs in VMC server: omniNames VMC_impl VMCMonitor omniNames.exe is a application program execute in command line. It is used to provide CORBA naming service to the VMC. This program is a included from omniORB package. VMC_impl.exe is the CORBA server object for updating of streaming server resources metrics. This program is developed by Visual Studio.NET 2002 VC++7.0. In this screen capture, It shows three CORBA server objects was started. They are the VMC server object, VCP server object and VSS server object. VMCMonitor.exe is a program used to collect streaming server RTT and monitor the status of the server. If streaming fail to response the echo function call to VMCMonitor.exe, that server will be marked as off service. The echo function will be called periodically through .NET remoting technology. This program is developed by Visual Studio.NET 2003 C#. In this screen capture, it shows the RTT times in million second and the status at the end of each logical servers. The status Off at the end means that server is no respond to the echo .NET remote function and will be marked as off service in the VMC. All the three programs are not compulsory to run in the VMC Web server. In case of running them is different computers for load distribution, all streaming server CORBA client must addressed the omniNames.exe correctly in the network and VMC_impl.exe and VMCMonitor.exe must correctly connected to the database server. 2018/9/20

26 Implementation Details
Programs in streaming server: WMSMonitor VSSMonitor Windows Service WMSMonitor.exe is a program used to get current server CPU utilization, allocated bandwidth and connected clients resources metrics and report to VMC through Web service interface periodically. This program is developed by Visual Studio.NET 2003 C#. In this screen capture, the WMSMonitor.exe gets the resources metrics and update to VMC though the displayed URL. The URL is saved in a text configuration file and can be change before start WMSMonitor.exe. VSSMonitor.exe provides the same functions as WMSMonitor.exe. VSSMonitor.exe updates the resource metrics to VMC through CORBA remote object invocation. This program is developed by Visual Studio.NET 2002 VC++7.0. Windows Service called “Virtual Media Center Service” is the .NET remoting server object used to provide echo function called from the VMCMonitor.exe. 2018/9/20

27 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) S.exe is a utility program used to display the current streaming server status, streaming client information and client activity in the Web server session. In this screen capture, the parameter 0 means display the information for all streaming servers. The first part lists out the streaming server information such as IP, RTT status, CPU, BW (bandwidth) and connected clients. The RTT status false means the last .NET remoting echo function call was failed and no RTT figure update at the moment. The second part shows the client’s IP and URL of the retrieving media. The last part shows the user information such as username, current selected video and status (Status 5 means watching video). 2018/9/20

28 Implementation Details
Subscriber Interface: VMC Home Page 2018/9/20

29 Implementation Details
Subscriber Interface: Catalogue Page 2018/9/20

30 Implementation Details
Subscriber Interface: Catalogue Page - Filter Functions 2018/9/20

31 Implementation Details
Subscriber Interface: Select Server Page 2018/9/20

32 Implementation Details
Subscriber Interface: VOD Session Page 2018/9/20

33 Advantage and Disadvantage
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 And here we come to a conclusion by listed the advantage and disadvantage of the VMC 2018/9/20

34 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 Finally, I will list out some of the future works and enhancement regarding to the current stage of the VMC…. That’s all for my presentation. 2018/9/20

35 End of Presentation Thanks ! 2018/9/20
That’s all for my presentation. Thanks for coming Prof. Lyu ! 2018/9/20


Download ppt "Department of Computer Science & Engineering"

Similar presentations


Ads by Google