{'fraction_non_alphanumeric': 0.02370820668693009, 'fraction_numerical': 0.0012158054711246201, 'mean_word_length': 4.857651245551601, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PSC: a priority selected cache algorithm for streaming video over Internet

Proxy technology is commonly used at boundaries of ISPs (Internet service providers) to reduce the bandwidth requirement in the backbone WAN. By caching portions of a video in a video proxy closed to clients, the video playback quality can be dramatically improved and the problem of insufficient WAN bandwidth is eliminated. In the loss-less network environment, the OC (optimal cache) algorithm uses minimum cache storage in the video proxy and reduces the maximum bandwidth required in the backbone WAN. However, data packets may be lost to affect video playback quality while streaming video data through the Internet. Consider an MPEG video in which an I-frame is referenced by all other frames (B- or P-frames) in the same GOP (group of picture). Losing packets belonging to an I-frame makes it difficult to decode all of subsequent frames retrieved from the same GOP. The major goal of this paper is to select maximum video data from high-priority frames (I-frames) caching in the video proxy in order to defeat decoding error caused by packet loss and improve error recovery while serving QoS-guaranteed video playback. We propose a novel PSC (priority selected cache) algorithm for solving this cache data selection problem. The PSC algorithm uses minimum cache storage in the video proxy and reduces maximum bandwidth requirement in the backbone WAN (as does the OC algorithm). Additionally, experiment results with several benchmark videos show that the PSC algorithm is 15% better than the conventional OC algorithm at caching I-frame data in a video proxy.