Furthermore, this dissertation proves to be of great importance in that it leads to the examination of how maximization of bandwidth among various users can take place without the decrease in the end-user quality of experience (QoE). The same helps in the prevention of scalability issues with the inclusion of unfair sharing of bandwidth, unstable quality, and underutilization of network resource. By proposing the solution of software define networking (SDN), there is the proper resource allocation and proper management of the architecture of HAS systems with the aim of preventing occurrences of stability issues and the improvement of quality of experience of every client. The dissertation helps in the identification of ways of managing and allocating networks resources in a dynamic manner to ensure that quality of experience of each user increases. Finally, the dissertation aims at ensuring that scalability is enhanced through the improvement of quality of experience for every client by at least 30 percent and providing support for more than 80 percent with the same quality of experience as compared to conventional options.
About the Dissertation
This dissertation is about optimizing adaptation of algorithms where the dissertation aims at the identification if ways of improving the quality of experience through the use of algorithms that can improve quality of experience (QoE) of clients in the process of streaming videos. This ensures that algorithms used to stream videos do not affect each other and that they work independently thereby enabling improvement of quality of experience independently.
How to Install and Run the Software
Install Java 1.6 or higher
Note: Mac OSX 10.6 will have Java 1.6 installed by default
To check: Run java -version on the command line
If not correct, download the J2SE SDK from:
http://java.sun.com/javase/downloads/widget/jdk6.jspInstall it (the SDK) to /opt/java
Note: Install the JRE to a different directory (probably the default, especially under windows) or you will have problems
Set environment variable: JAVA_HOME=/opt/java
Mac users: JAVA_HOME=/Library/Java/Home
Windows users default: JAVA_HOME=C:\j2sdk1.6.0_xx (where "xx" is the minor version - for example "j2sdk1.6.0_11")
Add $JAVA_HOME/bin to PATH
Setup Maven 2.0.6 or higher
Maven - http://maven.apache.org/Note: Mac OSX 10.6 will have maven 2.2.0 installed by default
Note: Mac OSX 10.5 will have maven 2.0.6 installed by default
Download Maven 2 (minimum 2.0.6) - http://maven.apache.org/download.htmlExtract to /opt (should create maven-2.X.X folder, where X.X is the sub version)
Set environment variable: MAVEN2_HOME=/opt/maven-2.X.X
Add $MAVEN2_HOME/bin to PATH\
Set the MAVEN_OPTS environment variable
MAVEN_OPTS='-Xms256m -Xmx960m -XX:PermSize=64m -XX:MaxPermSize=150m'
Windows: XP users have to change the location of their local repository since its path contains spaces (since it is in the user home directory by default). To change the location go to <maven_root>\conf\settings.xml and set local repository value: <localRepository><your_path></localRepository>
Setup Subversion 1.5 or higher
Subversion - http://subversion.tigris.org/Note: Mac OSX 10.6 will have svn 1.6.5 installed by default
Note: Mac OSX 10.5 will have svn 1.5 installed by default
To check: Run svn --version on the command line
http://subversion.tigris.org/project_packages.htmlGet the subversion binaries and not the source, if possible
If there are no binaries for your platform, get the source and use the configuration options --with-ssl and --with-libs
Extract to /opt (should create subversion-1.5.5)
Windows users will want to rename the extracted directory
Unix users will probably want to use a package for their flavor
Set environment variable: SUBVERSION_HOME=/opt/subversion-1.5.5
Add $SUBVERSION_HOME/bin to PATH
Get Matterhorn source
Matterhorn svn repository: http://source.opencastproject.org/svn/products/matterhornCreate a directory to hold the source and your matterhorn install called matterhorn (referred to as MATTERHORN_HOME)
mkdir /opt/matterhorn
cd /opt/matterhorn
Checkout the matterhorn trunk (unstable) source code into the matterhorn_trunk dir (referred to as MATTERHORN_SRC) in the MATTERHORN_HOME dir
svn checkout http://source.opencastproject.org/svn/products/matterhorn/trunk matterhorn_trunk
Setup Apache Felix OSGi
Apache Felix - http://felix.apache.orgNOTE: These instructions are for Apache Felix. Other OSGi implementations include Equinox and Knopflerfish. Matterhorn is tested on Felix but should work on any modern 4.1 compatible OSGi implementation.
Make sure you are in the MATTERHORN_HOME dir
cd /opt/matterhorn
Download the latest binary release of the "Felix Framework Distribution" http://felix.apache.org/site/downloads.cgi (probably version 2.0.1 or higher)
Extract the archive in the MATTERHORN_HOME dir and rename the directory to felix
tar -xvf felix-framework-2.0.1.tar.gz
mv felix-framework-2.0.1 felix
Create the felix load directory
mkdir felix/load
Copy over the felix configuration files to the felix conf dir
cp -r matterhorn_trunk/docs/felix/conf/* felix/conf/
NOTE: Remember to check for revisions to the Felix configuration files with each update of Matterhorn. If you are unsure whether the file has been updated, it is safest to simply copy them over each time.
Copy run scripts and setup environment
These scripts setup your environment correctly to execute the matterhorn runtime using the felix OSGi container
Make sure you are in the MATTERHORN_HOME dir
cd /opt/matterhorn
Copy the matterhorn run scripts into the current directoy (bat files for win or sh files for unix/OSX)
cp matterhorn-trunk/docs/felix/bin/*.sh .
NOTE: You may need to make the script executable: chmod a+x start_matterhorn.sh
Add the following environment variables
export FELIX_HOME=/opt/matterhorn/felix
export M2_REPO=~/.m2/repository
NOTE: If the "export" command doesn't work for you, use the equivalent command in your shell, or type "bash" to switch to a bash shell.
NOTE: You could also edit the matterhorn start script but the recommended method is to setup the environment variables so the script picks up the changes
Load the environment variables into the shell by closing the shell and opening a new one, or running:
source ~/.bash_profile
Build matterhorn
Make sure you are in the MATTERHORN_SRC dir
cd /opt/matterhorn/matterhorn_trunk
Build the source using maven
mvn clean install -DdeployTo=/opt/matterhorn/felix/load
Windows: Matterhorn does not yet build without test errors on Windows so in order to build Matterhorn -Dmaven.test.skip=true is specified. Instead of -Dmaven.test.skip=true you can also set -Dmaven.test.error.ignore=true and -Dmaven.test.failure.ignore=true to see which tests fail.
NOTE: The Matterhorn project components will be deployed to the load directory of your Apache Felix instance. Felix will automatically reflect any changes made to this directory, even during runtime. Remember to delete everything in the felix/load directory before rebuilding Matterhorn. Maven does not delete previously built bundles when redeploying.
Install the 3rd party tools
Windows: The windows install for the runtime tools is much more complex and is documented hereLinux: Linux users will need ant, xml-commons-apis, zlib-devel or zlibig-dev, patch, byacc and pkgconfig. Linux users having difficulty building libmediainfo can download a binary version.
Go to the runtime tools dir (in the MATTERHORN_SRC dir)
cd opencast-runtime-tools
Build the runtime tools
sudo mvn install -Dthirdparty
NOTE: Admin access required: When the sudo command is used, you will need to enter your computer's operating system password.
NOTE: Firewall rules: For licensing and patents reasons, the installer gets FFmpeg sources from their subversion repository, which means that you need to have outgoing access to port 3690
Configure Matterhorn
Matterhorn has a number of configuration options which you can generally leave at defaults for development purposes but it is important to be aware of them
Overview of Configuration Files
Configure Matterhorn Port Number and Base URL
Configure Matterhorn Feed Catalog
Capture Service Configuration
Run Matterhorn
Execute the run matterhorn script from your MATTERHORN_HOME dir
./start_matterhorn.sh
Wait for the logs to stop scrolling past at high speed (should take 30 secs to 1 min depending on your machine)
Open http://localhost:8080 in your favorite web browser to test things are working
NOTE: You can access the Felix system console at http://localhost:8080/system/console (user:admin, pw: admin)
Update Matterhorn source
After you have installed Matterhorn source code, you may want to periodically update to the latest revision if you are working with the trunk
run the svn update command from <matterhorn_trunk>
after the update is complete, if Matterhorn is running, to stop Felix type shutdown at the command prompt (you may need to press 'Enter' to get the '$' which is the command prompt) where your Felix is running. You can also press 'CTRL-C'.
delete all files from felix load with the command: rm -rf /opt/matterhorn/felix/load/*
execute the maven build command (see the Build matterhorn section above)
You may want to ensure your felix configuration is up to date: cp -r /opt/matterhorn/matterhorn_trunk/docs/felix/conf/* /opt/matterhorn/felix/conf/
NOTE: You will lose any local changes you made to those files
run the ./start_matterhorn.sh script to restart Felix
Goal of the Dissertation
The main goal of this dissertation is to optimize algorithm to improve the Quality of Experience (QoE) of end-users during video streaming. In this manner, the dissertation aims at identifying how to create algorithms that are disconnected thereby enabling users to have same quality experience on different platforms and optimize quality through increasing their bandwidth without reducing bandwidth of other users who are streaming video.
What is New in the Dissertation
What is new is that it helps users to have control of their bandwidth and give them the opportunity of increasing their bandwidth to their liking. It is apparent that the amount of bandwidth that users can have is determined by network providers, however, this dissertation identifies how users can increase their bandwidth separately without having to depend on the network providers and other users.
Cite this page
Dissertation on Optimizing Adaptation of Algorithms. (2021, Mar 05). Retrieved from https://proessays.net/essays/dissertation-on-optimizing-adaptation-of-algorithms
If you are the original author of this essay and no longer wish to have it published on the ProEssays website, please click below to request its removal:
- Database Implementation Challenges
- The Demand and Supply of Renewable Energy Essay Example
- Essay Example on UAE Nuclear Plant: 5600MW Source of Energy for the UAE
- Do Robots Deserve Legal Rights? A Study on Machines and Programs
- Essay Sample on Power of the Internet: Improving Business Operations and Strategies
- Essay Sample on Database Models: Stability and Ability for Data Usage
- Smart Light Bulbs: The Future of Clean Energy - Essay Sample