DIGITAL CONTENT ON THE DISPLAY DISTRIBUTION SYSTEM: OPTIMIZATION FOR TECHNOLOGY, MANAGEMENT, APPLICATIONS In Partial Fulfillment of the Requirements of the Degree of MASTER OF INFORMATION TECHNOLOGY MANAGEMENT In Computer Science and Engineer By Mr Nguyen Phuong Nam ID: MITM05014 International University - Vietnam National University HCMC March 2015 Page i DIGITAL CONTENT ON THE DISPLAY DISTRIBUTION SYSTEM: OPTIMIZATION FOR TECHNOLOGY, MANAGEMENT, APPLICATIONS In Partial Fulfillment of the Requirements of the Degree of MASTER OF INFORMATION TECHNOLOGY MANAGEMENT By Nguyen Phuong Nam ID: MITM05014 International University - Vietnam National University HCMC Third 2015 Under the guidance and approval of the committee, and approved by all its members, this thesis has been accepted in partial fulfillment of the requirements for the degree Approved by: - Chairperson Committee member - Committee member Committee member - Committee member Committee member Page ii Acknowledgements First and foremost, I would like to express my sincere gratitude to my lecturer Dr Technology Nguyen Minh Son for the continuous support of my thesis study and research, for his patience, motivation, enthusiasm, and immense knowledge His guidance helped me in all the time of research and writing of this thesis My sincere thanks also goes to the engineers of HTV, HDLC offering me the resources in their groups and leading me working on this exciting projects Last but not the least, I would like to thank my family: my parents and my wife for supporting me spiritually throughout my thesis study Page iii Plagiarism Statements I would like to declare that, apart from the acknowledged references, this thesis either does not use language, ideas, or other original material from anyone or has not been previously submitted to any other educational and research programs or institutions I fully understand that any writings in this thesis contradicted to the above statement will automatically lead to the rejection from the MITM program at the International University - Vietnam National University Ho Chi Minh City Page iv Copyright Statement This copy of the thesis has been supplied on condition that anyone who consults it is understood to recognize that its copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without the author’s prior consent © Nguyen Nguyen Phuong Nam/MITM05014/2012-2015 Page v ABSTRACT The main purpose of he Digital Content On The Display Distribution System (DCDDS) is to wherever and whenever you need to catch up on something information, DCDDS would provide an eye catching, cost effective, high impact mobility or static displaying for its target audiences All proposed current multimedia display systems seem to meet this target basically In fact, there are many firms or organizations have only limited to the management of website content, news or local news by text simply These systems are often applied in the field of e-commerce In the huge buildings such as shopping malls, supermarkets, cinemas, amusement parks, high-class apartments, museums, libraries, the multimedia display systems are deployed with the high cost due to long signal cable and multiple controllers, the digital contents stored in the memory of display devices would not changed rapidly and securely, inflexible to integrate with the running IT systems Because the solution for these multimedia display systems not apply the wireless network communication Therefore, the efficient technologies are the essential need for these multimedia systems The applications with the trend of wireless connectivity would demand the lower cost for the performance and the security This thesis will go through the operation of the particular DCDDS, as well as the performance and the security for DCDDS Then the operations and the quantitative assessments for DCDDS are also demonstrated in the open source operating system based on the VMware virtualization platform Page vi TABLE OF CONTENT ABSTRACT vi TABLE OF CONTENT vii LIST OF TABLES xiv CHAPTER INTRODUCTION 1.1 Overview .1 1.2 Problem Statement 1.3 Methodology 1.4 Thesis Scope and Limitation 1.4.1 Thesis Scope .5 1.4.2 Thesis Limitation 1.5 Structure of Thesis CHAPTER LITERATURE REVIEW 2.1 Introduction of Multimedia Network 2.2 The proposed Issues for Future Multimedia Networks 2.3 Wireless Multimedia Communication 10 2.4 Security for Wireless Multimedia Network 11 2.4.1 For Network Infrastructure .11 2.4.1.1 The Preshared Key Mode 11 2.4.1.2 The Enterprise Mode .11 2.4.2 Introduction of Video Compression Technologies 12 2.4.3 For The Video Encryption Algorithms 14 2.4.3.1 Fully Layered Encryption 14 2.4.3.2 Permutation based Encryption 15 2.4.3.3 Selective Encryption .16 2.4.3.4 Perceptual Encryption 16 CHAPTER METHODOLOGY 18 3.1 Comparison of Microcontroller Unit (MCU) Technology 18 3.1.1 Tiny210V2 .18 Page vii 3.1.1.1 What Is Tiny210V2 ? 18 3.1.1.2 The Structure of Tiny210V2 19 3.1.1.3 Assessment 19 3.1.2 Raspberry Pi .19 3.1.2.1 What Is Raspberry Pi? 19 3.1.2.2 The Structure of Raspberry Pi .20 3.1.2.3 Assessment 20 3.1.3 Difference between ARM and x86 21 3.1.4 Apache Web Server 2.0 and The Earlier Versions 22 3.1.4.1 Apache MPM Prefork 22 3.1.4.2 Apache MPM Worker 23 3.1.5 Apache Web Server 2.4 with Event MPM .24 3.2 Comparison of Transcoding Technology 25 3.2.1 Grass Vally with Canopus Procoder 25 3.2.1.1 Assessment 26 3.2.2 Harmonic with Promedia Carbon 26 3.2.2.1 Assessment 26 3.2.3 Telestream with Flipfactory .27 3.2.3.1 The Typical Product of FlipFactory 27 3.2.3.2 Assessment 27 3.3 The Operation of DCDDS 28 3.3.1 The Operation of Server Zone 29 3.3.1.1 The Operation of Web Server .30 3.3.1.2 The Operation of H264-Storage 31 3.3.1.3 The Operation of FlipFactory Farm 31 3.3.2 The Operation of Terminal Zone .33 3.3.2.1 The Operation of Terminal 34 3.3.2.2 The Operation of Raspberry Pi model B+ 35 CHAPTER IMPLEMENTATION 36 Page viii 4.1 Introduction 36 4.2 Virtualization Limitation .36 4.3 Virtualization Purposes .36 4.4 Testing Scenarios 37 4.4.1 Web Server .37 4.4.2 H264-Storage 38 4.4.3 FlipFactory Farm 38 4.4.4 Raspberry Pi .39 4.5 Testing Evaluation and Discussion .39 4.5.1 Web Server .40 4.5.1.1 The Simple Content Test .40 4.5.1.2 Complex Dynamic Content Test 42 4.5.2 H264-STORAGE .43 4.5.2.1 Performance Test for mp4 files .44 4.5.2.2 Performance Test for HD, SD files 47 4.5.3 FLIPFACTORY FARM 50 4.5.4 RASPBERRY PI MODEL B+ 53 4.5.4.1 Consumption of unrefreshed Memory From 10MB To 50MB 54 4.5.4.2 Consumption of Refreshed Memory From 10MB To 50MB .55 4.6 Virtualization Conclusion 57 CHAPTER CONCLUSION AND FUTURE WORK 59 5.1 Conclusion 59 5.2 Future Work 60 REFERENCES 61 APPENDIX .63 Appendix A: Install VMWare Workstation 10.0.0 63 Appendix B: Configure Apache 2.2.15 Web Server and Apache 2.4.2 Web Server 63 Appendix B1: Install Apache 2.2.15 Web Server .63 Appendix B2: Install Apache 2.4.2 Web Server .65 Page ix Compile and configure httpd-2.4.2.tar.gz with the Event MPM 65 Compile and configure php-5.4.4.tar.bz2 69 Compile and configure mysql-5.5.16.Tar.Gz 70 Compile and configure phpMyadmin-4.2.10 for mysql-5.5.16.tar.gz 71 Appendix B3: Issues of Security, Monitoring and Recording System Logs 72 Performing SSH without entering password on OpenSSH 72 Monitoring and Recording System Logs .72 2.1 System Status 72 2.2 Rsync Logs 72 2.3 APACHE 2.4.2 Logs 72 2.4 MYSQL Logs 72 Appendix C: Configure H264-Storage 73 Appendix C1: Install H264-Storage 73 Appendix C2: Issues of Security, Monitoring and Recording System Logs 73 Performing SSH without entering password on OpenSSH 73 Monitoring and Recording System Logs .74 2.1 System Status 74 2.2 Rsync Logs 74 2.3 Monitoring the failure of Raid device 74 2.4 Samba Logs 74 2.5 vsFTP Logs 75 Appendix D: Configure FF1 and FF2 .75 Appendix D1: Install and Configure FF1, FF2 76 Appendix D2: Issues of Security, Monitoring and Recording System Logs 77 System Status 77 FlipFactory Service .78 Job Status .78 Appendix E: Configure Terminal 78 Appendix E1: Install Terminal 78 Page x echo rm -f /var/lock/subsys/httpd rm -f /usr/local/apache2/logs/httpd.pid ;; status) status httpd ;; restart) $0 stop $0 start ;; reload) echo -n "Reloading httpd: " killproc httpd -HUP echo ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit esac exit Step 24: change x mode for file httpd chmod g+x o+x /etc/init.d/httpd Step 25 : after copying you can add the httpd service to linux startup using linux chkconfig command chkconfig add httpd Step 26: check Apache 2.2.15 Web Server httpd –V Page 68 Compile and configure php-5.4.4.tar.bz2 Step 1: install -devel packages yum install libxml2-devel libpng-devel bzip2-devel curl-devel libmcrypt-devel php-pecl-json Step 2: set path variables APACHE_PREFIX=/usr/local/apache2 PHP_SOURCE_DIR=/usr/src PHP_PREFIX=/usr/src/php-5.4.4 export APACHE_PREFIX=/usr/local/apache2 export PHP_SOURCE_DIR=/usr/src export PHP_PREFIX=/usr/src/php-5.4.4 Step 3: update new autoconf yum install perl-devel yum install autoconf Step 4: download bz2, move gz to /usr/src/, then unzip them tar -xvf php-5.4.4.tar.bz2 Step 5: #!/usr/bin/perl –w for 1st line vi /usr/local/apache2/bin/apxs #!/usr/bin/perl –w Step 6: configure php-5.4.4 /configure prefix=/usr/src/php-5.4.4 disable-all with-sqlite3 enable-soap enable-pdo with-pdo-sqlite with-openssl enable-libxml with-pcre-regex -enable-session enable-sockets enable-xml enable-xmlwriter enable-xmlreader -enable-simplexml enable-zip with-apxs2=/usr/local/apache2/bin/apxs enable- dom with-gd with-mysql=/opt/mysql with-mysqli=/opt/mysql/bin/mysql_config -with-pdo-mysql with-curl with-mcrypt with-mhash with-bz2 enable-ftp -enable-mbstring enable-json Step 7: compile php-5.4.4 make & make install Page 69 Step 8: copy the php.ini configuration file and the libphp5 module to PHP installation directory cp php.ini-production $PHP_PREFIX/lib/php.ini cp libs/libphp5.so $PHP_PREFIX/libphp5.so Step 9: vi $APACHE_PREFIX/conf/httpd.conf LoadModule php5_module /libphp5.so AddType application/x-httpd-php php PhpIniDir /lib Compile and configure mysql-5.5.16.Tar.Gz Step 1: install -devel packages yum install -y bison bzr cmake gcc-c++ ncurses-devel Step 2: download mysql-5.5.16.tar.gz, move to /usr/src, and then unzip it tar -xvzf mysql-5.5.16.tar.gz Step 3: create group mysql and user mysql groupadd mysql useradd -r -g mysql mysql Step 4: configure mysql-5.5.16 cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc DINSTALL_PLUGINDIR=/opt/mysql/lib/mysql/plugin Step 5: compile mysql-5.5.16 make & make install Step 6: make soft link to /usr/bin ln -s /opt/mysql/bin/* /usr/bin/ Step 7: change group for mysql chgrp -R mysql chown -R root chown -R mysql data Page 70 Step 8: run script mysql_install_db scripts/mysql_install_db user=mysql datadir=/var/lib/mysql/ Step 9: copy config files to /etc/my.cnf, /etc/init.d/mysql.server cp support-files/my-medium.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysql.server Step 10: add path to /opt/mysql, /var/lib/mysql vi /etc/init.d/mysql.server basedir=/opt/mysql datadir=/var/lib/mysql Step 11: start mysql.server services /etc/init.d/mysql.server start Step 12: after copying, the httpd service is added to linux startup using linux chkconfig command cd /etc/rc.d/init.d cp mysql.server mysqld chmod g+x o+x mysqld cd /etc ln -s rc.d/init.d chkconfig add mysqld service mysqld start chkconfig mysqld on Compile and configure phpMyadmin-4.2.10 for mysql-5.5.16.tar.gz Step 1: dowload phpMyAdmin-4.2.10-english.tar , move to $APACHE_PREFIX/htdocs, then unzip it mv /phpmyadmin-4.2.10-english.tar $apache_prefix/htdocs cd $apache_prefix/htdocs mv phpmyadmin-4.2.10-english phpmyadmin Step 2: configure phpMyAdmin mysql_secure_installation Page 71 Appendix B3: Issues of Security, Monitoring and Recording System Logs Performing SSH without entering password on OpenSSH Install rsync yum install rsync Configure crontab, every 30 minutes, system will run rsync script crontab -e */30 * * * * rsync -av remove-source-files -e ssh /home/www/digieye.com/phpdocs/hd/* root@10.1.1.5:/DATA/HD */30 * * * * rsync -av remove-source-files -e ssh /home/www/digieye.com/phpdocs/sd/* root@10.1.1.5:/DATA/SD Monitoring and Recording System Logs 2.1 System Status The top and cat /proc/meminfo provide a real time observation for a running system They would display a list of processes which are managed by kernel watch -n cat /proc/meminfo & top 2.2 Rsync Logs Rsync is a powerful daemon for synchronizing files securely Rsync allows to define the location of log file, instead of using the default settings for the log files The location of the log files is /usr/local/apache/logs/rsync-job.log 2.3 APACHE 2.4.2 Logs There are three type of apache 2.4.2 log files: apache error log file, apache access log file, apache ssl_request log file The location of the log files is /usr/local/apache/logs 2.4 MYSQL Logs On web browser from clients, go to https://www.digieye.com/phpmyadmin Apache 2.4 Web Server is configured for https connections, the information for username, password and database are viewed through phpMyAdmin would be encrypted securely Page 72 Appendix C: Configure H264-Storage H264-Storage is installed on Intel Core i5-4200U CPU @ 1.60GHz, Core, Logical Processors, GB RAM Appendix C1: Install H264-Storage Install H264-Storage on CentOS-6.5-x86_64 minimal which has a minimum of packages needed to have a functional system Step 1: format /dev/sdb, /dev/sdc, /dev/sdd with Linux raid autodetect fdisk /dev/sdb fdisk /dev/sdc fdisk /dev/sdd Step 2: configure soft raid with /dev/sdb, /dev/sdc, /dev/sdd mdadm create /dev/md127 level=raid5 raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdc1 /dev/sdd1 Step 3: adding new harddisk /dev/sde Step 4: format /dev/sde with Linux raid autodetect fdisk /dev/sde Step 5: add spare drive partition to existing Raid Array mdadm detail scan verbose > /etc/mdadm.conf vi /etc/mdadm.conf ARRAY /dev/md127 level=raid5 num-devices=3 spares=1 spare-group=globbal metadata=1.1 UID=e8fff5e5:e3c8cdb3:51acce7a:0693feba devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1 Appendix C2: Issues of Security, Monitoring and Recording System Logs Performing SSH without entering password on OpenSSH Install rsync yum install rsync Configure crontab, every minutes system will run rsync script Page 73 crontab -e */5 * * * * rsync -av –ignore-existing -e ssh /DATA/TRAILER/* root@10.1.1.6:/usr/local/apache2/htdocs/trailer Monitoring and Recording System Logs 2.1 System Status The top and cat /proc/meminfo provide a real time observation for a running system They would display a list of processes which are managed by kernel watch -n cat /proc/meminfo & top 2.2 Rsync Logs Rsync is a powerful daemon for synchronizing files securely Rsync allows to define the location of log file, instead of using the default settings for the log files The location of the log files is /usr/local/apache/logs/rsync-job.log 2.3 Monitoring the failure of Raid device The following script monitors /proc/mdstat to discover and warn RAID disks fail If a RAID device has error, a message is logged via syslog and an email message is sent to root@H264-STORAGE The script would ran periodically in crontab or modified to run continuously as a daemon once system startup mdadm -F -s -m root@H264-STORAGE -f d Table 22 mdadm parameters for indicating RAID device failure -F -s -m -f Follow monitor scan mail daemonize -d delay select monitor mode scan config file or /procd/mdstat for missing information send email to Root@H264-Storage sun mdadm as a daemon mdadm polls the md arrays and then waits this many seconds before polling again The default is 60 seconds ps auxf | grep process_id 2.4 Samba Logs The solution for logging what a user is actually doing would be achieved with Stackable Virtual File System modules Page 74 Step 1: use the full audit virtual file system modules vi /etc/samba/smb.conf [global] # Audit settings full_audit:prefix = %u|%I|%S full_audit:failure = connect full_audit:success = connect disconnect opendir mkdir rmdir closedir open close read pread write pwrite sendfile rename unlink chmod fchmod chown fchown chdir ftruncate lock symlink readlink link mknod realpath full_audit:facility = local5 full_audit:priority = notic Step 2: create a syslogd facility vi /etc/rsyslog.conf local5.notice /var/log/samba/audit.log Step 3: restart services service smb restart service rsyslog restart 2.5 vsFTP Logs vsFTP (Very Secure FT) is an FTP server for Linux Step 1: configure VSFTP Logs vi /ect/vsftpd/vsftpd.conf # Switches between logging into vsftpd_log_file and xferlog_file files # NO writes to vsftpd_log_file, YES to xferlog_file xferlog_std_format=NO Step 2: check VSFTP Logs cat /var/log/vsftpd.log Appendix D: Configure FF1 and FF2 FF1 and FF2 are installed on the same Intel i5-4200U CPU @ 1.60GHz, Cores, Page 75 Logical Processors, GB RAM Appendix D1: Install and Configure FF1, FF2 Install and configure FF1, FF2 with the same FlipFactory_7.3 on Windows XP 32 bit copyright Step 1: install Windows XP 32 bit copyright Step 2: install NetFramework 2.0 Step 3: install FlipFactory_7.3 Step 4: create directory localtemp and entry localtemp in regedit Step 5: create profiles in factories which is responsible for transcoding, delivering the digital contents automatically For priority 1, FF1 and FF2 would monitor and download directories HD, SD in H264-STORAGE, then flip the downloaded digital contents in local temporary directories and upload up the converted mp4 files into directory MP4 in H264STORAGE as Table 23 and Table 24 shown Table 23 The profile of MPG to MP4HD Monitor Codec Priority of submitted jobs 1-Top File Extension mpeg, mp4 Video bit rate (HD) 8000000 bits/second from FTP folder (H264Storage) to /10.1.1.4/HD Frame Width x Frame Height 1920 x 1080 pixels to FTP Server (H264-Storage) /10.1.1.4/MP4 Destinations Table 24 The profile of MPG to MP4SD Monitor Codec Destinations from FTP folder (H264-Storage) to /10.1.1.4/SD Video bit rate (SD) Frame Width x Frame Height 4000000 bits/second 720 x 576 pixels to FTP Server (H264-Storage) /10.1.1.4/MP4 Priority of submitted jobs 1-Top File Extension mpeg, mp4 For priority 2, FF1 and FF2 would monitor and download directory MP4 in H264STORAGE, then flip the downloaded digital contents in local temporary directories Page 76 and upload up the trimmed mp4 files into TRAILER in H264-STORAGE as Table 25 shown Table 25 The profile of MPG4 TO MP4TRIM Monitor Priority of submitted jobs 1-High Codec File Extension mpeg, mp4 Add Trim label 00:00:00:00-00:00:10:00 Destinations from FTP folder (H264-Storage) to /10.1.1.4/MP4 Video bit rate Frame Width x Frame Height 1024000 bits/second 720 x 576 pixels to FTP Server (H264-Storage) /10.1.1.4/TRAILER Appendix D2: Issues of Security, Monitoring and Recording System Logs System Status Desktop Info 2014 by Glenn Delahoy is used for monitoring the performance of the server farms All the settings would be customizable Step 1: customize date/time HOST=active:1,interval:0,color:ffdd99 USER=active:1,interval:0,color:ffdd99 UPTIME=active:1,interval:1,color:ffdd99 Step 2: customize hardware CPUTYPE=active:1,interval:0,color:DDDDDD Step 3: customize processes CPU=active:1,interval:5,color:0099EE,chart:2,threshold:95,tcolor:0099EE CPUUSAGE=active:1,interval:5,color:0099EE,chart:0,threshold:95, tcolor:0099EE,count:5 PROCESSCOUNT=active:1,interval:5,color:0099EE,chart:0,threshold:100, tcolor:0099EE Step 4: customize memory PHYSICALRAM=active:1,interval:5,color:cc99cc,chart:2,threshold:90, tcolor:cc99cc Page 77 VIRTUALMEMORY=active:1,interval:5,color:cc99cc,chart:0,threshold:90 tcolor:cc99cc PAGEFILE=active:1,interval:5,color:cc99cc,chart:0,threshold:90,tcolor: cc99cc PAGEFAULTS=active:1,interval:5,color:cc99cc,chart:2,threshold:5000, tcolor:cc99cc Step 5: customize network stack ALLIPADDRESS=active:1,interval:30,color:55cc77 NETCONNECTIONS=active:1,interval:10,color:55cc77,chart:0,threshold: 150,tcolor:55cc77 NETPACKETS=active:1,interval:10,color:55cc77 NETPACKETSRATE=active:1,interval:10,color:55cc77,chart:2,threshold:500, Step 6: customize disks FIXEDDISK=active:1,interval:10,color:ffbb77,chart:1,threshold:90, tcolor:0000FF,count:8,shortdisplay:1,filter: DISKIO=active:1,interval:10,color:ffbb77,chart:0,threshold:10000, tcolor:0000FF FlipFactory Service Telestream FlipFactory gives the service logs in “C:\ Program Files\ Telestream\ FlipFactory\ stderr.log” The last line “Started SelectChannelConnector @ 0.0.0.0:9001” shows that FlipFactory run with no errors Job Status The heart of server zone is FlipFactory Farm Job status gives the status history which records the entire process of transcoding, delivering the digital contents Appendix E: Configure Terminal Terminal is installed on Intel i5-4200U CPU @ 1.60GHz, Core, Logical Processors, GB RAM Appendix E1: Install Terminal Page 78 Install Terminal with Ubuntu 14LTS which has a minimum of packages needed to have a functional system For example, in /home/administrator/Desktop/SOURCES is playlist from Monday to Sunday, each directory stores mp4 files respectively Appendix E2: Issues of security The following script shows that Terminal is shell script programmed for the automatic processes, consists of creating the key pair and copying the public key into Raspberry Pi model B+ automatically and securely, using SSH agent to perform SSH without entering the password for distributing the digital contents automatically and securely, deleting the authorized keys from Raspberry Pi model B+ exec 10 /proc/sys/vm/drop_caches To free reclaimable objects (includes dentries and inodes) echo > /proc/sys/vm/drop_caches To free slab objects and pagecache: echo > /proc/sys/vm/drop_caches That is the way that Raspberry Pi model B+ is shell script programmed to play role as anmedia box which consumes less memory, gains better performance for displaying HD movies Page 81 Security and Quality of Service (QoS) The static IP address is assigned for Raspberry Pi model B+ and the shell script programming for synchronizing the digital contents automatically and securely from Terminal into Raspberry Pi model B+, like star topology in the wireless network environment And along with the encoded shell script, Raspberry Pi model B+ gains better quality of services and more security in the wireless network environment Install tar xvfz shc-3.8.7.tgz make Execute the Encrypted Shell Script /shc -f random.sh Page 82 .. .DIGITAL CONTENT ON THE DISPLAY DISTRIBUTION SYSTEM: OPTIMIZATION FOR TECHNOLOGY, MANAGEMENT, APPLICATIONS In Partial Fulfillment of the Requirements of the Degree of MASTER OF INFORMATION TECHNOLOGY. .. digital contents richer and more flexible Which is the purpose of activities from DCDDS (Digital Content on the Distribution Display System) To meet these requirements, DCDDS looked for its digital. .. network environment The Page central management system supports to deliver the digital contents for audiences SUN-TECH IDS is used for displaying the digital contents in hotels, commercial buildings,