{'fraction_non_alphanumeric': 0.01983365323096609, 'fraction_numerical': 0.0012795905310300703, 'mean_word_length': 5.15748031496063, '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}}
Caching in Bandwidth and Space Constrained Hierarchical Hyper-Media Servers

Information services of the future will employ a hierarchical server architecture, in which continuous as well as non-continuous media information stored at a remote server may be cached at a local server on-demand. Unlike memory caches, disk caches are constrained both by available bandwidth and space. Consequently, in addition to multiplexing the cache space among multiple data types, cache management algorithms will be required to efficiently utilize both disk space and bandwidth, and thereby minimize the load imposed on the network and the remote server. In this paper, we present an algorithm that achieves these objectives. To do so, the algorithm: (1) selects an entity to be cached based on the current cache bandwidth and space utilization; and (2) determines which, if any, of the entities presently in the cache that should be replaced. The procedure for determining the entities to be replaced is governed by the relative values of the bandwidth and space requirement of the entity to be cached and the available cache resources. By judiciously selecting the entities to be replaced, the algorithm maximizes the hit ratio, and thereby minimizes the load imposed on the network and the remote server. We have performed extensive simulations to evaluate our caching algorithm. We have also instantiated our caching algorithm in a prototype information delivery system. We describe the architecture of our prototype system, and present and analyze our simulation results.