• No results found

2.4 Energy Efficient Mobile Platforms

2.4.6 Energy Efficient Applications

2.4.6.3 Partial Caching

Caching techniques are used in many applications to improve user experience as they can significantly decrease access delay.

normally is small in size and relatively static. Different from traditional web brows- ing or data downloading, multimedia streaming, which is increasingly popular nowa- days, has tremendous bandwidth requirements and expected user quality of experience. Download before watching solutions are suggested and employed by some protocols. However it is not feasible in many cases as it requires huge amount of buffer space at the client side, and a significant amount of startup delay is introduced. Therefore partial caching of data using proxies is employed in order to perform high quality streaming. The mechanism is depicted in Fig. 2.12.

One partial caching technique performs layered caching based on prioritisation of specific frames. A layered approach is considered in [154] where each stream is dis- tributed into different layers with distinct priorities. The layering mechanism caches the base layer for each stream and discards the last segments of the least popular layer. It performs quality adaptation to the variation of client bandwidth and allows the aver- age quality of a stream to be proportional to its popularity and the quality variation be inversely proportional to its popularity in order to finally achieve efficient cache state.

Other approaches perform segment-based caching where objects are divided into segments and only a small part of them are cached to decrease startup delay. The other part are fetched on demand.

A prefix caching approach is proposed in [155]. It stores a large number of initial frames in the buffer and retrieves the remaining frames when a streaming request is made by the user. The size of the cached data depends on both the physical constraints, for example bandwidth and transmission distance, and the quality required by the user such as the maximum playback delay.

The mechanism presented in [156] works in a similar manner. It also takes into consideration the popularity of the multimedia content when deciding whether to re- place a video or to cache a video, however, the quality of the cached video is also taken into consideration. When the popularity of a video stream increases, the quality and

size of the cached frames increases.

The solution proposed in [157] provides high QoS levels and achieves high re- source efficiency at proxies. It mainly consists of two parts: adaptive and lazy seg- mentation, and active pre-fetching. The adaptive and lazy segmentation adapts the segmentation function to user behaviors and tries to segment the video object as late as possible by adopting three functions. The first part is aggressive admission pol- icy which caches the whole media object when it is accessed for the first time based on the assumption that the future access behavior of a new object is unknown at the first access. An object is segmented adaptively according to the average client access length computed at runtime instead of before access. The two-phase iterative replace- ment policy will decide the candidate segments to be replaced based on the average number of requests, the average duration of access, the length of cached data and the predicted future access probability which is calculated based on the average intervals between requests and the current time. Continuous streaming is guaranteed by calcu- lating the start point of pre-fetching based on the streaming rate and pre-fetching delay at runtime. Other similar protocols use variable size segmentation technique.

The solution proposed in [158], divides the video stream into variable-sized seg- ments which are assigned different priorities for caching and replacement. The seg- mentation policy is based on the distance between a segment and the start point of the whole stream, which means the closer a segment is to the beginning frame, the smaller it will be. The reason behind this is to achieve high buffer utilization by discarding a large size of data chunk when replacement is performed. The replacement policy depends on the popularity of a segment and the distance to the first video frame, where the popular segment and the first segments are treated preferentially.

The mechanism used in [159] combines both uniformly sized segments and vari- able sized segments when dividing video streams.

plications discussed in this section.

Table 2.6: Energy Efficiency at Application Layer.

Solution Type Energy Impact

Huffman coding [117] Lossless compression Processor and Network Arithmetic coding

[118]]

Lossless compression Processor and Network

DCT [120] Lossy compression Processor and Network Fractal compression

[121]

Lossy compression Processor and Network

Delta modulation [122, 123]

Lossy compression Processor and Network

CELP [127] Lossy compression Processor and Network JPEG [130] Lossless and lossy com-

pression

Processor and Network.

Energy-aware MPEG- 4 FGS [139]

QoS-oriented adaptation Network

QOAS [140] QoS-oriented adaptation Network ASRC [142] QoS-oriented adaptation Network Energy-aware video

streaming [143]

Power-aware adaptation Processor and Network

Energy-aware adapta- tion [151]

Power-aware adaptation Network

Multimedia proxy caching mechanism [154]

Layered-caching Network

Proxy prefix caching [155]

Protocol Type Energy Impact Proxy caching mecha-

nism [156]

Segment-based caching Network

Segment-based proxy caching [158]