Difference between revisions of "Private:progress-almowuena"
From NMSL
Line 23: | Line 23: | ||
** I tried simplifying the scenario for the optimal solution to overcome the limitation of CPLEX. I got some results, but I am a little bit concerned that they might be biased since the number of available videos was only 1. | ** I tried simplifying the scenario for the optimal solution to overcome the limitation of CPLEX. I got some results, but I am a little bit concerned that they might be biased since the number of available videos was only 1. | ||
** I worked on proving that our problem is NP, and I am working on analyzing the complexity of the proposed algorithm. | ** I worked on proving that our problem is NP, and I am working on analyzing the complexity of the proposed algorithm. | ||
− | ** I am still running some extensive scenarios, but a sample of the results is [https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/almowuena/reports/Max%20Service%20Ratio/Reports/March%2021 | + | ** I am still running some extensive scenarios, but a sample of the results is [https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/almowuena/reports/Max%20Service%20Ratio/Reports/March%2021/Results_Updated.pdf Here]. |
− | |||
= Spring 2013 = | = Spring 2013 = |
Revision as of 16:58, 25 April 2014
Spring 2014
- Courses:
- CMPT 899: Ph.D. Thesis
- April 12 to April 25:
- I ran three additional scenarios to complete the comparison between the Maximum Service Ratio Algorithm and the Hybrid Energy Saving Scheme. The obtained results as well as a brief discussion about them were added to the report, whose latest version can be found Here.
- To examine the impact of the suggested advanced prefetching concept, I ran two scenarios with large scale (1000 active users) and reasonable running time (120 minutes). I focused on evaluating both scenarios with respect to the bandwidth usage and the achieved service ratio. From the obtained performance results, it seems that the gain in the service ratio is approximately 0.53%, whereas the reduction in bandwidth usage is around 2.1 %. These low outcomes are probably achieved due to the simplicity of the advanced prefetching approach.
- To enhance the method of advanced prefetching, I worked on proposing a new technique which allows users to buffer non-requested segments based on their current states of a Markov model. The transition between the two-states in this model is determined by the available buffer of the mobile terminal, the number of its active video streams, and the probability of using this non-requested segment in the near future.
- I also worked on applying the idea of dynamic single frequency network on the Maximum Service Ratio Algorithm. To accomplish this, the proposed algorithm performs two main steps: a) reconfiguring the LTE network and reconstructing its SFN areas dynamically by taking into consideration the popularity of videos as well as the signal-to-noise ratios of served terminals. This reconfiguration is established periodically based on a pre-determined threshold, which represents the variation of both current traffic and channel conditions; and b) scheduling the incoming requests with an objective of maximizing the service ratio in the given system. This scheduling is done at every resource allocation window.
- I started the implementation of the previous point. To do that, I am extending my current implementation from a single cell to five cells having the same SFN area. Once I completed this extension, I am going to implement the dynamic reconfiguration by periodically changing the popularity of videos and optimally finding the best possible coverage for the five cells.
- My main focus in the next week will be entirely on finishing the dynamic single frequency network. Once I completed it, my next goal will be implementing the newer prefetching technique.
- April 05 to April 11:
- We compared our maximum service ratio algorithm with the hybrid scheme proposed by Masum in his thesis. I added a subsection in the evaluation section of our report to explain our findings. It is can be found Here.
- In addition to that, I also worked on implementing the simplified algorithm for the minimum energy consumption. I am planning to share some initial results of the new implementation during our meeting next Monday.
- March 29 to April 04:
- We completed our evaluation of the maximum service ratio algorithm. The latest report can be found Here.
- March 25 to March 28:
- We had two ideas to use as our proposed greedy algorithm. After implementing both algorithms, I found that one of the two gives an improvement by more than 13% in its performance, compared with the other approach.
- My idea mainly depends on the concept of sub-grouping users into small subsets based on their channel conditions. I implemented our algorithm without the idea sub-grouping and got its performance results.
- I tried simplifying the scenario for the optimal solution to overcome the limitation of CPLEX. I got some results, but I am a little bit concerned that they might be biased since the number of available videos was only 1.
- I worked on proving that our problem is NP, and I am working on analyzing the complexity of the proposed algorithm.
- I am still running some extensive scenarios, but a sample of the results is Here.
Spring 2013
- Courses:
- CMPT 899: Ph.D. Thesis
- February 8 to February 22:
- In the last two weeks, I focused mainly on implementing our new algorithm. To accelerate the process of completing this phase, I integrated MATLAB with OPNET such that some performance analysis and computation can currently be executed in MATLAB. For example, based on the channel conditions feedback obtained from OPNET, I utilized MATLAB to evaluate the performance of different network scenarios with respect to both bandwidth usage and average gained quality satisfaction metrics. I found that such integration can simplify and speed up the process of implementation without any impact on the final results.
- For the next week, I am planning to continue my implementation of the proposed algorithm since I am still having major difficulties in some parts of the OPNET code, especially in applying the concept of dynamic SFN and in arranging the sequence of frames within the resource allocation scheduler.
- January 23 to February 7:
- As I mentioned in our last meeting, the new algorithm mainly relies on three features: a) a scalable video coding to support the existence of heterogeneous receivers with different capabilities; b) an advanced buffering mechanism to help the process of merging late viewers with an existing multicast session; and c) a dynamic single frequency network approach to make our video-on-demand more flexible with the frequent change in videos popularity among the network cells.
- I already finished the implementation of the first two features, and I did a comprehensive survey regarding the concept of Dynamic-SFN in mobile technologies. I found few papers discussing the use of dynamic-SFN in DVB-T and DVB-H technologies. Also, I found that these works address the issue of dynamic configuration in order to increase the local coverage probability within cells. Different from these efforts, our proposed algorithm depends on the bandwidth usage (not the local coverage) to dynamically change the SFN areas within the system. To illustrate this point, we extend (or shrink) a particular SFN area only if such change would result in a reduction of the current bandwidth usage. During my extensive search, no work has taken into account this assumption in their proposed dynamic-SFN approaches.
- I tried to implement the dynamic-SFN from our perspective, but I am still finding some difficulties in applying it in OPNET. I believe my problem is related to the coordination of more than one eNodeB, so they can be able to transmit the same video segment through identical frequencies. I will continue investigating in this issue, and hopefully I can solve it within the next few days.
- At this moment, I am also working on both writing and implementation in parallel. My plan for the next week is to finish the mathematical formulations for both advanced buffering and dynamic-SFN, so I can submit my first draft of the paper at the end of next week. Also, I will try to continue the implementation of the third feature and then get some evaluation results.
Fall 2012
- Courses:
- CMPT 899: Ph.D. Thesis
- December 8 to December 26:
- I just finished my implementation for the proposed scheme (but without adding the concept of advanced buffering). To implement the proposed scheme, I designed and developed an OPNET scenario in which fifty mobile terminals are generating random requests asking for one of three available video streams. As I already explained in my last report, each video is divided into a number of segments. Based on this ground, these random requests should indicate two parameters: a) the identification of a certain video stream and b) the identification of the required segment. My plan was to let these requests follow a realistic user behavior model. However, to accelerate my implementation, I generated these requests in a uniform manner. I will also continue my work on finding an appropriate model for the users’ behavior. Once I found such a model, I think I can easily add it to the current implementation.
- The simulated scenario is assumed to run for one hour. During this hour, the scheduler is recalled once every two seconds (i.e. the resource allocation window is assumed to be 2 seconds). During each resource allocation window, every base station gets the average CQI feedback and the corresponding video request from every mobile terminal in its transmission coverage. Once these two inputs are received, the three phases of the proposed algorithm is executed. In other words, every base station in each resource allocation window schedules the base layers of the requested videos, calculates the gained quality satisfaction for each enhancement layer, and then schedules the enhancement layers with the highest gained quality value.
- Currently, the result of the simulation will give me two metrics: the bandwidth usage and the gained quality satisfaction. During the next few days, I will try to build an additional scenario to simulate the traditional multicast process and compare its performance with my obtained results. Also, I will try to see how I get the energy consumption of mobile devices for both scenarios.
- As mentioned earlier, I did not add the idea of advanced buffering to my implementation. Our system allows a set of mobile terminal to receive and buffer unrequested segments if there is a great chance to use these segments in the near future. In order to derive the probability of possible use for future segments, we need to construct a finite Markov chain in which the set of possible states for a system and the probability value of transition between these states are illustrated. I included a basic Markov chain model in my latest report, but it not a strong model since its values are based on some old statistics. I will work on constructing a new model. Once I am done with it, I can easily add the feature of advanced buffering to my implementation. I believe if we succeed to utilize a good model, our paper will be eventually given higher consideration.
- Another issue in my implementation is related to the video traces. Each video stream is assumed to be encoded into three layers. The first layer, which is known as the base layer, was given a quality satisfaction value equal to 0.55. The second layer and the third one were assumed to be 0.30, 0.15, respectively. These numbers were chosen arbitrarily just to speed up the implementation process. However, I am planning to avoid such assumption in our paper since reviewers will most likely disagree with such assumption. Instead, I will try to measure the quality satisfaction parameters for each layer using well-known metrics such as: the peak signal-to-noise ratio (PSNR) and the mean opinion score (MOS).
- December 1 to December 7:
- The latest report about the “scalable video-on-demand streaming scheme” has been uploaded to the SVN server.
- November 12 to November 30:
- I am working on the implementation part of the proposed video-on-demand technique. To accomplish this objective, three components should be integrated: 1) the first component is related to the implementation of scalable videos in OPNET; 2) the second one basically is related to the process of choosing the appropriate modulation and coding schemes; and 3) the last component mainly focuses on how to schedule the available incoming requests based on the current conditions. Even though I am working on these three components in parallel, my focus was on the implementation of SVC over LTE. Since the concept of scalable video coding has not been fully supported in the OPNET simulator, I am currently writing a C code in order to generate packet traces for a number of video sequences. This C code also aims at generating a list of pointers to indicate the location of each layer in the scalable multimedia stream, thereby facilitating the integration process with OPNET.
- November 5 to November 11:
- The presentation about the "Scalable Video-on-Demand Streaming Algorithm over LTE Networks" can be found Here.
- October 27 to November 4:
- I am trying to improve the constraints in the optimization problem by taking into account the power allocation required for each subcarrier in an LTE base station. Also, I am working on addressing the impact of video types on the number resource blocks needed for every layer of a video-on-demand. Assuming different types of multimedia files may covert the optimization formula to become an NP-hard problem, so I am trying to see if we can make such assumption without adding any complexity to the proposed algorithm.
- In the week, both introduction and background sections were added to the initial draft of the report. Moreover, a simple heuristic solution for the optimization problem is included. Yet, I am trying to improve the obtained solution such that the new power allocation constraints are satisfied. Our plan is to complete these sections during the next few days, so we can focus entirely on the implantation part.
- I also tried to work on the implantation part. Since the solution is not completed yet, I started working on how a video-on-demand stream can be divided into segments and layers. During my experiments, I found that some error messages are generated once we run the simulation. It seems that these messages are resulted because there are more than a version of C compiler. I am working on solving this issue.
- October 13 to October 26:
- An initial draft of both system model and problem formulation is submitted. However, I was not pleased with two assumptions made in the first draft, so I preferred to address them before submitting the report.
- The first issue is related to the value of quality satisfaction parameters. In my first draft, I considered that each video-on-demand stream is encoded into three layers. The first layer, which is known as the base layer, was given a quality satisfaction value equal to 0.55. The second layer and the third one were assumed to be 0.35, 0.01, respectively. These numbers were chosen arbitrarily since I found some difficulty in finding a reference talking about this issue. However, I decided to avoid mentioning these values in our report since some reviewers may disagree with such assumption. Instead, the current version of the system model assumes that the quality satisfaction parameters are measured using metrics such as: the peak signal-to-noise ratio (PSNR) and the mean opinion score (MOS). Also, we assume that these values are pre-calculated in advance and given to base stations as a priori.
- The second issue is related to the advanced buffering feature. We assume that our system allows a set of mobile terminal to receive and buffer unrequested segments if there is a great chance to use these segments in the near future. In order to derive the probability of possible use for future segments, a user behavior model should be characterized. To do so, we need to construct a finite Markov chain in which the set of possible states for a system and the probability value of transition between these states are illustrated. I include a basic Markov chain model in the report, but I am still working on updating the transition probability between the three states since the current values are based on some old statistics.
- Finally, I would like to indicate the difference between this work and the paper submitted to the MMSys13. In the MMSys13, the main objective was to propose a power-efficient video-on-demand streaming algorithm even if such energy-saving may cause an increase in the bandwidth usage by two and half times. On the other hand, our current work does not consider the energy consumption issue at this moment. In other words, our main goal is different. We are aiming to provide flexible and scalable video-on-demand service in which heterogeneous receivers are supported. Also, we are trying to adapt to network conditions if such adaptation will not necessitate additional network resources. Finally, we are proposing the idea of “advanced buffering” which most likely result in minimizing the available bandwidth usage in the long run.
- September 29 to October 12:
- As I discussed in a previous e-mail, I chose to derive an optimization problem from our proposed algorithm and then work on its OPNET implementation. I started writing the first draft of the paper, so it should be submitted during the next week. However, I would like to highlight some important points.
- In the proposed system, I assumed that every video-on-demand stream is encoded into a number of layers where each layer is assigned with a pre-determined profit value. We calculated the profit values associated with each layer of the available multimedia files in a way such that base layers would be given the highest priority in the optimization problem. The enhancements layers would be given lower predefined values; however, their cost values would be increased when a mobile client has the capability to receive and buffer advanced (future) segments. The detail of profit calculation is explicitly explained in the report. Another assumption is that each layer of the video-on-demand stream is treated as a multicast sub-session. In other words, unicast streams are considered as multicast streams with a single receiver. This assumption helps in both analysis and implementation.
- On this ground, the main objective in our profit maximization problem is to determine: 1) which layer(s) of each video-on-demand stream to be served at time T and 2) how much resource blocks to be allocated for each layer of the chosen multimedia streams, such that the radio resources is minimally utilized and the channel conditions of each client is taken into consideration. During the last week, I mathematically formulated this optimization problem. Also, I also proved that it is a NP-hard problem, so we need to propose a heuristic solution in order to solve it. I am still working on the solution.
- September 15 to September 28:
- In the new scheme, I am assuming that a new cross-layer is introduced in each base station. This cross-layer is responsible for three tasks: 1) it divides each multimedia file into a number of segments with the same length (initially two-second fragments); 2) it receives the incoming requests generated from the local transmission coverage; and 3) it retrieves the channel quality information of every mobile client. At this moment, we are also assuming that there are only three video layers for each video-on-demand stream. On this ground, users can be grouped into three channel quality regions: low, medium and high. It is considered that the modulation coding scheme for each group is chosen based on the user with the worst channel condition in the same group.
- Our proposed scalable video-on-demand streaming algorithm is as follows. When a base station receives an incoming request from a client within its transmission range for a particular multimedia file, it analyzes the CQI feedback provided by the user. After that, the base station streams the user’s desired video based on his/her channel condition. If there is more than a user asking for the same video-on-demand stream, the base station will start a new multicasting session. Different from the traditional multicast processes in which the video has to be sent at the rate of the weakest user in the group, our proposed algorithm applies the idea of scalable coding such that users with strong channel conditions are ensured to receive additional layers and then achieve better playback quality. Another key feature of the proposed algorithm is what it can be called “advanced buffering.” To illustrate this concept, we need to look at a scenario in which two users are receiving the same video but different segments. In this case, the late user can take advantage of the earlier stream and start buffering the advanced segments if there is a high probability that he will watch them. Allowing “advanced buffering” will help in minimizing the bandwidth usage even though both users do not have the same channel condition. In other words, the late user will buffer the base layer of the advanced segment if he/she has a lower channel condition. If the late user has better channel condition, the base station needs to send only the enhancement. Therefore, a reduction in the bandwidth will be gained in both cases.
- Dr. Abdul and I discussed the proposed Algorithm. We agreed that two issues should be revised. Frist, there is possibility that a persistent QoS fluctuation is occurred for some users, so such scenarios must be avoided. Second, Dr. Abdul suggests implementing the current version of the scheme and then comparing its performance with the traditional multicast/unicast scheme. On the other hand, I believe that several optimization problems can be derived from our main idea, so we should start with one of these optimization problems. For now, we agreed to continue my work on optimizing at least a single parameter during the next week.
- September 5 to September 14:
- Currently, my focus is mainly on improving the performance of evolved-Multimedia Broadcast Multicast Service (e-MBMS) in LTE networks. To achieve such objective, I am planning on addressing four issues: 1) introducing an efficient bandwidth utilization algorithm, 2) reducing the energy consumption on mobile terminals, 3) applying a forward error correction mechanism to ensure reliable multicasting, and 4) providing a secure multimedia streaming process.
- A possible solution to increase the bandwidth efficiency and minimize the power consumption is to exploit the idea of scalable video coding. For this reason, I am working on developing a new algorithm for the multimedia streaming project. The main goal of this new scheme is to develop a cross layer in which scalable video coding is utilized. With the help of SVC, an LTE network can deliver acceptable quality of service to a maximum number of users in a cell with a minimum usage of the existing radio resources.
Summer 2012
- Courses:
- CMPT 899: Ph.D. Thesis
- June 1 to June 13:
- In the previous two weeks, I had continued working on the multimedia streaming problem over LTE networks. I had focused mainly on improving the performance of the Multimedia Broadcast Multicast Service (MBMS). To accomplish such objective, it would be necessary to take into account two important aspects: 1) minimizing the power consumption of mobile terminals and 2) providing a good coverage within mobile networks.
- To increase the energy saving on the client-side, I am still investigating how we can construct a scheduling algorithm in which video segments are transmitted as short high data rate bursts. My main idea was to add a segment to the multicast channel once it is requested by more than one client in the same transmission coverage. Unfortunately, I just found that such technique cannot be implemented under the current system architecture introduced in the 3GPP LTE standard. To explain, the multicast channel in the current standard is only capable of serving a very limited number of video segments at the same time. For instance, just five multimedia streams whose data rates are 256 kbps can be simultaneously served in a MBMS channel with 1.25 MHz dedicated bandwidth. Under this circumstance, I am trying to overcome the channel limitation by providing a more scalable algorithm without causing any buffer violation.
- The coverage in a mobile network can be referred to the data rate used to deliver video segments in a multicast session. Typically, this data rate is determined by the link quality of the worst-case user in the transmission range. To enhance the reception of interested clients, MBMS usually operates on a single frequency across a group of cells, known as a Single Frequency Network (SFN). A particular set of frequency resource blocks is reserved for the SFN such that the overall performance remains consistent even if a user moves from one cell to another. Applying this concept often eliminates interference and allows users to pick up the combined signal, thereby getting better reception. However, MBMS, in the LTE standard, is assumed to have static single frequency networks whose groups of cells are predetermined prior to the network deployment. As a consequence, there is a big chance to have a significant waste of the limited bandwidth resources in the multicast channel in the cases when few cells in the SFN have interested users for the currently transmitted stream.
- Due to the nature of wireless transmissions, unicast connection is actually broadcast throughout the entire sector (which is different from the point-to-point delivery occurred in wired networks). For this reason, I am thinking of extending the multicast channel in LTE networks through exploiting parts of the spectrum allocated specifically for unicast connections. This extension would help in solving the limited number of resources blocks in the MBMS channel, thereby addressing the aforementioned problem. If we arrange the multicast extension in a way that neighboring cells sending the same multimedia stream are using the same frequency, we will succeed in creating our dynamic signal frequency network, thereby ensuring of a full utilization for its existing resources.
- May 25 to May 31:
- In this week, I am trying to address the important issues indicated by reviewers in the MM feedback. Since they argue about the originality of the hybrid concept, I am planning to extend our algorithm to focus on reducing the signaling overhead and enhancing the mobility of clients. Also, I am working on speeding the process of merging late users to a multicast session. To accomplish such objective, I am currently studying the possibility of increasing the playback rate of latecomer and decreasing the rate of the existing multicast sessions.
- May 14 to May 24:
- As I mentioned in a previous report, a proper video segmentation may help in solving the buffer violation caused by the hybrid video-on-demand streaming algorithm. Dr. Abdul suggested a possible solution in Here. Briefly, the suggested scheme divides each multimedia stream into a number of two-second segments in order to avoid generating any long patching stream. To measure its performance, I had done a comprehensive analysis of the proposed algorithm with regards to three metrics: the bandwidth usage, buffer requirements, and paly-out delay. Compared with our hybrid approach and periodic broadcasting, the new scheme succeeds in providing a full support for VCR functionalities, including fast forwarding and rewinding, without causing any additional overhead in the system. Moreover, the new scheme succeeds in reducing the buffer requirements significantly and preventing the occurrence of any buffer violation. However, a major drawback can be noticed in the new scheme with respective to its bandwidth usage. Different from our hybrid approach and periodic broadcasting, the bandwidth requirement of the new scheme is considerably high. In some scenarios as shown in the figure Here, the new scheme closely approaches the bandwidth requirement of the all-unicast method. It is important to keep in mind that the bandwidth usage computed here does not include the data required for signaling and other control communication, which should be large in the new algorithm due to its short segments.
- Apr 23 to May 13:
- To provide an energy-efficient video-on-demand streaming to mobile terminals, I modified our hybrid algorithm in a way that burst transmission is utilized in the multicast session instead of sending the multimedia stream in a continuous manner. To accomplish this objective, it is important to obtain a transmission schedule in which the number of bursts for each video stream in a frame as well as the start and end times for each burst are specified. Of course, this schedule should avoid the occurrence of any burst collision, which is usually happened if several bursts have intersected in the time. Moreover, In addition, the transmission schedule must ensure that there are no buffer violations on the client-side. A buffer violation occurs when the receiver has either no data in its buffer (in other words, buffer underflow) or has no space to store incoming data (i.e. buffer overflow). Obviously, this transmission schedule can be considered as an NP-complete optimization problem. To solve it, I introduced an approximation algorithm based on the concept of task sequencing with release times and deadlines.
- After analyzing the modified version of the hybrid algorithm, I found that mobile receivers in many scenarios are suffering from the buffer overflow issue even though buffer violation is completely prevented in the burst transmission. This buffer overflow is caused by the patching streams (not from the multicast sessions). To overcome this matter, two solutions can be used. The first approach is based on the idea of adding any incoming request for a certain video-on-demand stream to a waiting list. This waiting list will be served once a predefined interval of time is ended. As it is clear, this approach has a trade-off between the play-out delay and the bandwidth usage. Increasing the play-out delay would result in reducing the bandwidth usage, and vice versa. Since I think it is necessary to maintain the zero service delay in the hybrid algorithm, I recommend utilizing the second solution in which each video stream is divided into a number of segments based on their popularity. These segments are multicasted through a number of communication channels rather than multicasting a single and long stream. Currently, Dr. Abdul and I are trying to analyze various methods of video segmentation. Once we agreed on a particular technique, I will send a complete report about the extended hybrid algorithm, including both burst transmission and video segmentation.
Spring 2012
- Courses:
- CMPT 899: Ph.D. Thesis
- Mar 13 to Apr 22:
- During the last week, I started working on extending the hybrid multicast/unicast streaming algorithm specifically proposed for LTE networks. In addition to the concept of burst transmission, I am trying to consider the following four points:
- 1) In the MM submission, each late client joining an existing multicast session receives a patching stream. This patching stream follows a greedy principle in which a unicast connection is initiated regardless to the length of this stream. To enhance the bandwidth utilization in the proposed algorithm, it would be recommended to replace this greedy approach with a grace patching. In brief words, the grace patching technique generates a patch stream if the incoming request arrives within a predefined time window after the initiation of the multicast session. In other words, long patching connections are not allowed in the system.
- 2) Another approach to reduce the bandwidth requirement is to initiate a multicast session for each patching stream if there is more than one user is asking for the same segment. To facilitate this feature and obtain additional bandwidth reduction, an optimal segmentation method to divide the video of interest is required.
- 3) In both analysis and simulation, mobile terminals are assumed to have interest in starting their sessions from the beginning of the desired video. However, several studies show that significant fraction of video sessions start from arbitrary positions in the video file. Typically, this scenario becomes more noticeable in the cases when the multimedia file size is large. From my point of view, this issue can be addressed if interactive VCR functions are explicitly employed in our paper, which currently gives inefficient implementation for such features.
- 4) Although we have failed in getting actual traces from a video-on-demand service provider, having a user behavior model, which can estimate the user arrival rates and their access pattern, is still necessary to develop a better multimedia streaming scheme. I found a number of papers from which we can extract our user behavior model since they give some aggregate statistics. For example, a study shows that around 53% of incoming users are leaving their sessions within less than 10 minutes, whereas 70% are ending their session in the first 20 minutes. Another study observes that mobile clients asking for an unpopular video have longer session length than those users requesting popular videos. Combining the results of these studies may help us in predicting the network traffic, which can be utilized in both analysis and simulation.
- Mar 22 to Apr 12:
- Submitting a paper entitled "A hybrid multicast-unicast video-on-demand streaming algorithm over mobile networks" to the ACM Multimedia conference.
- Feb 27 to Mar 21:
- Preparing and finalizing the first draft of the hybrid video-on-demand streaming algorithm designed specifically for LTE networks.
- Jan 18 to Feb 26:
- To evaluate the performance of the proposed video-on-demand streaming algorithm, I am trying to study a comprehensive streaming scenario utilizing LTE-Sim, which is an open-source framework designed specifically to simulate LTE networks. This simulator encompasses several aspects of LTE networks, including both the E-UTRAN and the EPS. In particular, it supports single-cell and multi-cell environments, quality-of-service (QoS) management, multiuser environments, user mobility, and handover procedures. Three kinds of network nodes are modeled: UE, eNB, and MME/GW. Several traffic generators at the application layer have been implemented, and the management of data radio bearer is supported. Finally, well-known scheduling strategies, the AMC scheme, CQI feedback, frequency reuse techniques, and models for the PHY layer have been developed.
- During our simulation, three assumptions will be taken into account: a base station can serve 300 simultaneous channels, a content server possesses 100 multimedia files whose average length is 30 minutes, and the request arrival ratio follows a Zipf-like distribution. Furthermore, videos in the content server were given a popularity ranking based on their received requests. Once the program is executed, a constant number of requests are generated at discrete instants. Typically, only 43 multimedia files will be requested at each interval where 80% of these incoming requests are interested in approximately 20% of the available videos. Running the simulation for 100 instants of time period, the programming code receives requests from the interested mobile devices in the transmission range of a cellular base station. Then it computes the bandwidth usage at each time interval for the three methods: unicast, multicast and hybrid. To implement our proposed algorithm, the signaling overhead caused by the creation or extension of a multicasting session was equivalent to 100 kilobytes.
- Our proposed video-on-demand streaming algorithm can be briefly summarized into the next steps: 1) Constrain the maximum capacity for multimedia streaming by allowing 60 percent of the total available downlink channels for video-on-demand services. This restriction will help in accommodating concurrent voice and data services. 2) When a base station receives an incoming request from a client within its transmission range demanding a particular multimedia file, it checks whether this video is popular or not. Here, only the top 20 highly requested multimedia files are considered popular in our simulation. 3) If the required video is not popular in this geographical region, the base station delivers the desired file to the mobile receiver through an individual unicast stream once it is retrieved from the content streaming server. Of course, the transmission date rate would be adjusted based on the received feedback about the current channel condition of the mobile client. 4) Otherwise, the client will join a multicasting session in order to get his desired video. Since the multicast systems choose modulation and coding scheme (MCS), and multicast transmission power based on the capacity of the poor receivers, the base station should adjust these parameters again if the new user has the worst channel conditions among the participants.
- The recent report can be found Here.
- Jan 5 to Jan 17:
- To make our problem statement more specific, I suggest modifying our goal to design a hybrid multimedia streaming algorithm with an objective of increasing the energy saving on mobile devices. Such goal should be more achievable than our previous objective which is minimizing the overall mobile network load while maintaining reasonable power consumption on mobile receivers.
- Our proposed video-on-demand streaming algorithm is as follows. When a base station receives an incoming request from a client within its transmission range demanding a particular multimedia file, it checks whether this video is popular or not. To determine whether a certain multimedia file is highly requested or not, the base station usually observes its arrival request rate and then concludes its popularity. If the required video is not popular in this geographical region, the base station delivers the desired file to the mobile receiver through an individual unicast stream once it is retrieved from the content streaming server. Otherwise, the client will join a multicasting session in order to get his desired video.
- Implementing multimedia multicast in single-hop cellular networks is not a straightforward task. For instance, having a poor receiver in the transmission coverage eventually causes a dramatic degradation in the possible transmission rates, thereby preventing clients with good channel conditions to enjoy higher reception rates. An intuitive countermeasure in these scenarios would be applying the concept of scalable video coding in which a base layer is send with a low rate and enhancement layers are coded with higher rates. However, this solution may result in increasing the power consumption of mobile devices as a consequence of the additional processing needed by the complex decoders at the end-clients.
- Since mobile clients nearby a particular base station are normally heterogeneous devices possessing diverse capabilities, we are proposing to create a multicasting session for each group of devices having similar capabilities. To illustrate, consider a scenario where a number of smartphones whose screen sizes as low as 320 * 240 pixels in addition to a set of tablets with superior resolution screen (1024 * 768 pixels) are existing in the same cell. If we stream a high definition video through a multicast session for these devices, the smartphone group will waste a significant amount of its battery power resources without gaining any benefit from the high resolution stream. Therefore, we suggest dividing the devices in this case into two classes: smartphones and tablets. Then two different multicasting sessions will be initiated where each session targets a certain group of users in the cell. In other words, we are proposing to implement a transcoder on each base station instead of applying complex decoders on the end-clients.
- Since the bandwidth capacity is often not sufficient to support a large number of simultaneous multicasting streams, there is usually a chance to encounter situations in which many queues are waiting to be served. Based on this ground, a scheduling strategy should be exploited to overcome such problem. The impact of three different scheduling strategies was examined in Here. The first strategy simply serves incoming requests based on their arrival time, whereas the second approach basically prioritizes the queues with the largest number of waiting users. The third scheduling strategy is a combination of the two methods by following the first approach at the lightly loaded intervals and applying the second method during the peak time periods. Among the three approaches, the second scheduling strategy was found to provide the optimal performance with regards to bandwidth utilization and service delay. However, it usually suffers from the necessity for a complex implementation compared with the first strategy, which normally gives a very reasonable performance. Hence, we can use the first-come first-served policy during our implementation.
Fall 2011
- Courses:
- CMPT 726: Machine Learning
- CMPT 771: Internet Architecture and Protocols
- Dec 16 to Dec 20:
- To evaluate the performance of the proposed video-on-demand scheduling algorithm Here, a Java program simulating some simplified scenarios given the channel conditions and other required parameters was implemented. In this program, two video-on-demand algorithms were examined: 1) a conventional approach in which incoming requests for a certain multimedia file are served through separate unicast streams; and 2) our hybrid technique in which interested users are either joining a multicasting session with patching streams or receiving an individual unicast connection, depending on which option generates the most energy-efficient solution.
- During the simulation, three assumptions were taken into account: a base station can serve 300 simultaneous channels, a content server possesses 100 multimedia files whose average length is 15 minutes, and the request arrival ratio follows a Zipf-like distribution. Furthermore, videos in the content server were given a popularity ranking based on their received requests. Once the program is executed, a constant number of requests are generated at discrete instants. Running the simulation for 100 instants of time period, our programming code receives requests from the interested mobile devices in the transmission range of a cellular base station. Then it computes the bandwidth usage at each time interval for the two methods: unicast and hybrid. To implement our proposed algorithm, the signaling overhead caused by the creation or extension of a multicasting session was equivalent to 100 kilobytes. If we assume all mobile devices, in a cell, share the same channel condition, we can find that our hybrid algorithm minimize the bandwidth usage in all unicast approach by more than 50 percent.
- Currently, I am trying to avoid this assumption by considering diverse channel rates. Also, I am trying to extend our simulation to measure the power consumption given a predefined energy model. However, this most likely necessitates an advance network simulation platform such as OPNET and NS-2.
- Nov 26 to Dec 15:
- Two sections were added to the report of the hybrid streaming problem over mobile networks Here. The first one illustrates the system architecture of a video-on-demand streaming service, whereas the other section explains the proposed patching algorithm.
- Nov 22 to Nov 25:
- In the last meeting, we started our discussion by talking about an allocation algorithm for the next generation mobile networks. That algorithm was basically based on the concept of hierarchical video patching with a consideration to the feedback of signal-to-noise ratios reported by the mobile clients. Since several concerns were raised about how to improve the performance of the proposed algorithm, I would like to summarize these points in order to take them into account during our research:
- a) How can we quantify the additional overhead caused by a multicast operation?
- b) Is there an existing model for the power consumption in WiMAX and LTE technologies?
- c) What is the impact of decreasing the number of OFDM symbols on the power consumption of a mobile client? What is the effect of applying the sleep mode (i.e. turning off the transceiver interface of a user if he is idle) on the power consumption of a mobile client? Of the two approaches, which way will provide us with the most energy-efficient solution?
- d) How can we create a multicasting session in 4G? Here, it is important to indicate a practical implementation, and then discuss its level of difficulty.
- e) In the scenarios when we have a multimedia file with few viewers, which mechanism can be utilized in order to determine the cost of creating a multicast session and the cost of initiating a unicast stream for each user and then select the choice with the minimum cost?
- In the last meeting, we started our discussion by talking about an allocation algorithm for the next generation mobile networks. That algorithm was basically based on the concept of hierarchical video patching with a consideration to the feedback of signal-to-noise ratios reported by the mobile clients. Since several concerns were raised about how to improve the performance of the proposed algorithm, I would like to summarize these points in order to take them into account during our research:
- Nov 7 to Nov 21:
- In the last two weeks, I had to do two midterms, submit three assignments, and present a survey topic; consequently, I was busy with the course load. I know that the deadline for the conference is approaching, and I know how important is to present our work in such conferences. However, I am still concerned whether our idea is mature enough to be submitted within one week.
- Oct 24 to Nov 6:
- Regarding the ICME submission, I already committed the first three sections (introduction, related work, and system architecture) into the SVN repository. Also, I started writing a draft for the fourth section in which three questions will be answered: 1) which video streams are chosen to be multicasted?; 2) how many communication channels are assigned for each multicast session?; and 3) which video streams are chosen to be unicasted? Till this moment, I have answered the first and the last questions, but I am still working on finding an appropriate approach for the second issue.
- Regarding the simulation part, I need to modify some major components in our current implementation in order to fit the new modifications in the proposed algorithm.
- Oct 11 to Oct 24:
- Mainly, I had to focus on my coursework since some assignments and proposals were due in this week.
- Regarding the hybrid multimedia streaming problem, the simulator can be divided into four components: an event generation, a unicast streamer, a multicast streamer, and a hybrid streamer. At this moment, the first two components are almost completed. Thus, I need only to complete the remaining two parts.
- Sep 27 to Oct 10:
- Assuming the arrival of the requests for a set of multimedia files is following a Poisson distribution, I started implementing a Java programming code in order to simulate our proposed hybrid multimedia streaming scheme. This code will also provide a performance comparison with both Patching and unicasting algorithms. Hopefully, the code will be completed within the next two weeks.
- Sep 20 to Sep 26:
- During this week, I continued exploring the energy consumption issue in the IEEE 802.16 standard. As I previously explained, I found that most researchers are following an identical approach in order to deal with this issue: they start with reducing the energy consumption of a Mobile Subscriber Station (MSS) by controlling the transition between its wake and sleep modes, and then they conclude with giving an analytical model for the energy consumption of their proposed scheme. However, we cannot follow this technique because it significantly increases the packet delay, which is not acceptable in the multimedia streaming scenarios.
- Therefore, I am still trying to find an alternative approach in order to reach an analytical model for the energy consumption of both unicast and multicast multimedia streaming over WiMAX.
- Sep 12 to Sep 19:
- In order to measure the energy consumption of both unicast and multicast multimedia streaming over WiMAX, it would be easier to rely on a software based simulation tool such as OPNET or NS2. So far, it seems that the OPNET WiMAX modeler does not help our goal since it does not provide any energy measurement. This was my understanding from some papers as well as their official brochure Here. Moreover, we cannot take an advantage of the GENI-WiMAX project to accomplish our energy measurement because it is only accessible through an external control API that allows the programmability of only layers 2 and 3. However, I will continue investigating how people usually compute such consumption.
- Since, to the best of my knowledge, no one has addressed the energy issue of multimedia streaming in WiMAX, I started reviewing the literature of energy modeling in the IEEE 802.16 standard in general. Actually, I found several papers discussing the energy saving mechanism of the IEEE 802.16e standard and also giving analytical models for its sleep-mode scheme. Even though these topics are out of our research scope at this moment, I believe studying them can help us in developing our analytical model for the problem on hand.
- Sep 05 to Sep 11:
- Reviewing the status of the hybrid multimedia streaming project.
Summer 2011
- Courses:
- CMPT 899: Ph.D. Thesis
- July 18 to July 24:
- I contacted a telecommunication company in Saudi Arabia to inquire the possibility of obtaining real statistical information about the multimedia streaming usage within their LTE and WiMAX networks. In that letter, I explained our objectives, mentioned their benefits, and requested anonymous information to avoid any privacy concerns. Until today, I had not received any response. However, I am expecting some delay since the majority of employees in Saudi Arabia prefer to take their vacations at this time of the year. Hopefully, we will hear a positive response soon.
- Also, I am still convinced that we need a test-bed (or at least a simulation tool) which can provide us a space of flexibility during our research. That is why I focused in the past few days on exploring the GENI-WiMAX project Here. At this moment, I am trying to run few simple scenarios. I will post a brief report as soon as I found some interesting results.
- June 15 to July 17:
- A simple algorithm for the hybrid multimedia streaming problem is proposed Here. As it is described, a multicasting session is initiated if the energy consumption caused by receiving a unicasting stream is greater than the consumption resulted from both patching stream as well as enrolling into a multicasting session.
- At this moment, I am trying to study and simulate two scenarios based on the proposed scheme: 1) the multimedia file is sent and multicasted with high data rate in a short period of time (i.e. send a burst of data), which logically reduce the energy consumption; and 2) the desired content is streamed with low data rate, which enhances the possibility of late clients to join the multicasting session and then reduces the amount of unicast streams in the system. In my point of view, finding the optimal trade-off between both two scenarios can be an interesting objective.
- June 3 to July 14:
- Since Dr. Cheng-Hsin Hsu pointed out that both problem statement as well as our proposed algorithm needs additional clarification, we agreed on limiting the problem statement to be more specific as follows: in a mobile network whose clients possess battery-powered devices with low computational resources, find an energy-efficient multimedia streaming scheme with an objective of maximizing the number of concurrent users. The proposed algorithm should handle an asynchronous request by either initiating a unicast streaming or extending an existing multicasting session. Assuming a desired multimedia content is properly delivered to the target base station without encountering any bottlenecks, the service delay required must be lower than a predefined threshold. Given a buffer size of B kb, the proposed scheme should ensure the absence of any buffer violation in the entire system. A buffer violation occurs when a receiver has no space to store the data received during a burst transmission (buffer overflow).
- I extended the related work section by including six additional resources. Currently, both introduction and related work sections are completed, so they can be accessed Here.
- Meanwhile, I am also aiming on doing some simulation, so I am still trying to implement the three algorithms presented in Here. I chose this paper because it seems a good candidate to be compared with our proposed scheme.
- June 13 to July 2:
- I prepared a brief review about four streaming algorithms which seems very close to our proposed method Here. Clearly, most researchers had not considered the energy consumption in their works, so an important contribution of our proposed scheme is taking this point into account.
- Since mobile networks share many common aspects with wireless sensor and ad hoc networks, I also investigated the current solutions proposed for the multicast-unicast problem in these two configurations Here. Since these techniques take advantages of multipath routing and neighbouring buffers, these approaches cannot be useful for the cellular network due to the absence of intermediate nodes in its infrastructure.
- Four main questions can be asked in the hybrid multimedia streaming problem: 1) How can we multicast or unicast a required multimedia file? 2) What is the cost of changing the mode from unicast to multicast and vice versa? 3) How can we schedule a number of simultaneous requests belonging to different streaming contents? and 4) What is the impact of handover on the performance of the proposed algorithm? Next week, I will try to answer the first two questions.
- May 21 to June 12:
- A simple algorithm for the hybrid multimedia streaming problem is proposed. In this algorithm, a base station usually responds for an incoming request by unicasting the desired video directly to the mobile client. Nevertheless, it can also decide to start a multicasting session for a number of simultaneous users. Such decision is basically based on a combination of two parameters: the length of the required video file as well as its popularity in the current geographical location.
- This algorithm should be evaluated using four metrics: the playback delay, the bandwidth usage, the power consumption, and the buffer requirements for both base station and mobile clients. Therefore, I am still working on obtaining the mathematical formulas for these four metrics taking into account the frequent occurrence of handover. In my opinion, considering this point will distinguish our algorithm from any other method proposed for wireless networks.
- May 7 to May 20:
- In the report written by Som, many equations were given based on the assumption that video signals have a fixed date rate. Unfortunately, this is not always the case. For instance, video files generated using MPEG compression schemes are utilizing variable bit rates. Therefore, I am working on reformulating the equations for both bandwidth requirements and power consumption in order to take the variable bit rates into consideration.
- In the same report, the video length was taken into account in order to determine the selection between unicasting and multicasting. Besides that, I am trying to consider the popularity of the wanted video. In a simple manner, requests for popular videos will be combined together to initiate a multicasting stream, whereas requests for videos with low-demand will be unicasted to their audiences. Determining the popularity of a particular video is typically an easy process since many websites include such information in the video details. However, we can make the base stations in mobile networks monitor the activities of their local users. Enabling this feature will eventually increase the overall performance of the system because the requests of certain videos are usually affected by the geographical regions. For example, people sitting near a hockey stadium are more likely to be interested in sport video than those who are sitting by the ocean or a natural park.
- I am also working on another idea relying on the popularity concept. People often are looking to watch certain clips from a popular video. In other words, a long interview whose length is more than 60 minutes usually features several topics. In most cases, users are not interested in watching the entire interview; they are looking for specific parts of the interview. If you determine the popular parts, it would be easy to optimally divide the entire video into a number of segments, leading to obtain an efficient multicasting scheme. Even though this idea seems a little bit complex, it will be worthwhile to investigate more in order to propose efficient hybrid streaming algorithm.
- Although researchers are usually focusing on a true video-on-demand, it can be acceptable for many free video-on-demand services to add short advertisement clips, especially when these ads are highly related to the required videos. If we stream advertisement clips with different lengths, we can combine all incoming request and then initiate a new multicasting steam. To illustrate, the fist requests will be given an ad with an acceptable length and the second requests will be given shorter ads, and so on. Ensuring all these advertisement clips are finishing at the same time, starting a new multicasting stream will be possible. I am trying to avoid applying this idea in our proposed algorithm, but it can be an option if we try to earn some time before initiating a new multicasting stream.
- Apr 25 to May 6:
- Refocusing on the multicast-unicast multimedia streaming problem in mobile networks.
- Trying to understand the simulator implemented by Somsubhra Sharangi.
Spring 2011
- Courses:
- CMPT 705: Design and Analysis of Algorithms
- CMPT 820: Multimedia Systems
- Apr 01 to Apr 22:
- Focusing on my coursework; finalizing some assignments and projects as well as preparing for a final exam.
- Feb 07 to Feb 21:
- Reviewing the current solutions proposed for the multicast-unicast multimedia streaming problem in wireless sensor and ad hoc networks, and writing a brief report about this issue.
- Reading about the multimedia broadcast and multicast services in 3G mobile networks and their standards.
- Jan 31 to Feb 06:
- Understanding the concept of three important methods in the field of internet multimedia streaming: Batching, Patching, and Periodic Broadcasting.
- Analyzing the problem of hybrid multimedia streaming over wireless networks.
- Exploring different techniques for hybrid multimedia streaming in wireless and ad hoc networks.
- Jan 24 to Jan 30:
- Preparing for a midterm in addition to completing two assignments related to my coursework.
- Surveying the main methods in the field of content based 3D shape retrieval.
- Jan 17 to Jan 23:
- Trying to comprehend the basic digital video coding standards, including JPEG and MPEG.
- Reading brief introduction about 3D technology, focusing on its current coding algorithms.
- Exploring the main security concerns in cloud computing, particularly the concept of homomorphic encryption.