ISSN: 2229-371X
Rasoor Rajesh1*, Susruth Sirupa2, Vooka Pavan Kumar3, Abhinava Sundaram4, P Prithumit Deb5, Nitin Singh6, and N.Ch.S.N.Iyengar7
|
Corresponding Author: Rasoor Rajesh, E-mail: rasoor.rajesh@gmail.com |
Related article at Pubmed, Scholar Google |
Visit for more related articles at Journal of Global Research in Computer Sciences
This project describes architecture for making media on demand services for e-learning portals as efficient as possible by making use of distributed proxy servers. The proxy servers may be kept at different locations and the databases which they access can also be distributed on different locations or different machines. The specialty of this architecture is that it uses the location of the client demanding the media as a major factor in determining which proxy server will respond to the request. This job is done by the Proxy determining logic which is a unique server for the whole architecture and which plays a central role in the functioning of the same. All the proxy servers use caching techniques and there is a central Backup server that ensures service continuity in case the main server fails due to any reason like power cut. The idea behind keeping the proxy determining logic and the location based proxy servers is that the proxy server nearest to the client will not only be having the shortest route to the client but also the chances of interruption of the service will be low. Due to lower physical distance the number of routers and gateways between the Thus the whole architecture ensures that the client gets his video/audio as smoothly, as quickly and using as low net bandwidth as possible.
Keywords |
Proxy Server, Video Learning, Service Continuity, Bandwidth, Caching |
INTRODUCTION |
E-learning using VIDEO is very rapidly becoming a cheap and effective method to gain access to quality teaching material around the globe by students of every field and background. Among these video learning is the most effective because it gives you the feel and convenience of a live class, so the students learn better and faster. Though videos are available in abundance over the internet there is no video portal that is specifically designed to work faster over slower internet connections, which is what is mostly available in developing and under-developed countries. So a very good video that takes 30 minutes to load is not a very good way of learning as most people use videos to understand things better and that kind of waiting will frustrate most users and is not at all suitable for learning. The goal is to make the video loading faster and more reliable so that that the user has a smooth learning experience without high waiting times and delays in loading the videos. So we are trying to develop a video portal for e-learning that uses a proxy server architecture the backbone of which is the fact that it uses the location from where the user is trying to access the video as the base for selecting which proxy server the video will be loaded from. Lesser the distance between the server and the client means lesser number of hops that the data has to travel over so lesser delay and also since the access to videos may be region specific so keeping videos in a proxy server closer to that area makes sense, as it will further make the access faster. Also traffic management and Load balancing in Video Learning Servers has become an important issue for low bandwidth servers. So the goal is to develop a distributed proxy architecture using location based servers and a suitable caching mechanism based on the Hit Ratio is dealt about. Also the problem of restoring the service using a back-up server in case of a break down and the architecture of providing the alternative text-based version of that particular video tutorial. |
MOTIVATION |
In underdeveloped countries, remote areas and some parts of few developing countries the functioning of proper institutions that support all courses for higher education is not possible due to a various number of reasons. For these students the only way to pursue higher education is to either do online courses or correspondence courses. No amount of material can replace a teacher or a live demo, so watching video lectures on internet can be a great substitute for that. Video lectures not only give a classroom feeling but also clarifies a lot of things than otherwise cannot be. Such video lectures hosted on an E-portal for Learning further improves the process by giving students chance to interact and discuss what they have learned with other people. |
But a major problem in the remote underdeveloped and developing areas is that the internet is accessible but at a relatively low speed and the devices that are used are mostly mobile devices like laptops or net books which are mostly provided by NGOs. |
This architecture takes advantage of the fact that mobile devices location can be easily determined, using IP address for laptops and net-books and using CBS or GPS for cell phones and PDAs. Also since the architecture targets providing smooth video transmission on lower bandwidth connections it are ideal for the above said cases. Thus this architecture for setting up an E-portal for learning using video lectures can solve a majority of problems described above and targets increasing the penetration of internet and education to the underprivileged curious minds. |
LITERATURE SURVEY |
Network of proxy servers |
For this topic a work MiddleMan: A video caching proxy server [3] is worth mentioning. Middleman differs from majority of existing proxy research in that it concentrates, exclusively on video. MiddleMan [3] offers several advantages. By caching videos near clients, MiddleMan [3] reduces start-up delays and the possibility of adverse Internet conditions disrupting video playback. Additionally, MiddleMan [3] reduces server load by intercepting a large fraction of server accesses and can easily scale to a large number of users and web video content. MiddleMan shows promise but raises a number of issues that need to be addressed. These include lack of features like fault tolerance, fast-forward/rewind support, security/authentication etc. |
VOD Using Agents |
Here we referenced few papers which proposes load sharing algorithm with a VoD architecture using agent technology [8]. A mobile agent periodically updates the popularity of the videos which is used for efficiently allocating the channels. The proposed approach reduces the load on the central multimedia server, reduces storage redundancy among the proxy servers and maximizes the channel utilization between the neighboring proxy servers and the central multimedia server. The simulation results prove the load sharing among the neighboring proxy servers and hence reducing the load on central multimedia server, 100% channel utilization and more channel allocation for popular videos [8]. But the problem with this model is , it works with the centralized media server thereby increasing server load exponentially where the users are mostly media streamers or where we require set of proxy servers. |
Server caching Mechanisms |
The proxy server is designed to support only the HTTP protocol [7]. The server has been designed and tested using 3 cache replacement algorithms: the Least Recently Used (LRU) algorithm, the Least Frequently Used (LFU) algorithm and the Hybrid Algorithm [4]. Various experimental results have been discussed by plotting the corresponding graphs for performance metrics like Cache Hit Ratio, Average Cache Replacement Time against the Cache Size for all 3 algorithms [7]. |
Authentication (A) |
The Authentication Module is based on the fact that each registered Client has one unique KEY. The KEY can be some unique identifier like his MAC ID, or IMEI number (for mobile phones). The Server comprises of both type of Video files – PUBLIC and PROTECTED files. KEY is required for accessing the protected files only. Authentication is done by Request Processor (RP) and not the Servers. Only valid request are forwarded to Proxy Servers. Unauthorized Clients are filtered out. The main advantage with this is that it minimizes server load of authenticating users, and eliminates unauthorized request and serving the Response as Video files at the same time. |
Proxy Determining Logic (PDL) |
The Proxy Determining Logic is the most important part of the Request Processor. PDL redirects only the valid client request to the nearest Location Based Proxy Server (LBPS). The Location of a Client can be determined from his Internet Protocol (IP) address, Cell Triangulation using CBS for Non GPS Mobile phones and GPS for other handheld devices, PDA and high end cell phones. |
File Coordinator (FC) |
File Coordinator maintains a list of all the video files in each of the Proxy Servers and the list is updated at regular intervals and when the page replacement at Proxy Servers takes place. At the time of the request from client, it checks if the file requested is present in the nearest LBPS, if not present redirects the request to the next nearest Location Based Proxy Server. |
Main Server (MS) |
The Main Server will be a Video Tutorial Server containing e-learning Video Tutorials. The video files can be classified into Public and Protected based on authentication requirements. The size of each video files can be maximum 4-5mb as it will be the most suitable for low bandwidth clients also. The formats can be some compressed formats like 3GP, MP4 (for mobile devices and PDA s) and normal AVI and MPEG files for laptops and PCâÃâ¬ÃŸs. |
A suitable Load Balancing technique based on the No of Hits, file size, the file genre will be used to cache the video files on to the Location Based Proxy Servers (LBPS) automatically. The MS can also avail the Backup Server in case of a breakdown. |
http://vtutorials.somee.com is the main server. |
Location Based Proxy Server (LBPS) |
Location Based Proxy Servers are a group of Proxy Servers that are distributed in different location around the world. The LBP Architecture minimizes the response delays for clients and utilizes the limited bandwidth of the Main Server properly by servicing Clients based on their Locations. It also contains a common Log File (LF) which monitors the traffic and file downloads in LBPS and is used in case of a server breakdown. |
The Haversine formula according to http://mathforum.org/library/drmath/view/51879.html |
Log Files (LF) |
Log Files are maintained for both the Main Servers and the LBPS group. It comes into picture during the breakdown of any of the Servers. The log file maintains a track of which files are downloaded from which Proxy Servers, to which Client (using the client KEY) and also records the size of the files downloaded. This information is sent to the Backup Server (BS) in case of a server breakdown so that the Service Continuity is maintained and the download operation proceeds smoothly for the Clients |
Video Suggestions |
Automatic Video Suggestions will be provided on the userâÃâ¬ÃŸs page based on his area of interest and keywords which were provided at the profile creation time. This will be adaptable to the userâÃâ¬ÃŸs interest and when ever the video database is populated with new videos, the user may get some of his interesting videos on his home page. This is done by a data mining technique which matches the video keywords and the keywords specified by the user on his profile and in interest categories. |
CACHING |
Output Caching |
Performance is improved in an ASP.NET application by caching the rendered markup and serving the cached version of the markup until the cache expires. For example, if you have a page that displays user information from a database, caching will help improve performance by serving the page from memory instead of making a connection to the database on each page request. |
You can cache a page by using the OutputCache API or simply by using the @Output Cache directive. |
<%@ Page Language=”C#” %> |
<%@ OutputCache Duration=”15” VaryByParam=”none” %> |
The above cache directive will cache the page for 15 minutes. |
So output caching is great for when you want to cache an entire page. |
Fragment Caching |
In many situations caching the entire page just isnâÃâ¬ÃŸt going to cut it, for some reason or another you require specific sections of the page to display live information. One way to improve performance is to analyze your page and identify objects that require a substantial overhead to run. You can build a list of these objects that are expensive to run, and then cache them for a period of time using fragment caching. |
For example, say your page default.aspx consists of three user controls. After looking over the code, you identified that you can cache one of them. You can simply add the caching directive to the top of the user control: |
<%@ Control %> |
<%@ OutputCache Duration=”5” VaryByParam=”none” %> |
Now keep in mind that the actual page that contains the control is not cached, only the user control. This means that the default.aspx page will be rendered each and every page request, but the user control is only „runâÃâ¬ÃŸ every 15 minutes. |
Secure Logout – Cache Empty |
TESTING AND SCRENSHOTS |
The logout function is secured by the cache clear method. The browserâÃâ¬ÃŸs history is cleared and thus the cache is emptied. So when the user logs out chances of any unauthorized access to the userâÃâ¬ÃŸs profile or viewing his videos are prevented thus enhancing security. |
SYSTEM REQUIREMENTS |
Hardware Requirements |
CLIENT SIDE: A machine that supports networking and allows installation of third party applications (eg. A web browser) |
SERVER SIDE: Machine with high Secondary memory for storing all the videos and tutorials. |
Software Requirements |
Visual studio web developer 2008 – the IDE for developing the UI and the back end of the server. |
Support for .NET platform in both client and server side |
Web-browser installed with proper plug-ins for playing multimedia content on it. |
Microsoft Access DBMS |
Networking Requirements |
An internet connection between the client and server. |
TESTING AND SCRENSHOTS |
Login Page |
Proxy Server Determining Page |
Video Playing Page |
Page Showing Alternate Text Tutorial |
Page Showing Search Results |
Video Suggestion Screenshot |
Access Restriction (Without Login) |
RESULTS AND OUTPUTS |
Using the location based proxy architecture for video learning there was a considerable decrease in the video buffering time and this resulted in a much better user experience and the site with the additional feature for alternate text tutorial saw a lot of positive response from the users as there were very few glitches if any while using the site. |
CONCLUSION AND FUTURE WORKS |
One of the features that can be added to our project in the future is the determination of the userâÃâ¬ÃŸs knowledge level when he/she logs in for the first time or at the time of registration itself. When the user logs in for the first time he/she will be presented with a quiz containing questions from areas he/she has mentioned as of interest to him/her. The user can take the test and based on the performance of the user in this test the videos will be provided to him. This will make sure that the technical level of the video is at par with the userâÃâ¬ÃŸs knowledge level making learning a smoother experience for him. Fuzzy logic can be used to make sure that the userâÃâ¬ÃŸs knowledge level is tested appropriately. |
Service Continuity Module (SC) |
There will be a Backup Server (BS) which continues the service in case of a Proxy Server (PS) or Main Server (MS) break down. The Log file (LF) is maintained, which contains the File ID being downloaded, size downloaded, Client Key (so as to identify which client was being serviced when the service broke down). In case of a server break down the Client Key, File ID and size downloaded is passed on to Backup Server so that the service is continued and the remaining file is downloaded to the client. This eliminates the overhead of downloading the entire file again in case of a breakdown. The Service Continuity process will work in the background and it will be invisible to the Clients |
References |
|