Private:progress-almowuena
From NMSL
Summer 2014
- Courses:
- CMPT 899: Ph.D. Thesis
- April 26 to May 09:
- I am still working on integrating the idea of dynamic single frequency network into my proposed algorithm for video-on-demand streaming over LTE networks. To accomplish such task, I extended the implementation of the maximum service ratio algorithm from a single-cell eMBMS to become a scenario of five cells having an indicial SFN area. During the last two weeks, my focus was mainly on coding.
- In the single-cell eMBMS scenario, I customized the resource blocks allocator in eNodeB to schedule incoming requests and set up radio resources for both multicast and unicast connections. Different from the single-cell case, I am currently designing and deploying a MBSFN area where eNBs are only responsible about scheduling incoming unicast requests, whereas the Multi-cell Coordination Entity (MCE) performs the required admission control for multicast sessions and assigns uniform radio resources among its cells in order to ensure enhanced coverage and synchronized data transmission.
- My proposed algorithm follows a dynamic technique in which multicast groups as well as their assigned MCSs are configured frequently to adapt and accommodate any change in video popularity and channel conditions. During my implementation, I could not overcome the fact that the LTE model in OPNET (which follows the 3GPP specifications for MBSFN networks) considers these settings to be static during the entire running time of a simulation. In other words, the LTE configuration node where the MBSFN area profiles cannot be adjusted dynamically, and its initial settings (including the MCS assigned for each of its MBMS bearers) cannot be changed after the deployment phase.
- To overcome the limitation of OPNET regarding this static configuration of its MBSFN, I am working on applying a virtual MBSFN to handle any complexity involved in the process of dynamic reconfiguration. To do that, I am relaying on a full utilization of the Physical Downlink Shared Channel (PDSCH) for multicast sessions (in addition to unicast connections) instead of using the resource blocks specifically allocated for MBSFN. I was concerned that some resource blocks would not be utilized, thereby negatively impacting the achieved service ratio in the system. However, since I am not using any resource blocks of those specifically allocated for MBSFN, I found that the OPNET –by default- is freeing and releasing these resources because there is no MBMS subscribers, and it allows PDSCH to take an advantage of these inactive sub-frames and use them to extend the number of its available recourse blocks.
- After running a number of scenarios with varied simulation time (i.e. 10 to 60 minutes), the simulation is usually aborted once a multicast session is created. Once I redeploy the five cells in a way that there is no overlapping regions between them, the simulation works fine (but it gives similar results to the single-cell eMBMS case). My analysis for both error logs and simulation consoles indicates that the problem may be related to either: 1) the absence of synchronization among all cells subscribed to a multicast session, or 2) an invalid access to some resource blocks that are reserved for control signals among neighboring eNodeBs. Both errors may be occurred since I am trying to avoid using the MBSFN profile.
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.
- March 22 to March 24:
- Samples of the obtained results can be found Here.
- March 08 to March 21:
- The status of our implementation is as following: a) the optimal solutions for the Maximum Service Ratio, Maximum Energy Saving, and the Proportional Fairness approaches are completed; b) the greedy algorithm for the Maximum Service Ratio is completed; and c) I am working on finalizing the greedy algorithms for both Maximum Energy Saving and Proportional Fairness approaches.
- I tried to present a comparison between the obtained results from the proposed Maximum Service Ratio algorithm and its corresponding optimal solution, but the used scenarios has parameters twice than the limit of our trail version of CPLEX. We used to have a full license, but it was removed from the terminal server. Anyway, I am running now simple scenarios of the proposed algorithm to show its performance, comparing to the optimal solution.
- February 22 to March 07:
- I am still working on the Hybrid Streaming with Recursive Patching problem. The latest report is Here.
- We are still having some issues regarding the OPNET licenses. We received a single set of licenses, which means Masum and I cannot work simultaneously on the implementation. We used to have 6 sets of licenses, so I contacted the support team of OPNET asking for additional licenses. To avoid any delay in our progress, we are planning to divide the next week work into two tasks: 1) implementing the optimal solutions using CPLEX, and 2) applying the greedy algorithms using OPNET.
- February 08 to February 21:
- I am still working on the hybrid streaming with recursive patching algorithm. As you know, I am proposing three solutions for the problem: 1) maximum service ratio, 2) minimum power consumption, and 3) energy saving with proportional fairness. An initial draft of the problem formulation along with a brief introduction is Here.
- For each optimization problem, I am proposing optimal and near-optimal solutions. I will try to submit these solutions and finalize the complete version of our paper (without the evaluation section) at the end of next week.
- I also worked on solving some issues in the implementation. However, our licenses were expired last Tuesday, so I couldn’t access the simulator in the past three days. I have contacted OPNET for more than three weeks, but they are slow in their process of our application. I will keep in touch with them, so we can avoid any interruption in our works.
- January 25 to February 07:
- I am still working on the Hybrid Streaming with Recursive Patching algorithm. I am proposing three solutions for the problem: 1) Maximum Service Ratio, 2) Minimum Power Consumption, and 3) Energy Saving with Proportional Fairness. Brief description of each proposed solution can be found in the document Here.
- All three solutions use the recursive patching. I looked into the inbound bandwidth limit of a receiver in an OFDMA system. I found that terminals could receive video streams as many as their buffer can accommodate. Therefore, late users will be allowed to join any existing multicast session if: a) they arrive within a threshold period, which is determined based on their available buffers; and b) their enrollment in the multicast group will not impact the main objective of the optimization problem (for example, late users in the second solution cannot join a multicast session if their enrollment will cause a decrease in the energy saving).
- January 11 to January 24:
- As we discussed in our last meeting, we should extend the hybrid video-on-demand streaming algorithm by: 1) integrating the patching option, 2) adding the advanced buffering concept, and 3) reformulating the current optimization problem by taking into consideration other objectives in addition to minimizing the power consumption of mobile terminals. The report Here tries to summarize the progress made on these three topics.
- January 08 to January 10:
- I am currently working on several ideas which are mainly as following: a) the current objective function in the optimization problem aims at maximizing the average energy consumption of mobile receivers. To achieve this goal, we are trying to utilize as much bandwidth resources as it is possible (i.e. a single video can be transmitted four times but with different MCS modes). In other words, the objective function provides energy saving on the terminals even if such saving may decrease the number of served users in the system, increase the amount of bandwidth usage, and consume more power on the base stations. From a service provider perspective, such approach is not acceptable since the benefits are only seen on the user side (and viewers may not notice such saving on their power resources). We are trying to overcome this point by changing the objective function to maximize the number of served users in the system in addition to minimizing the energy consumption of mobile receivers; b) the modified SCG algorithm uses a grace patching. The grace patching helps in decreasing the service delay, reducing the bandwidth usage, and increasing the service ratio. Yet, the patching connections in some scenarios may carry duplicate segments of the same video. We discussed eliminating such duplication, but our idea was very complex regarding its implementation. We are working on simplifying the proposed idea since it will definitely improve the current performance results; and c) the SCG algorithm starts with assuming that resource blocks are more than enough to accommodate the all-unicast scheme. Then it reduces the number of unicast/multicast with different MCS modes until the constraint of having limited resources is satisfied. Following this technique may cause an increase in the complexity of the algorithm, especially if viewers request many different videos that have a lot of segments. To simplify the SCG algorithm, we are working to make the algorithm start from the traditional multicast approach (instead of all-unicast) and then use different MCS modes for video based on the available resource blocks.
- January 04 to January 07:
- We have improved the performance results of the SCG algorithm. Some initial results can be seen in the document Here.
- December 21 to January 03:
- We have improved the SCG algorithm by: 1) adding a patching option for those cases when a viewer has arrived late by a certain threshold. Integrating the patching concept into the SCG algorithm leads to a decreasing in the average service delay among mobile terminals and also results in an increasing in the service ratio, as we observed from the obtained results; and 2) changing the formula used to compute the amount of energy saving in the system. The modified formula now can be utilized to give a fair comparison between the traditional multicast method, the all-unicast approach, and the proposed algorithm. Using this new formula, the SCG algorithm will most likely outperform both multicast and unicast schemes by a significant margin.
- The first point has been already implemented. We are working to complete the second one with a few days, so we can submit the modified algorithm and its results before our meeting next week.
Fall 2013
- Courses:
- CMPT 899: Ph.D. Thesis
- December 16 to December 20:
- I have integrated the patching concept into the SCG algorithm. Both problem formulation and proposed algorithm consider the segment information of videos ($Z$) and the number of current viewers ($w_{v, m, z}$). Taking an advantage of these two parameters, we can easily modify the SCG algorithm such that the patching method is utilized. At this moment, I am working on 1) simplifying the SCG algorithm, 2) changing the objective function to maximize the number of served users in addition to minimizing the energy consumption, and 3) improving the performance results obtained by Masum.
- In the evaluation section of Masum’s thesis, the proposed algorithm is compared with the unicast and multicast schemes with respect to the energy saving, service delay, and service ratio. Even though the proposed algorithm is compared with two totally different approaches, I believe this is what we should follow since the proposed hybrid method is a combination of both techniques. Yet, I have a couple of concerns about the current obtained results.
- The first concern is regarding the Energy Saving Metric. Based on the current implementation, the unicast approach outperforms the SCG algorithm as well as the multicast technique. However, I believe such comparison devalues the proposed algorithm, and it is not completely fair. To illustrate, the number of users served through unicast connections are -on average- 20 times less than those users served by the SCG algorithm. Such difference in the number of served users will eventually impact the energy saving value of both algorithms. For this reason, I am working on modifying the formula used to determine the amount of energy saving. I believe that the number of users should be taken into account in the formula to reflect a fair comparison between the three methods.
- The second concern is regarding the Service Delay Metric. The service delay of SCG is usually around 6 second. Applying the patching method should significantly minimize this delay, and it will show huge improvement over the traditional multicast scheme.
- The last concern is regarding the Service Ratio Metric. The current hybrid SCG algorithm can serve more than 20 times the unicast approach, and its performance is close to (but less than) the multicast technique. However, I applied a little modification in the SCG algorithm, which can lead to better performance comparing to both multicast and unicast approaches. In its worst cases, the new modified SCG algorithm will yield the same service ratio that is obtained through the multicast technique.
- December 12 to December 15:
- Masum and I discussed some possibilities to extend his work. I am working now on searching the feasibility of each suggestion and the possibility of its implementation (i.e. to ensure OPNET has no limitation on such modification). I will look also into simplifying SCG algorithm and its integration with the patching technique.
- December 07 to December 11:
- As I mentioned in the beginning of my latest report Here, our proposed algorithm uses both multicast and unicast to serve the mobile terminal of any VOD system. Both formulation and solution also implicitly state this assumption through the parameter $n_{vzm}$, whose value should be equal to 1 for a unicast connection and greater than 1 for a multicast session.
- The multi-layer streaming (in addition to advanced buffering and dynamic SFN) is utilized 1) to get more improved performance results and 2) to distinguish our hybrid scheme from other related work such as the paper Here. I am aware of the lab’s developed solutions for SVC streaming, but I will take a second look on them to make sure that our contribution is not duplicating a previous work.
- November 23 to December 06:
- I have done some modification on my video-on-demand streaming algorithm. As it can be noticed from the document Here, both problem formulation and proposed solution consider only the advanced buffering concept and do not take into account the idea of dynamic single frequency network. The current results show a slight improvement on both bandwidth usage and average gained quality satisfaction. In my opinion, they still need more improvement. For this reason, I am trying to increase the number of users served in the system and change some thresholds in the process of selecting video layers, such that we can get better performance results in our comparison with the traditional multicast schemes.
- Regarding the progress of my implementation for the dynamic single frequency network, I have been working on this issue for more than four months. Still, I found no success in applying it on OPNET. As you know, I have contacted the support team at OPNET before starting my implementation. Their response stated explicitly that such approach is not supported, and it would be a complicated process to be added as a feature. According to their explanation, there are two types of object attributes: promoted and non-promoted. The values of promoted attributes can be changed at higher layers (i.e. I can add a few lines within the process models to set these values using the function “op_ima_obj_attr_set”). Unfortunately, the MBSFN Area attribute under eNodeB does not support "promoted" values. Because of the non-promoting object attributes, the list of MBSFN areas in the simulation configuration will be disabled during the running time, so they cannot be adjusted. To overcome these limitations, I was trying to implement a virtual scenario of DSFN. However, all my possible solutions have failed in achieving my objectives. I will continue searching in this topic, but I just want to let you know about its situation.
- November 09 to November 22:
- My proposed algorithm for video-on-demand streaming over LTE networks depends mainly on three features: 1) advanced buffering technique, 2) dynamic single frequency network, and 3) scalable video coding scheme. After exploring the related works in the literature, I found that both first and second features have not been exploited or utilized yet. Even if some people may associate the advanced buffering idea with the prefetching technique, both concepts are not comparable since the advanced buffering approach in my algorithm is instantly performed for certain segments of the video streams, and it follows a given user behavior model to ensure full utilization of the broadcasting nature of eNodeB in LTE systems.
- Currently, I have completed implementing three different simulation scenarios: 1) a greedy algorithm which a) prioritizes the enhancement layers based on their bandwidth requirement as well as their corresponding gained quality stratification, b) finds for each enhancement layer its best MCS that maximize the ratio of the gained quality stratification to the required number of resource blocks, and c) selects the optimal subset of video data layers such that the total video quality across all mobile terminals is maximized; 2) a traditional multicast-unicast streaming in which mobile receivers are served using a MCS adjusted according to the user with the worst channel condition. In this scenario, both scheduler and admission control mechanisms are configured according to the default setting of OPNET (i.e. which uses a Round Robin algorithm by default); and 3) the third scenario is similar to the previous one, but the configurations of both scheduler and admission control mechanisms are customized in order to follow a proportional fair approach instead of the Round Robin algorithm.
- All three scenarios are implemented in the presence and absence of advanced buffering technique. My current result indicate that our proposed algorithm, with regards to the peak spectral efficiency, gives at most 18% and 12% higher than Round Robin and Proportional Fair algorithms, respectively. I know that these percentages are not high enough, but I am working now to examine other performance metrics such as: the block probabilities and the average gained quality satisfaction.
- Regarding the dynamic single frequency network, I have not succeeded yet in integrating it into my implementation. I have tried several approaches to implement DSFN, but OPNET always does not support any modification with this regard. I am trying to see if I can get good result regarding the block probability and the average gained quality satisfaction, I may focus on the advanced buffering and come back to the DSFN after the NOSSDAV submission.
- October 28 to November 08:
- My focus was entirely on the OPNET simulation part. I mainly worked on: a) completing the scheduler context for the frame generator entities (i.e. the scheduler now is following the solution of our bandwidth-efficient optimization problem), b) prioritizing the radio bearer queues within the scheduler (i.e. to ensure that base layers for video streams are served prior to their enhancement layers), and c) customizing the application model to generate a number of scalable video streams.
- Some scenarios are currently running, but I am still working on solving some issues with regard to the dynamic single frequency network. My target for the next few days is to finish the write-up for our submission to NOSSDAV, in addition to fixing the DSNF.
- October 12 to October 27:
- I started writing the first draft of the paper intended to be submitted to NOSSDAV. I still need to finish writing down the dynamic SFN procedure, in addition to the evaluation section.
- I have a doubt about on which parameter we should rely to trigger the reconfiguration phase of SFN areas. My current simulation assumes that the reconfiguration approach is based on the densities of viewers, but I am not sure whether this parameter is enough or not. Relying on the number of viewers may cause frequent reconfiguration for SFN areas since receivers are mobile terminals (i.e. not stationary devices). To overcome such possibility, I am trying to add another parameter into the equation. My plan is to make it as an optimization problem that maximizes the number of users served in SFN areas subject to a given constraint (such as the power coverage).
- Regarding the evaluation section, I am still working on the implementation part. Hopefully, we can get some initial results within two weeks.
- October 05 to October 11:
- I worked on modifying a number of OPNET processes to manage the resources blocks, to generate users requests, and to choose a certain layer of a video.
- I have not looked at the dynamic SFN problem this week because I would like to finish the simulation using a static SFN. Then I will try to apply the dynamic SFN scenario.
- September 28 to October 04:
- I am still working on the implementation of Dynamic SFN in LTE networks. I have two ideas about using the Dynamic SFN concept, so I started writing the details of each idea. My objective is to submit one idea to NOSSDAV 2014 and the other one to MoVid 2014. The deadline for both conferences will be at December 13.
- My milestones for the coming weeks are as following: 1) finishing all necessary process and application models in OPNET, 2) completing the interaction between both frame generator and scheduler entities in OPNET, 3) submitting a draft about the scalable VOD streaming algorithm which depends on advanced segment prefetching, 4) submitting a draft about the impact of DSFN on the multicasting process in MBMS, and 5) finalizing the simulation of both papers and getting the required results.
- September 21 to September 27:
- I am still working on implementing the idea of dynamic SFN in LTE networks. I tried to follow the semi-automatic approach that has been suggested. Unfortunately, it does not solve our problem because the MBSFN Area attribute under eNodeB does not support "promoted" values. In OPNET, there are two types of object attributes: promoted and non-promoted. The values of promoted attributes can be changed at higher layers (i.e. we can add a few lines within the code to set their values using the function “op_ima_obj_attr_set”). We can also specify a set of values and time instances where the promoted attributes should follow during the simulation time. Because of the non-promoting object attributes, the list of MBSFN Areas in the simulation configuration will be disabled during the running time, so they cannot be adjusted even if we follow a semi-automatic approach.
- I was focusing on the dynamic SFN concept because I would like to apply it on our proposed algorithm. Then I would like to extend my research to study its effect on the multicast process in LTE networks.
- I also worked on modifying both frame generator and scheduler entities in eNodeB in order to let the two interact with each other in a way that helps mobile terminals to buffer their advanced segments without overflowing their storage resources.
- September 02 to September 20:
- My main focus now is on letting an LTE network dynamically construct a single frequency network based on the popularity of videos within its cells. To achieve that, a simple approach is assigning neighboring cells to the same SFN area if all of them have requested the same video to be streamed within their cells.
- My current obstacle in the OPNET implementation of dynamic SFN is that an MBSFN area is assigned to the eNodeBs via the attribute "LTE > MBMS > MBSFN Area", and this assignment remains the same for the entire simulation. Even if I try to change the attribute setting (e.g. within the code) during the simulation, there will be no effect as the attribute value is parsed at the beginning of the simulation and then the model uses it to estimate and set different aspects of MBMS settings. In other words, dynamic SFN are not currently supported because the configuration of SFN areas is only executed at the initialization phase of the simulation. I am still working on overcoming this limitation.
Summer 2013
- Courses:
- CMPT 899: Ph.D. Thesis
- July 14 to July 28:
- In our last meeting, some concerns have been raised about the proposed algorithm for Video-on-Demand Streaming over LTE Networks. I tried to answer these concerns in the document Here.
- June 01 to July 13:
- The latest report can be found Here.
- May 04 to May 31:
- My new algorithm mainly relies on three features: a) a scalable video coding to support the existence of heterogeneous receivers with different capabilities (i.e. it uses actual traces); 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 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.
- My focus is 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: a) introducing an efficient bandwidth utilization algorithm, b) reducing the energy consumption on mobile terminals, c) applying a forward error correction mechanism to ensure reliable multicasting, and d) providing a secure multimedia streaming process.
- 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.
- I also focused 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.
- Regarding the testbed, the simulator should encompass several aspects of LTE networks, including both the E-UTRAN (Evolved Universal Terrestrial Radio Access) and the EPS (Evolved Packet System). In particular, it should support single-cell and multi-cell environments, quality-of-service (QoS) management, multiuser environments, user mobility, and handover procedures. Three kinds of network nodes should also be modeled: UE, eNB (Evolved Node B), and MME/GW (Mobility Management Entity/ Gateway). Several traffic generators at the application layer should be implemented, and the management of data radio bearer should be supported. Finally, well-known scheduling strategies, the AMC scheme, CQI feedback, frequency reuse techniques, and models for the PHY layer should be developed.
Spring 2013
- Courses:
- CMPT 899: Ph.D. Thesis
- March 09 to April 02:
- The presentation about the "A User Behavior Model for Video-on-demand Services" can be found Here.
- February 23 to March 08:
- An initial draft of the latest report is Here. It contains a few samples of the results. However, these obtained figures are most likely to be replaced with new ones since the complete implementation has not been finished yet.
- Regarding the implementation phase, I have encountered a lot of difficulties. These problems are always related to certain restrictions in the current version of OPNET. To solve such issues, I should either wait for the next versions of OPNET or find an alternative way of implementation, which often depends on assumptions leading to a significant downgrade of the expected performance results of proposed algorithms.
- For this reason, in addition to my current work, I started my investigation about the possibility of building our own testbed specifically developed for video-on-demand services over LTE networks. Hopefully, I will complete an initial proposal for a suggested testbed at the end of next week.
- 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.