<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jsea</journal-id>
      <journal-title-group>
        <journal-title>Journal of Software Engineering and Applications</journal-title>
      </journal-title-group>
      <issn pub-type="epub">1945-3124</issn>
      <issn pub-type="ppub">1945-3116</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jsea.2026.193006</article-id>
      <article-id pub-id-type="publisher-id">jsea-150404</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Computer Science</subject>
          <subject>Communications</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Investigation of Object-Based Web Caching Using a Framework Model for User Request Access Patterns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0009-0002-3969-5447</contrib-id>
          <name name-style="western">
            <surname>Hurley</surname>
            <given-names>Richard</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Sturgeon</surname>
            <given-names>Robert</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Department of Computer Science, Trent University, Peterborough, Canada </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>11</day>
        <month>03</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>03</month>
        <year>2026</year>
      </pub-date>
      <volume>19</volume>
      <issue>03</issue>
      <fpage>105</fpage>
      <lpage>129</lpage>
      <history>
        <date date-type="received">
          <day>11</day>
          <month>02</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>22</day>
          <month>03</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>25</day>
          <month>03</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jsea.2026.193006">https://doi.org/10.4236/jsea.2026.193006</self-uri>
      <abstract>
        <p>In this paper, we utilize a novel framework model that generates the wide variety of user object-level request access patterns that are prevalent in the World Wide Web. The framework model consists of three sub-models: one for user file access, one for Web pages, and one for storage servers. Web pages are assumed to consist of different types and sizes of objects, which are characterized using several categories: articles, media, and mosaics. The framework model was developed to be general enough to be applicable to various distributed applications that are present in the WWW. The distributed application to which we chose to apply the User Request Access Pattern Model is Web caching. Web caching is a system that is intended to improve user website experience by reducing response times, improving availability, lowering server load, and reducing bandwidth. We then use a discrete-event simulation to investigate the performance of an object-based Web caching application under a variety of user request access patterns.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>User Request Access Patterns</kwd>
        <kwd>Performance Modelling</kwd>
        <kwd>World Wide Web</kwd>
        <kwd>Simulation</kwd>
        <kwd>Web Caching</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>With the explosion in the number of mobile devices, tablets, laptops, etc., there has been a surge in WWW traffic stemming from users accessing information on websites. The type of information can range from the latest sports scores to weather forecasts to generative AI requests. The items requested (<italic>i.e.</italic>, objects) vary by size and number depending on the type of request. One of the largest impacts on a distributed system will be an increasing load on Web servers resulting from the stream of user requests for information that can be found in the various Web pages (see <xref ref-type="fig" rid="fig1">Figure 1</xref>, which presents a simplified diagram that illustrates a user initiating a request to a Web server for a Web page).</p>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/9303487-rId15.jpeg?20260325103720" />
      </fig>
      <p><bold>Figure 1</bold><bold>.</bold> Simplified World Wide Web showing an example request/response chain.</p>
      <p>User request access patterns also vary tremendously, given that Web pages themselves are vastly different in terms of the variety of objects that make up a Web page: text, images, audio, video, code, etc. [<xref ref-type="bibr" rid="B1">1</xref>]. It is important to be able to incorporate the wide variety of user access patterns when investigating the performance of distributed applications, such as Web caching [<xref ref-type="bibr" rid="B2">2</xref>][<xref ref-type="bibr" rid="B3">3</xref>].</p>
      <p>For this work, we utilized the user access pattern framework model developed by Sturgeon [<xref ref-type="bibr" rid="B3">3</xref>] to investigate the performance of an object-based Web caching system. The framework captures a wide variety of user (<italic>Hypertext</italic><italic>Transfer</italic><italic>P</italic><italic>rotocol</italic> (HTTP)) request patterns in the <italic>World</italic><italic>Wide</italic><italic>Web</italic> (WWW), which allows one to compare the relative performance of distributed applications such as Web caching [<xref ref-type="bibr" rid="B3">3</xref>]-[<xref ref-type="bibr" rid="B5">5</xref>]. The reality of the WWW is that it is complex: it involves the transmission of large and varied amounts of information via the Internet, through a variety of devices spanning many regions, countries, and even into space. The framework model attempts to capture much of this and allows for the relative comparison of the performance of various system configurations.</p>
      <p>There has been some other research on modelling user request access patterns on the Web, but it is limited: most of it focuses on the Web page as the basic unit [<xref ref-type="bibr" rid="B6">6</xref>]-[<xref ref-type="bibr" rid="B8">8</xref>]. The work is done in [<xref ref-type="bibr" rid="B3">3</xref>] models at the object level and it is for that reason why this model will be used as a basis in this paper.</p>
      <p>The distributed application that we will be investigating to incorporate the user access pattern framework model is Web caching: an important application that involves the temporary storage of frequently accessed Web page objects at various intermediary storage locations between users and Web servers. By storing Web page objects <italic>closer</italic> to a user, performance benefits can be achieved (see <xref ref-type="fig" rid="fig2">Figure 2</xref>) [<xref ref-type="bibr" rid="B5">5</xref>][<xref ref-type="bibr" rid="B7">7</xref>][<xref ref-type="bibr" rid="B9">9</xref>]. The investigation is novel as we are investigating Web caching at the object level: a much finer granularity than an entire Web page. There has been some work done in this area in the past, but the focus was on miss ratios [<xref ref-type="bibr" rid="B10">10</xref>], where our performance criteria will be user response time.</p>
      <fig id="fig2">
        <label>Figure 2</label>
        <graphic xlink:href="https://html.scirp.org/file/9303487-rId16.jpeg?20260325103719" />
      </fig>
      <p><bold>Figure 2.</bold> Example of a Web page request receiving a cached response.</p>
      <p>The principle of operation for Web caching is as follows: as the response to a request for information travels via the Internet to the user, copies of Web page objects that make up the response are stored at the intermediary storage locations so that subsequent requests for the same information can be fulfilled by intermediary storage locations. This can reduce the time to fulfill the next request. Not all information can be stored in intermediary storage locations because of limited cache size and the fact that certain types of information change so rapidly, thus making caching impracticable [<xref ref-type="bibr" rid="B11">11</xref>].</p>
      <p>For this paper, we used a discrete-event simulation model to investigate the performance of an object-based Web caching system utilizing an expanded model of user request access patterns. This paper is organized as follows: Section 2 gives an overview of the system, Section 3 summarizes the User Request Access Pattern Model, Section 4 introduces the Object-Based Web caching model with results, and finally, in Section 5, we present some concluding remarks.</p>
    </sec>
    <sec id="sec2">
      <title>2. System Overview</title>
      <p>At the highest level, as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref> and <xref ref-type="fig" rid="fig2">Figure 2</xref>, we consider the WWW to consist of the following components: users, Web servers, the Internet, and the information being requested. The term <italic>user</italic> will refer to an agent that is requesting information—human or machine [<xref ref-type="bibr" rid="B12">12</xref>]. The <italic>Internet</italic> is the communications medium that interconnects the users and Web servers, typically through a series of intermediaries. Finally, <italic>Web</italic><italic>servers</italic> are the devices that store the information in the form of Web pages and transmit results to the user to satisfy a request.</p>
      <p>The composition of a Web page can be highly varied, ranging from a monolithic document of plain text to a complex collection of elements of various forms. Each Web page must contain at least one element, but normally consists of many elements called <italic>Web</italic><italic>page</italic><italic>objects</italic>. The Web page therefore can be viewed as a group of Web page objects. Web page objects have several properties, but for our study, we are primarily concerned with their size, as this has a direct effect on the retrieval of the Web page. There are dozens of types of Web page objects, but some of the common ones that make up a Web page are: <italic>Hyper</italic>-<italic>Text</italic><italic>Markup</italic><italic>Language</italic> (HTML), JavaScript, <italic>Extensible</italic><italic>Markup</italic><italic>Language</italic> (XML), <italic>Cascading</italic><italic>Style</italic><italic>Sheets</italic> (CSS), image, audio, video, octet [<xref ref-type="bibr" rid="B1">1</xref>][<xref ref-type="bibr" rid="B7">7</xref>].</p>
      <p>An important consideration regarding Web pages is that their content can change with time (referred to as <italic>dynamic</italic><italic>content</italic>) [<xref ref-type="bibr" rid="B13">13</xref>][<xref ref-type="bibr" rid="B14">14</xref>]. Although the specific content on a Web page may change, it still represents a single resource [<xref ref-type="bibr" rid="B15">15</xref>]. For example, a news main page such as <ext-link ext-link-type="uri" xlink:href="https://www.cnn.com/">https://www.cnn.com/</ext-link> consists of a collection of news articles available on the site at some point in time. The collection, however, changes with time as current news articles are added and old ones are removed.</p>
      <p>Another component within the WWW is the <italic>Web</italic><italic>server</italic>, which has an important impact on user experience. Web servers, which range from a single computer to a collection of networked computers, hold the Web pages that users request [<xref ref-type="bibr" rid="B16">16</xref>]. The speed at which they can respond to requests contributes in large part to the user response time.</p>
      <p>In a Web caching system, additional storage is provided at intermediary locations that serve as an extension of the Web servers in the storage hierarchy. These Web caches store copies of frequently accessed objects from the Web pages stored on the Web servers. The basic premise is that user response time would be improved if users are able to retrieve some of the objects from the Web caches as opposed to having to access them from the Web servers [<xref ref-type="bibr" rid="B17">17</xref>].</p>
      <p>The final component of the system is the Internet. We recognize that the Internet is a complicated collection of protocols for communicating across arbitrary packet-switched networks, and is made up of hosts, routers, and networks [<xref ref-type="bibr" rid="B18">18</xref>]. That said, since we will be focusing on relative as opposed to absolute performance, we will abstract the network delay into the service time for a user request.</p>
    </sec>
    <sec id="sec3">
      <title>3. User Request Access Pattern Model</title>
      <p>In this section, we present an overview of the framework model that we will be incorporating into our Web caching model. The User Request Access Pattern Model represents the process of users interacting with the WWW to obtain Web pages from the respective Web servers. One of the novel features of the model is that Web pages are represented at the object level. The main performance metric in which we are interested is <italic>Mean</italic><italic>Response</italic><italic>Time</italic> (MRT): the time from when a user requests a Web page until the Web page (and all of its objects) has been delivered. This paper will provide just enough detail on the model and its parameters so as to provide the context for its application to our Web caching model. For a detailed description and analysis of the User Request Access Pattern Model, please see [<xref ref-type="bibr" rid="B2">2</xref>].</p>
      <sec id="sec3dot1">
        <title>3.1. High-Level Model</title>
        <p>The high-level model for user request access patterns is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>. This represents the total process of a user requesting a Web page from a server, and the server’s subsequent response. To capture the behaviour of the users, servers, and Web pages, the model is composed of three sub-models: <italic>User-Request</italic><italic>Model</italic>, <italic>Server</italic><italic>Model</italic>, and <italic>Web</italic><italic>Page</italic><italic>Model</italic>. The User-Request Model manages the state of the users and their requests. Requests are received and processed by Web servers within the Server Model. The Web Page Model captures the Web pages in terms of their object composition and location.</p>
        <fig id="fig3">
          <label>Figure 3</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId18.jpeg?20260325103721" />
        </fig>
        <p><bold>Figure 3.</bold> User request access patterns model.</p>
        <p>The interaction of the three sub-models forms the <italic>request</italic>-<italic>response</italic><italic>pr</italic><italic>ocess</italic>. This process begins with the user selecting a Web page using the Web Page Selection Model (described in Section 3.2). The Web page request is transmitted to the Web server that will eventually supply the requested Web page to the user (Server Model described in Section 3.3). The time to service a request is based on many factors, including the composition of the Web page, the number and size of the Web page objects, as well as their media type.</p>
        <p>Once the user receives the response to their request, they cease interacting with the system until their next request (based on the user’s <italic>think</italic><italic>time</italic>). The <italic>think</italic><italic>time</italic> controls the rate at which users request Web pages. When not in the system waiting for a request to be served, a user is in a think state, which represents a user processing a previously retrieved Web page. A user will not request another Web page until they have completed their think state.</p>
        <p>For this research, we are interested in <italic>re</italic><italic>s</italic><italic>ponse</italic><italic>time</italic>: the time from the user initiating the request until receiving the response. Response time represents the sum of the transmission latency, the time in queue that the request awaits processing, and the request processing time.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. User-Request Model</title>
        <p>The User-Request Model represents the process of a user selecting and requesting a Web page. This sub-model consists of two main components: the <italic>User</italic><italic>Set</italic> and the <italic>Web</italic><italic>Page</italic><italic>Selection</italic><italic>Model</italic>. The purpose of the User Set is to model the users in the system and how they interact with the WWW. We use a finite population model which incorporates the user think time in the request-response process as discussed in Section 3.1 [<xref ref-type="bibr" rid="B19">19</xref>].</p>
        <p>The Web Page Selection Model represents the mechanism by which users select Web pages. The pages stored in a Web cache and their request probabilities vary over time. Pages such as news articles, viral videos, course assignments, memes, etc., become popular for periods of time and then eventually become accessed less frequently. To represent this behavior, we use a variant of the dynamic page reference model described in [<xref ref-type="bibr" rid="B20">20</xref>].</p>
        <p>The dynamic page reference model for a system with <italic>M</italic> Web pages is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>. This model assumes that a Web page can be in one of two states: normal and popular. Web pages in the popular state have a higher request probability than that of the pages in the normal state, with <italic>v</italic> representing the ratio of page requesting rates for the popular to normal state.</p>
        <fig id="fig4">
          <label>Figure 4</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId19.jpeg?20260325103722" />
        </fig>
        <p><bold>Figure 4.</bold> Web page selection model.</p>
        <p>The model also assumes that there are two types of pages: conventional and potentially popular. Conventional pages remain in the normal state while potentially popular pages alternate between the normal and popular state based on a continuous-time Markov chain. Finally, we let <italic>M</italic><sub>0</sub> &lt; <italic>M</italic> denote the number of potentially popular pages that are present in the system. With this type of model, the model is able to generate page requests with high coefficients of variation, an attribute that has historically shown to be desirable in such systems [<xref ref-type="bibr" rid="B20">20</xref>].</p>
      </sec>
      <sec id="sec3dot3">
        <title>3.3. Server Model</title>
        <p><xref ref-type="fig" rid="fig5">Figure 5</xref> presents the details of the Server Model. The model consists of one or more devices that store the Web pages and subsequent objects, and serve the requests. The role of each Web server is to process requests and transmit the response back to the user (in the form of the Web page and all of its individual objects) If a request is received at a server that is busy, then the incoming request is placed in a wait queue (we assume <italic>First</italic>-<italic>Come</italic>-<italic>First</italic>-<italic>Serve</italic> (FCFS), however, this discipline may be modified to suit the desired investigation). Once a server completes a request, it then looks to the wait queue for the next request. If the wait queue is empty, then the server sits idle waiting for the next request.</p>
        <fig id="fig5">
          <label>Figure 5</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId20.jpeg?20260325103723" />
        </fig>
        <p><bold>Figure 5.</bold> Web page request model, showing FCFS Web server queues.</p>
        <p>The <italic>r</italic><italic>equest</italic><italic>service</italic><italic>time</italic> (<italic>R</italic><italic><sub>i</sub></italic>), the main parameter of the Server Model, is the time to process and retrieve Web page <italic>i</italic> and transmit it to the user. The request service time (<italic>R</italic><italic><sub>i</sub></italic>) is dependent on Web page size (<italic>W</italic><italic><sub>i</sub></italic>), which in turn is dependent on the number and size of the objects from which the Web page is comprised (denoted by <italic>Q</italic><italic><sub>i</sub></italic> and Θ<italic><sub>ij</sub></italic>, respectively). We assume that the Web page size (<italic>W</italic><italic><sub>i</sub></italic>) is equal to the transmission time (<italic>τ</italic><italic><sub>i</sub></italic>) to arrive at Equation (1).</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math display="inline">
            <mml:mrow>
              <mml:msub>
                <mml:mi>τ</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>W</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mstyle displaystyle="true">
                <mml:munderover>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>j</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>Q</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                </mml:munderover>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>Θ</mml:mi>
                    <mml:mrow>
                      <mml:mi>i</mml:mi>
                      <mml:mi>j</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The Web page size (and hence transmission time) is equal to the sum of the object sizes, where Web page <italic>i</italic> consists of a unique set of <italic>Q</italic><italic><sub>i</sub></italic> objects, and each object has a size Θ<italic><sub>ij</sub></italic> The number of objects (<italic>Q</italic><italic><sub>i</sub></italic>) and their object type are an important aspect of our model, and one that can be varied as needed to emulate a variety of different environments.</p>
        <p>We should note at this time that for Web caching, we simply substitute a different Server Model that incorporates the intermediary storage with the appropriate caching algorithms (see Section 4).</p>
      </sec>
      <sec id="sec3dot4">
        <title>3.4. Web Page Model</title>
        <p>The Web Page Model represents the totality of information that is requested and delivered to the user. It is represented as a collection of Web page objects that are transmitted from the Web server to the user upon request. We assume that a Web page request is not fulfilled until all objects that compose the Web page are received. Each Web page is unique and consists of a <italic>Web</italic><italic>Page</italic><italic>Object</italic><italic>Set</italic>, which is determined by the <italic>Web</italic><italic>page</italic><italic>category</italic> (see Section 3.4.2).</p>
        <p>3.4.1. Web Page Object Set</p>
        <p>A Web page consists of a collection of one or more objects, which we refer to as the <italic>Web</italic><italic>page</italic><italic>object</italic><italic>set</italic>. The composition of the object set is assumed to be determined by the number and type of objects. Each object consists of two main attributes: <italic>object</italic><italic>type</italic> and <italic>size</italic>. The object type and size are based on the work of Ihm [<xref ref-type="bibr" rid="B7">7</xref>] and summarized in <bold>Table 1</bold>.</p>
        <p><bold>Table 1</bold><bold>.</bold> Example Web page object parameters.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Object Type</bold>
                </td>
                <td>
                  <bold>Size</bold>
                </td>
                <td>
                  <bold>Examples</bold>
                </td>
              </tr>
              <tr>
                <td>text</td>
                <td>small</td>
                <td>HTML, XML, text</td>
              </tr>
              <tr>
                <td>script</td>
                <td>small, medium</td>
                <td>JavaScript</td>
              </tr>
              <tr>
                <td>css</td>
                <td>small</td>
                <td>CSS</td>
              </tr>
              <tr>
                <td>image</td>
                <td>small, medium</td>
                <td>.png, .gif, jpg</td>
              </tr>
              <tr>
                <td>audio</td>
                <td>small, medium</td>
                <td>.ogg, .mp3, .wmv</td>
              </tr>
              <tr>
                <td>video</td>
                <td>medium, large</td>
                <td>.flv, .mov, .mp4</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>While this set is not exhaustive, these six object types account for the majority of information being transferred via the WWW [<xref ref-type="bibr" rid="B7">7</xref>]. Recall that object sizes directly affect the Web page size, and thus influence the request service time.</p>
        <p>3.4.2. Web Page Categories</p>
        <p>The Web page category provides a means to define the composition of Web page objects within the model by specifying how objects are distributed based on their object type and size within the object set of each Web page. As noted in a previous section, the category of a Web page directly affects the retrieval time due to the potential differences in Web page sizes.</p>
        <p>In this model, we specify three Web page categories: <italic>article</italic>, <italic>media</italic>, and <italic>mosaic</italic>, but recognize that other page categories and their compositions are certainly possible.</p>
        <p><bold>Article:</bold> Typically contains information about one specific topic. The composition consists of a large amount of script, text and images, but has very little audio or video information. Examples: news articles, Wikipedia article pages.</p>
        <p><bold>Media:</bold> While this category is similar to articles, the main</p>
        <p>difference is that a media page provides more audio and/or video. Examples: image collages such as Google Images, Flickr, Instragram, Pinterest; image pages, music and video streaming.</p>
        <p><bold>Mosaic:</bold> Web pages that provide multiple links and summaries to other specific topics. Their size is primarily influenced by text and script, with some image information and a moderate amount of audio and/or video. Examples: search results such as Web searches, Pinterest image search, website main pages, and social media threads.</p>
        <p>The breakdown of Web pages into Web page categories is an input parameter in our model. The Web pages in each category are configured according to an input table that describes the way in which objects are to be distributed. <xref ref-type="fig" rid="fig6">Figure 6</xref> shows a graphical example of this configuration for <italic>M</italic> Web pages and their distribution using the Web page categories. It also displays one example Web page from each of the three Web page categories to illustrate how the page category affects the object distribution.</p>
        <fig id="fig6">
          <label>Figure 6</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId23.jpeg?20260325103726" />
        </fig>
        <p><bold>Figure 6.</bold> Example Web page composition based on category.</p>
        <p>From <xref ref-type="fig" rid="fig6">Figure 6</xref>, we can observe that an <italic>article</italic> Web page is dominated by several text objects, each of a medium size, as well as several small images with only a few of each of the other objects. In contrast, <italic>media</italic> Web pages are dominated by a moderate number of large audio and video objects. The <italic>mosaic</italic> Web page, however, has several medium-sized image objects and a moderate number of other objects.</p>
      </sec>
      <sec id="sec3dot5">
        <title>3.5. Important System Parameters</title>
        <p>Based on the User Request Access Pattern Model, we developed a discrete-event simulation to investigate the impact of the various key parameters in order to determine a subset of which could be used to examine other distributed applications (such as Web caching). A detailed investigation and analysis of the model can be found in [<xref ref-type="bibr" rid="B2">2</xref>]. We will just summarize the results of the investigation in this section.</p>
        <p>We start by examining the effects of the model parameters for Web page composition to determine their relationship to our main parameter of interest, MRT. Several key parameters contribute to the Web page composition, including: Web page category, object size, object type, and number of objects. Ultimately, the goal is to establish the sizes of the Web pages in our system, which vary according to Web page categories.</p>
        <p>In the previous two sections, we presented the <italic>Server</italic> and <italic>Web</italic><italic>Page</italic> models, where the parameters that compose the Web Page Set were introduced. Now, in an attempt to further clarify the relationship between the parameters, we provide a visual summary (see <xref ref-type="fig" rid="fig7">Figure 7</xref>).</p>
        <fig id="fig7">
          <label>Figure 7</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId24.jpeg?20260325103726" />
        </fig>
        <p><bold>Figure 7.</bold> Visual summary of the composition of the Web page set.</p>
        <p>The Web Page Set consists of <italic>M</italic> Web pages, where each Web page has a composition that follows one of three Web page categories: <italic>article</italic>, <italic>mosaic</italic>, <italic>media</italic>. The number of Web pages of each category is determined by the <italic>Ratio</italic><italic>of</italic><italic>Web</italic><italic>Pages</italic><italic>per</italic><italic>W</italic><italic>eb</italic><italic>Page</italic><italic>Category</italic>. Each Web page <italic>i</italic>, has a <italic>Web</italic><italic>Page</italic><italic>Object</italic><italic>Set</italic> consisting of <italic>Qi</italic> objects of various types and sizes. The object quantity, types and sizes for a given Web page are determined by the Web page category. The sum of the object sizes in the Object Set determines the size of each Web page (<italic>W</italic><italic><sub>i</sub></italic>).</p>
        <p>The Ratio of Web Pages per Category describes how many Web pages of each category there will be in the Web Page Set (ratios are expressed as a percentage of <italic>M</italic>). We denote <italic>k</italic><sub>category</sub> to be the proportion that a <italic>category</italic> represents in the Ratio of Web Pages per Category. We initially assume the following ratios: <italic>k</italic><sub>article</sub> = 30%, <italic>k</italic><sub>mosaic</sub> = 40%, and <italic>k</italic><sub>media</sub> = 30% (this is referred to as our <italic>Base</italic> ratio scenario). These values were estimated to result in approximately the middle of the range of possible mean Web page size (<inline-formula><mml:math display="inline"><mml:mover accent="true"><mml:mi> W </mml:mi><mml:mo> ¯ </mml:mo></mml:mover></mml:math></inline-formula> ) for all requests. These are simply parameters and we will examine other ratio scenarios at the end of Section 4.</p>
        <p>In order to determine the size of each Web page (<italic>W</italic><italic><sub>i</sub></italic>), the trace analysis from [<xref ref-type="bibr" rid="B7">7</xref>] was used as a starting point. For each of the categories: <italic>article</italic>, <italic>mosiac</italic>, and <italic>media</italic>, a size and number of objects was established. For the User Request Access Patterns Model, the range of sizes was captured with three classes: <italic>s</italic><italic>mall</italic> (Θ<sub>small</sub>), <italic>medium</italic> (Θ<sub>medium</sub>), and <italic>large</italic> (Θ<sub>large</sub>).</p>
        <p>Since we are only concerned with relative performance, we assume that Θ<sub>small</sub> = 1, and Θ<sub>large</sub> = 100. For Θ<sub>medium</sub>, the results from [<xref ref-type="bibr" rid="B21">21</xref>] on the relative size of various documents were used to determine that 15 would be an appropriate choice. Finally, we assume the small object size (Θ<sub>small</sub> = 1) to be the base unit for all measures of data size in our model.</p>
        <p>Web page categories are a key feature of the model as they allow for the characterization of the effect that different compositions of Web pages have on MRT. The size per Web page in each category should be sufficiently different from those of other categories as to impact the MRT when the Ratio of Web Pages per Category varies. </p>
        <p>After investigating several scenarios and using the results from [<xref ref-type="bibr" rid="B7">7</xref>], we chose to use <italic>W</italic><sub>article</sub> as the basis. Given this, we set the Web page size of <italic>W</italic><sub>mosaic</sub> to be approximately 4 times larger than <italic>W</italic><sub>article</sub> and <italic>W</italic><sub>media</sub> to be about 8 times larger. These values are slightly higher than those determined by [<xref ref-type="bibr" rid="B7">7</xref>], as we wanted to exaggerate the effect. Again, the absolute value of <italic>W</italic><sub>article</sub> is not important, as again we are only concerned with the relative size differences between the Web page categories.</p>
        <p>The last parameter required to establish the Composition of the Web Page Object Set is the Number of Objects that a Web page contains. To accomplish this, one additional assumption was made based on the results from [<xref ref-type="bibr" rid="B22">22</xref>]: the average Number of Objects per Web page is approximately 100.</p>
        <p>With these assumptions in place, <bold>Table 2</bold> displays the Number of Web Page Objects (<italic>Q</italic><italic><sub>i</sub></italic>) and Web page size (<italic>W</italic><italic><sub>i</sub></italic>) for Web pages based on their category.</p>
        <p><bold>Table 2</bold><bold>.</bold> Number of Web page objects and Web page size for each Web page category.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Category</bold>
                </td>
                <td>
                  <italic>
                    <bold>Q</bold>
                  </italic>
                  <italic>
                    <bold>
                      <sub>i</sub>
                    </bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>W</bold>
                  </italic>
                  <italic>
                    <bold>
                      <sub>i</sub>
                    </bold>
                  </italic>
                </td>
              </tr>
              <tr>
                <td>Article</td>
                <td>80</td>
                <td>80</td>
              </tr>
              <tr>
                <td>Mosaic</td>
                <td>138</td>
                <td>320</td>
              </tr>
              <tr>
                <td>Media</td>
                <td>63</td>
                <td>640</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>The number of objects across the three categories (80, 138, and 63) has an average of 94, which is reasonable, given the target of 100 [<xref ref-type="bibr" rid="B22">22</xref>]. The values from <bold>Table 2</bold> for the object composition will be used for the simulation experiments.</p>
        <p>The coefficient of variation of Web page request interarrival time (CV) is a metric used to characterize the variability of the Web page request process (coefficient of variations greater than three are common [<xref ref-type="bibr" rid="B5">5</xref>]). The parameters used to control this value come from the Web Page Selection Model (<xref ref-type="fig" rid="fig4">Figure 4</xref>). They are: the number of potentially popular Web pages (<italic>M</italic><sub>0</sub>), the popularity transition rate (<italic>γ</italic><sub>1</sub> and <italic>γ</italic><sub>2</sub>), and the popularity factor (<italic>v</italic>). The previous work by [<xref ref-type="bibr" rid="B2">2</xref>] assisted with setting these parameters to appropriately generate a CV ≈ 3 for our examination of Web caching.</p>
        <p>Finally, we define system load (<italic>ρ</italic>) to be the mean utilization over all servers in the system. It is influenced by several parameters, most notably: number of users (<italic>N</italic>), mean Web page size for all requests (<inline-formula><mml:math display="inline"><mml:mover accent="true"><mml:mi> W </mml:mi><mml:mo> ¯ </mml:mo></mml:mover></mml:math></inline-formula> ), number of servers (<italic>K</italic>), and Coefficient of Variation (CV). It is through changes to these submodel parameters that we are able to generate various system loads (<italic>ρ</italic>) for our investigation of object-based Web caching.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Object-Based Web Caching</title>
      <p>In this section, we will investigate the performance of an object-based Web caching system that utilizes the detailed User Request Access Pattern model. More specifically, we will incorporate the results from Section 3.5 into our analysis.</p>
      <sec id="sec4dot1">
        <title>4.1. Model</title>
        <p>As mentioned in Section 3.3, Web caching is introduced by substituting the Server Model in <xref ref-type="fig" rid="fig5">Figure 5</xref> with an expanded version that includes object-based Web caching, the results of which are shown in <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p>
        <fig id="fig8">
          <label>Figure 8</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId28.jpeg?20260325103727" />
        </fig>
        <p><bold>Figure 8.</bold> Web page request model with caching model.</p>
        <p>The expanded Server Model consists of a homogeneous set of <italic>C</italic> Web caches, where each cache has its own queue and maintains a list of objects that it stores. Requests for Web page <italic>i</italic> are decomposed into a sequence of requests for each object in the Web page. These requests are received by the Web caches, eventually returning the required objects to the user.</p>
        <p>This model also assumes that the transmission time for a cached object is less than that of an object had it been retrieved from the origin Web server. Each origin server also contains its own queue and processes the requests from the Web caches in FCFS order. A new parameter, the <italic>Cached</italic><italic>Object</italic><italic>Access</italic><italic>Factor</italic> (<italic>δ</italic>), where <italic>δ</italic> ≤ 1, is introduced, which will allow us to modify the transmission latency for cached objects.</p>
        <p>Recall from Section 3.3, that request service time (<italic>R</italic><italic><sub>i</sub></italic>) is proportional to the Web page size (<italic>W</italic><italic><sub>i</sub></italic>) and hence, the transmission time (<italic>τ</italic><italic><sub>i</sub></italic>). Equation (2) expands on Equation (1) to include the Cached Object Access Factor for objects that are cached.</p>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math display="inline">
            <mml:mrow>
              <mml:msub>
                <mml:mi>τ</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mstyle displaystyle="true">
                <mml:munderover>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>j</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>Q</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                </mml:munderover>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>{</mml:mo>
                    <mml:mrow>
                      <mml:mtable columnalign="left">
                        <mml:mtr columnalign="left">
                          <mml:mtd columnalign="left">
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>Θ</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mi>j</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd columnalign="left">
                            <mml:mrow>
                              <mml:mtext>if</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>object</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>is</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>in</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>not</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>cache</mml:mtext>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr columnalign="left">
                          <mml:mtd columnalign="left">
                            <mml:mrow>
                              <mml:mi>δ</mml:mi>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:msub>
                                <mml:mi>Θ</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mi>j</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd columnalign="left">
                            <mml:mrow>
                              <mml:mtext>if</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>object</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>is</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>in</mml:mtext>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mtext>cache</mml:mtext>
                              <mml:mo>.</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                      </mml:mtable>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The cacheability of objects can vary greatly, from being easily cached to not being cacheable at all. Cacheability is influenced by a myriad of considerations, from the type of content to the frequency of updates to the server’s caching strategies [<xref ref-type="bibr" rid="B4">4</xref>][<xref ref-type="bibr" rid="B7">7</xref>][<xref ref-type="bibr" rid="B14">14</xref>]. We capture a Web page object’s cacheability with the parameter <italic>φ</italic>. This parameter represents the probability that an object is copied to cache after being requested, and is based on its Web page category and object type.</p>
        <p>For flexibility, our model can have multiple Web page object cacheabilities—potentially one for every combination of Web page category and object type. To simplify, however, we propose three object cacheability levels for objects: <italic>not</italic><italic>cacheable</italic> (<italic>φ</italic><sub>not</sub>), <italic>less</italic><italic>cacheable</italic> (<italic>φ</italic><sub>less</sub>), and <italic>more</italic><italic>cacheable</italic> (<italic>φ</italic><sub>more</sub>).</p>
        <p>We have modified <bold>Table 1</bold> to include the Web page object cacheabilities (see <bold>Table 3</bold>). Notice from <bold>Table 1</bold>, that since our interpretation of the <italic>text</italic> object type incorporates several Web page object media types that represent dynamic objects, we assume that text objects are not cacheable (the only object type where this applies).</p>
        <p><bold>Table 3</bold><bold>.</bold> Example Web page object parameters.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Object Type</bold>
                </td>
                <td>
                  <bold>Size</bold>
                </td>
                <td>
                  <bold>Cacheability</bold>
                </td>
              </tr>
              <tr>
                <td>text</td>
                <td>small</td>
                <td>not cacheable</td>
              </tr>
              <tr>
                <td>script</td>
                <td>small, medium</td>
                <td>less cacheable</td>
              </tr>
              <tr>
                <td>css</td>
                <td>small</td>
                <td>more cacheable</td>
              </tr>
              <tr>
                <td>image</td>
                <td>small, medium</td>
                <td>more cacheable</td>
              </tr>
              <tr>
                <td>audio</td>
                <td>small, medium</td>
                <td>more cacheable</td>
              </tr>
              <tr>
                <td>video</td>
                <td>medium, large</td>
                <td>more cacheable</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Based on observations in [<xref ref-type="bibr" rid="B7">7</xref>], we assume the values of our object cacheabilities to be: <italic>φ</italic><sub>not</sub> = 0%, <italic>φ</italic><sub>less</sub> = 25%, and <italic>φ</italic><sub>more</sub> = 75%. These values are interpreted as follows: for an object that is not cacheable, it will have to be retrieved from the origin server and there is no chance it will be copied to the cache. For a <italic>less</italic><italic>cacheable</italic> object, when it is not already cached and has to be retrieved from the origin server, there is a 25% chance that it will be copied to cache. Finally, there is a 75% chance of caching the object if it is in the <italic>more</italic><italic>cacheable</italic> category. </p>
        <p>Now, with respect to the individual Web cache servers, we assume that they each have a <italic>Cache</italic><italic>Capacity</italic> which is represented by the parameter <italic>κ</italic>. When the sum of the cached object sizes in a server reaches the Cache Capacity, a <italic>cache</italic><italic>replacement</italic><italic>policy</italic> is utilized to determine which object (or objects) are to be removed to make room for incoming objects. Cache Capacity (<italic>κ</italic>) is assumed to be a percentage of the total cache space in a server. A <italic>κ</italic> value of 90% indicates that the cache is 90% full. Given that we are simulating the system, equilibrium implies that the initial transient (time to fill the cache) period is ignored.</p>
        <p>For our model, we chose to implement a <italic>Least</italic><italic>Recently</italic><italic>Used</italic> (LRU) algorithm [<xref ref-type="bibr" rid="B4">4</xref>] as the cache replacement algorithm. To accomplish this, we track at which time objects are last accessed and remove the objects with the oldest reference time until there is enough room for the incoming object.</p>
        <p>The algorithm we use for Web caching is summarized in <xref ref-type="fig" rid="fig9">Figure 9</xref>. It starts with a request for Web page <italic>i</italic> and ends with the transmission time (<italic>τ</italic><italic><sub>i</sub></italic>) for the Web page. For objects that have been cached, the transmission time includes the scaled value of <italic>δ</italic>Θ<italic><sub>ij</sub></italic>; otherwise, the object size (Θ<italic><sub>ij</sub></italic>) alone is added to the transmission time.</p>
        <fig id="fig9">
          <label>Figure 9</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId31.jpeg?20260325103727" />
        </fig>
        <p><bold>Figure 9.</bold> Process to calculate Web page transmission time with object level Web caching.</p>
        <p>To complete the process, if an object is not already cached, it is considered for caching according to its Web page object cacheability. Before objects are copied to the cache, the cache replacement policy is used if there is not enough room in the Web cache server.</p>
        <p>One final comment about the Web Caching Model: the intention of this work is to demonstrate the application of an enhanced Framework Model for user request access patterns. The distributed application that we have chosen is Web caching. The Server Model from Section 3.3 is expanded to include a vanilla-type object-level Web caching. We do not incorporate any of the advanced features of web caching, such as parallel object fetching, connection reuse, or HTTP/2/3 multiplexing. We are only focused on the relative performance using our Framework Model with Web caching against a system without Web caching. Incorporating advanced Web caching features such as parallel object fetching, connection reuse, and/or HTTP/2/3 multiplexing would most likely lead to a reduced mean response time. This would be a good topic for future research. </p>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Simulation</title>
        <p>As mentioned previously, we use a discrete-event simulation to test our model and conduct experiments. In this section, we will briefly discuss its implementation, validation and verification, and consider various model parameters and their impact on our main performance measure of interest, MRT. We evaluated our simulation in two ways: by conducting an execution trace, and by comparing simulated to analytic results (this will be discussed in Section 4.3).</p>
        <p>A discrete-event simulation is a technique by which events are managed at discrete time units. In the simulation, time is captured by a global clock, which is advanced each time an event is processed [<xref ref-type="bibr" rid="B19">19</xref>]. Between each event, the status of the system remains unchanged. Events are generated randomly and added to a <italic>Future</italic><italic>Events</italic><italic>List</italic> (FEL) that is ordered by time such that next available event has the lowest time. A more in-depth discussion of the simulation can be found in [<xref ref-type="bibr" rid="B3">3</xref>].</p>
      </sec>
      <sec id="sec4dot3">
        <title>4.3. Validation and Verification</title>
        <p>To verify that our simulation was implemented correctly, we examined detailed sample output data from an execution trace. The parameters for this trace were chosen to permit a manual review of the data to be accomplished in a reasonable amount of time. For this trace, we used four Web servers, 100 users, 100 Web pages, and a simulation length of 200. We followed events and reviewed the status of each Web page request. The focus during this review was to ensure that each request went to the correct server, verified timings, including request service time, and monitored that the Web server queues were correct. Through this trace, we verified that the Web page request chain was fulfilled correctly.</p>
        <p>In addition to the execution trace, we also compared our simulation results to analytic results. This was accomplished by running our simulation as a <italic>M</italic>/<italic>M</italic>/1//<italic>N</italic> queuing system. We used one Web server with a think time of 100, the number of Web pages set to 100, and zero potentially popular Web pages. In order to achieve a mean service rate of 1, we used a single Web page category and single Web page object media type that has a size of 1. Results of this experiment are shown in <bold>Table 4</bold> and do establish that the scaled-down version of our simulation model is correct, as our simulated mean response time does seem to match that computed from analytical model (with a 95% confidence interval).</p>
        <p><bold>Table 4</bold><bold>.</bold> Comparison of simulation MRT versus analytic MRT for an <italic>M</italic>/<italic>M</italic>/1//<italic>N</italic> system for various values of <italic>N</italic>. <italic>K</italic> = 1, <italic>µ</italic> = 1, <italic>z</italic> = 100, <italic>M</italic> = 100, <italic>M</italic><sub>0</sub> = 0.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td rowspan="2">
                  <italic>N</italic>
                </td>
                <td colspan="2">Simulated</td>
                <td rowspan="2">Analytic Mean</td>
              </tr>
              <tr>
                <td>Mean</td>
                <td>95% Confidence Interval</td>
              </tr>
              <tr>
                <td>10</td>
                <td>1.10</td>
                <td>[1.10, 1.10]</td>
                <td>1.10</td>
              </tr>
              <tr>
                <td>25</td>
                <td>1.31</td>
                <td>[1.30, 1.31]</td>
                <td>1.31</td>
              </tr>
              <tr>
                <td>50</td>
                <td>1.90</td>
                <td>[1.89, 1.90]</td>
                <td>1.90</td>
              </tr>
              <tr>
                <td>75</td>
                <td>3.30</td>
                <td>[3.30, 3.30]</td>
                <td>3.31</td>
              </tr>
              <tr>
                <td>100</td>
                <td>8.18</td>
                <td>[8.17, 8.19]</td>
                <td>8.19</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec4dot4">
        <title>4.4. System Stability</title>
        <p>The goal of examining system stability is to establish a simulation length that provides stable results (not affected by the transient period). We assume that when the performance measure (such as coefficient of variation) converges with the expected value, the simulation has reached equilibrium.</p>
        <p>In <xref ref-type="fig" rid="fig10">Figure 10</xref>, we plot the measured CV value to an expected CV over various simulation lengths for <italic>K</italic> = 5 and <italic>K</italic> = 10 Web servers. These two scenarios appear to converge at a simulation length of around 30 × 10<sup>6</sup>. Thus, going forward, we assume a reliable value of simulation length for experiments to be 80 × 10<sup>6</sup>.</p>
        <fig id="fig10">
          <label>Figure 10</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId32.jpeg?20260325103730" />
        </fig>
        <p><bold>Figure 10.</bold> Effect of simulation length on coefficient of variation of Web page request interarrival time (CV). <italic>v</italic> = 90, <italic>ρ</italic> ≈ 85% (<italic>K</italic> = 5, <italic>N</italic> = 480, <italic>z</italic> = 35,000.</p>
      </sec>
      <sec id="sec4dot5">
        <title>4.5. Coefficient of Variation</title>
        <p>The <italic>coefficient</italic><italic>of</italic><italic>variation</italic><italic>of</italic><italic>Web</italic><italic>page</italic><italic>request</italic><italic>interarrival</italic><italic>time</italic> (CV) is a metric we use for characterizing the Web page request process (coefficient of variations greater than three are common [<xref ref-type="bibr" rid="B20">20</xref>]). The parameters we use to control the coefficient of variation are: the <italic>number</italic><italic>of</italic><italic>potentially</italic><italic>popular</italic><italic>Web</italic><italic>pages</italic> (<italic>M</italic><sub>0</sub>), the <italic>popularity</italic><italic>transition</italic><italic>rates</italic> (<italic>γ</italic><sub>1</sub> and <italic>γ</italic><sub>2</sub>), and the <italic>popularity</italic><italic>factor</italic> (<italic>v</italic>). For the number of potentially popular Web pages (<italic>M</italic><sub>0</sub>), we assume <italic>M</italic><sub>0</sub> = 0<italic>.</italic>1<italic>M</italic> (10% of files are potentially popular). Through experimentation, we found that the popularity transition rates <italic>γ</italic><sub>1</sub> = <italic>γ</italic><sub>2</sub> = 200,000 seem to achieve a range of CV from 1 - 5.</p>
        <p><xref ref-type="fig" rid="fig11">Figure 11</xref> shows the effect that the coefficient of variation has our main performance metric, MRT. Each data point on the graph is a result of the average of 10 simulation runs. For completeness, we do show the confidence intervals on this graph but will not go forward. We observe from the graph that MRT seems to gradually increase linearly as CV increases. The variation in MRT also increases with CV, as can be seen in the anticipated increase in the confidence interval (95%). The reduced variation after CV = 4 makes sense as the CV levels off, so, too, would MRT variation. In experiments going forward, we will maintain <italic>v</italic> = 90 to keep CV ≈ 3.</p>
        <fig id="fig11">
          <label>Figure 11</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId33.jpeg?20260325103731" />
        </fig>
        <p><bold>Figure 11.</bold> The effect of CV on MRT. <italic>K</italic> = 5, <italic>M</italic> = 10,000, <italic>M</italic><sub>0</sub>= 1000, <italic>γ</italic><sub>1</sub>= <italic>γ</italic><sub>2</sub>= 200,000, <italic>ρ</italic> ≈ 87% (<italic>K</italic> = 5, <italic>N</italic> = 500, <italic>z</italic> = 35,000).</p>
      </sec>
      <sec id="sec4dot6">
        <title>4.6. Composition of the Web Page Set</title>
        <p>The parameters that determine the composition of the Web page set, which we discussed in Section 3.4, will remain constant in our expanded server model. We will continue to consider the small object size (Θ<sub>small</sub> = 1) to be the base unit for all measures of data size in our model. In <bold>Table 5</bold>, we present the composition of the Web page object set by category that we use in our simulation. We have expanded the table to include Web Page Object Cacheability (<italic>φ</italic>).</p>
        <p><bold>Table 5</bold><bold>.</bold> Composition of the Web page object set with Web caching.</p>
        <table-wrap id="tbl5">
          <label>Table 5</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Category</bold>
                </td>
                <td>
                  <bold>Object Type</bold>
                </td>
                <td>
                  <bold>Θ</bold>
                </td>
                <td>
                  <italic>
                    <bold>Q</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>φ</bold>
                  </italic>
                </td>
              </tr>
              <tr>
                <td rowspan="6">Article</td>
                <td>text</td>
                <td>small</td>
                <td>25</td>
                <td>not</td>
              </tr>
              <tr>
                <td>script</td>
                <td>small</td>
                <td>20</td>
                <td>less</td>
              </tr>
              <tr>
                <td>css</td>
                <td>small</td>
                <td>5</td>
                <td>more</td>
              </tr>
              <tr>
                <td>image</td>
                <td>small</td>
                <td>25</td>
                <td>more</td>
              </tr>
              <tr>
                <td>audio</td>
                <td>small</td>
                <td>5</td>
                <td>more</td>
              </tr>
              <tr>
                <td>video</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
              </tr>
              <tr>
                <td rowspan="6">Mosaic</td>
                <td>text</td>
                <td>small</td>
                <td>60</td>
                <td>not</td>
              </tr>
              <tr>
                <td>script</td>
                <td>medium</td>
                <td>10</td>
                <td>less</td>
              </tr>
              <tr>
                <td>css</td>
                <td>small</td>
                <td>5</td>
                <td>more</td>
              </tr>
              <tr>
                <td>image</td>
                <td>small</td>
                <td>60</td>
                <td>more</td>
              </tr>
              <tr>
                <td>audio</td>
                <td>medium</td>
                <td>2</td>
                <td>more</td>
              </tr>
              <tr>
                <td>video</td>
                <td>medium</td>
                <td>1</td>
                <td>more</td>
              </tr>
              <tr>
                <td rowspan="6">Media</td>
                <td>text</td>
                <td>small</td>
                <td>20</td>
                <td>not</td>
              </tr>
              <tr>
                <td>script</td>
                <td>small</td>
                <td>15</td>
                <td>less</td>
              </tr>
              <tr>
                <td>css</td>
                <td>small</td>
                <td>5</td>
                <td>more</td>
              </tr>
              <tr>
                <td>image</td>
                <td>medium</td>
                <td>15</td>
                <td>more</td>
              </tr>
              <tr>
                <td>audio</td>
                <td>medium</td>
                <td>5</td>
                <td>more</td>
              </tr>
              <tr>
                <td>video</td>
                <td>large</td>
                <td>3</td>
                <td>more</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>In Section 4.9, we will examine the effect of varying the ratios in the Web page categories when we consider three testing scenarios: <italic>Base</italic>, <italic>Low</italic>, and <italic>High</italic>. The corresponding values for testing scenario are found in <bold>Table 6</bold>. Notice how the values of mean Web page size (<inline-formula><mml:math display="inline"><mml:mover accent="true"><mml:mi> W </mml:mi><mml:mo> ¯ </mml:mo></mml:mover></mml:math></inline-formula> ) correspond to the nomenclature used for the ratio testing scenarios (<italic>Low</italic> has the smallest <inline-formula><mml:math display="inline"><mml:mover accent="true"><mml:mi> W </mml:mi><mml:mo> ¯ </mml:mo></mml:mover></mml:math></inline-formula> and <italic>High</italic> has the largest (<italic>Base</italic> is in the middle). For consistency, unless stated otherwise, we will use the Web Page Category Base Scenario with <italic>C</italic> = 5 when examining parameters in our expanded server model.</p>
        <p><bold>Table 6</bold><bold>.</bold> Summary of final Web page category ratio test scenario.</p>
        <table-wrap id="tbl6">
          <label>Table 6</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Scenario</bold>
                </td>
                <td>
                  <italic>
                    <bold>k</bold>
                  </italic>
                  <bold>
                    <sub>article</sub>
                  </bold>
                </td>
                <td>
                  <italic>
                    <bold>k</bold>
                  </italic>
                  <bold>
                    <sub>mosaic</sub>
                  </bold>
                </td>
                <td>
                  <italic>
                    <bold>k</bold>
                  </italic>
                  <bold>
                    <sub>media</sub>
                  </bold>
                </td>
                <td>
                  <inline-formula>
                    <mml:math display="inline">
                      <mml:mover accent="true">
                        <mml:mi>W</mml:mi>
                        <mml:mo>¯</mml:mo>
                      </mml:mover>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>Low</td>
                <td>70</td>
                <td>10</td>
                <td>20</td>
                <td>216</td>
              </tr>
              <tr>
                <td>Base</td>
                <td>30</td>
                <td>40</td>
                <td>30</td>
                <td>344</td>
              </tr>
              <tr>
                <td>High</td>
                <td>10</td>
                <td>30</td>
                <td>60</td>
                <td>488</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec4dot7">
        <title>4.7. System Load</title>
        <p>We know the effect of varying the number of users (<italic>N</italic>) and number of Web caches (<italic>C</italic>) has on the system load (<italic>ρ</italic>). The results are shown in <xref ref-type="fig" rid="fig12">Figure 12</xref>.</p>
        <fig id="fig12">
          <label>Figure 12</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId39.jpeg?20260325103733" />
        </fig>
        <p><bold>Figure 12.</bold> Effect of number of users on system load <italic>δ</italic> = 0<italic>.</italic>6, <italic>κ</italic> = 100%, <italic>HR</italic> ≈ 60, <italic>z</italic> = 35,000, Web page category base scenario.</p>
        <p>As one would expect, the results indicate that increasing the number of users leads to an increase in the load on the Web cache servers. <xref ref-type="fig" rid="fig12">Figure 12</xref> indicates that the increase in system load tends to be mitigated through adding additional Web cache servers. A system with only one Web cache server gets overloaded (<italic>ρ</italic> ≈ 100) quite quickly. Through having more servers (<italic>C</italic> = 5 or 10), the system can handle additional users but they too will be overloaded as the number of users gets very large. For the remainder of our experiments in this section, we will use <italic>C</italic> = 5 and <italic>N</italic> = 720 to aim for an approximate system load of 85%.</p>
      </sec>
      <sec id="sec4dot8">
        <title>4.8. Cache Capacity</title>
        <p>Next, we examine <italic>Cache</italic><italic>Capacity</italic> (<italic>κ</italic>), which we will represent as a percentage of the maximum amount of cache storage available for objects. For the Web caching algorithm, the unit of storage will still be defined in terms of small object size (Θ<sub>sm</sub><sub>all</sub> = 1): A large object (Θ<sub>large</sub>) is 100 times larger than a small object, and a medium object (Θ<sub>large</sub>) is 15 times larger. Once a cache is full, it cannot accept more objects. Cache capacity (<italic>κ</italic>) has a range of [0, 100]%, where 0% means that Web caching cannot occur, and 100% means that all objects that could be cached are cached.</p>
        <p><xref ref-type="fig" rid="fig13">Figure 13</xref> shows the results of our experiment intended to investigate the effect that varying Cache Capacity (<italic>κ</italic>) has on <italic>Hit</italic><italic>Rate</italic> (HR) and <italic>Cache</italic><italic>Size</italic><italic>Hit</italic><italic>Rate</italic> (SHR). HR refers to the ratio of the number of Web page objects retrieved from a cache relative to the total number requested. On the other hand, SHR is the ratio of the amount of data retrieved from cache relative to the total size of the requested data.</p>
        <fig id="fig13">
          <label>Figure 13</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId40.jpeg?20260325103734" />
        </fig>
        <p><bold>Figure 13.</bold> Effect of cache capacity on HR/SHR <italic>δ</italic> = 0<italic>.</italic>6, <italic>ρ</italic> ≈ 85%, <italic>C</italic> = 5, <italic>N</italic> = 720, <italic>z</italic> = 35,000, Web page category base scenario.</p>
        <p>In general, we can observe that the HR increases as cache capacity increases. This is reasonable since, as the cache capacity increases, more objects are cached and thus are more likely to be found in cache. Initially, for small values of <italic>κ</italic> (<italic>&lt;</italic>10%), HR is low as objects are swapped out frequently, which makes it less likely for an object to be found in cache. HR does increase quickly as more objects are cached but starts to level after about 20% as fewer objects have to be removed, so the rate of change in HR slows down. Once <italic>κ</italic> reaches 100%, HR no longer changes, since all of the data that can be cached has been cached. For the Base ratio scenario, given that text files are not cacheable, a HR of about 62% is the theoretical maximum achievable.</p>
        <p>As for SHR, the performance is similar to HR but has a higher upper bound. The difference is due to the fact that HR is a ratio of discrete values, whereas SHR compares quantities, and so the latter will have higher values.</p>
        <p>In <xref ref-type="fig" rid="fig14">Figure 14</xref>, we examine the effects of cache capacity (<italic>κ</italic>) on system load (<italic>ρ</italic>).</p>
        <fig id="fig14">
          <label>Figure 14</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId41.jpeg?20260325103734" />
        </fig>
        <p><bold>Figure 14.</bold> Effect of cache capacity on system load <italic>δ</italic> = 0<italic>.</italic>6, <italic>C</italic> = 5, <italic>N</italic> = 720, <italic>z</italic> = 35,000, Web page category base scenario.</p>
        <p>We observe that <italic>ρ</italic> decreases as <italic>κ</italic> increases. This makes sense, since for a constant number of users, a smaller <italic>κ</italic> will increase transmission times since fewer objects are cached and hence, more requests will be fulfilled at the original servers. When <italic>κ</italic> is at 100%, the system load corresponds to the results described in Section 4.7 for <italic>C</italic> = 5, where the system load was approximately 85% with <italic>κ</italic> = 100%.</p>
      </sec>
      <sec id="sec4dot9">
        <title>4.9. Ratio of Web Pages per Category</title>
        <p>The results from Section 4.7 and Section 4.8 focused on the <italic>Base</italic> ratio scenario of the Web pages in a category. In this section, we consider the two other ratio scenarios: <italic>L</italic><italic>ow</italic> and <italic>High</italic>. The details of the ratio values and mean Web page sizes were presented in <bold>Table 6</bold>.</p>
        <p>In addition to the ratio scenarios, we also consider four different cache capacities: <italic>Small</italic>, <italic>Medium</italic>, <italic>Large</italic>, and <italic>No</italic><italic>Caching</italic>. The system without caching is used for reference. The values we chose for the three cache capacities (<italic>κ</italic>) correspond to the points in <xref ref-type="fig" rid="fig13">Figure 13</xref> where the HR was approximately 20%, 40% and 60%. These correspond to cache capacities (<italic>κ</italic>) of about 3%, 7%, and 80%, respectively. The system with no caching would have a cache capacity of 0%.</p>
        <p>4.9.1. Mean Response Time</p>
        <p>In <xref ref-type="fig" rid="fig15">Figure 15</xref>, we plot the results for the three different Ratio Scenarios against MRT for the four different cache capacities (<italic>κ</italic>). In general, we observe that MRT increases as the <italic>W</italic> of the ratio scenarios increases. This is not surprising since <italic>W</italic> is proportional to request service time and is consistent with the results from [<xref ref-type="bibr" rid="B3">3</xref>]. For the Low scenario, there is less MRT variation between the four cache capacities. However, for the Base and High scenarios, the variation in MRT between cache capacities is more pronounced. We suspect that this is related to the larger SHR for the Base and High scenarios with respect to the Low scenario.</p>
        <fig id="fig15">
          <label>Figure 15</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId42.jpeg?20260325103735" />
        </fig>
        <p><bold>Figure 15.</bold> Effect of ratio scenarios on MRT <italic>δ</italic> = 0<italic>.</italic>6, <italic>C</italic> = 5, <italic>N</italic> = 720, <italic>z</italic> = 35,000.</p>
        <p>Another interesting observation from <xref ref-type="fig" rid="fig15">Figure 15</xref> is that the MRT is improved through object-based Web caching, and the improvement tends to be more pronounced as the mean Web page size or cache capacity increases. It makes sense that as <italic>κ</italic> increases, MRT decreases since more cache size means more cache hits, thus reducing MRT. As well, smaller Web pages benefit less from changes in <italic>κ</italic> than larger ones. This is due to larger Web pages having to be removed more frequently than smaller ones for equivalent Cache Capacities. Finally, the system without Web caching seems to be the upper limit with respect to MRT: all of the systems that employ object-based Web caching tend to outperform the system without caching.</p>
        <p>4.9.2. System Load</p>
        <p>We now move on to examine the effects that the three ratio categories and four Web caching scenarios have on system load. The results are presented in <xref ref-type="fig" rid="fig16">Figure 16</xref>.</p>
        <fig id="fig16">
          <label>Figure 16</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId43.jpeg?20260325103735" />
        </fig>
        <p><bold>Figure 16.</bold> Effect of cache capacity on system load <italic>δ</italic> = 0<italic>.</italic>6, <italic>C</italic> = 5, <italic>N</italic> = 720, <italic>z</italic> = 35,000.</p>
        <p>The results indicate that as <italic>W</italic> of the ratio scenarios increases, <italic>ρ</italic> tends to also increase. This is a result of the fact that request service time would increase due to larger Web page size, and so system load would also increase as there would be more work at the Web servers.</p>
        <p>Conversely, as the cache capacity increases, we see a decrease in system load with the Low Scenario and a slight decrease with the Low and Base scenarios (albeit, the decrease for the Low scenario is not as pronounced as with the Base scenario). This again is reasonable as smaller Web pages (with lower request service times) being cached more frequently will not generate as much work at the Web servers and hence, result in a lower system load.</p>
        <p>There is little change for the High Scenario, possibly due to the system load being too large, so additional cache capacity is not as beneficial.</p>
        <p>In summary, these results show that system load may be improved with Web caching, although with diminishing returns as the amount of data increases or the cache capacity decreases. That said, as we observed with MRT, object-based Web caching still leads to an improvement in system load over a system with no Web caching.</p>
        <p>4.9.3. HR and SHR</p>
        <p>Finally, in <xref ref-type="fig" rid="fig17">Figure 17</xref>, we show HR and SHR for the three chosen cache capacities (<italic>κ</italic>) and the three Web category ratio scenarios (the system with no caching would have a HR and SHR value of 0).</p>
        <fig id="fig17">
          <label>Figure 17</label>
          <graphic xlink:href="https://html.scirp.org/file/9303487-rId44.jpeg?20260325103736" />
        </fig>
        <p><bold>Figure 17.</bold> Effect of ratio scenarios on HR/SHR <italic>δ</italic> = 0<italic>.</italic>6, <italic>C</italic> = 5, <italic>N</italic> = 720, <italic>z</italic> = 35,000.</p>
        <p>In each case, HR and SHR tend to decrease with the larger <italic>W</italic> that results from the various ratio scenarios. This makes sense because, as <italic>W</italic> increases, the ability to fit objects into Web caches decreases as a result of the increased number of objects per Web page. We also observe that for the Base Scenario, the HR for the three <italic>κ</italic> values are approximately 20%, 40%, and 60%, which was our goal in choosing the values of <italic>κ</italic>.</p>
        <p>Finally, <xref ref-type="fig" rid="fig17">Figure 17</xref> shows that HR increases as <italic>κ</italic> increases. This is not surprising since, as the cache capacity increases, more objects are cached and thus more objects are found in cache (as was discussed in Section 4.8). This also corresponds to the decrease in MRT observed in <xref ref-type="fig" rid="fig15">Figure 15</xref>, which is again expected since an increase in HR would lead to a smaller Web page transmission time (<italic>τ</italic>), resulting in a decrease in MRT.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Summary</title>
      <p>In this paper, we incorporated object-based caching system into a detailed User Request Access Pattern Model. We accomplished this by replacing the Web server sub-model, presented in Section 3.3, with a homogeneous set of Web caches (discussed in Section 4.1). When objects are cached (based on a cacheability factor parameter), the service time (and hence transmission time) for user requests will be decreased. When requests are made for objects that are not cached (again, based on the cacheability factor parameter), the service and transmission times for the objects will be larger. In the event that there is not enough room for an object to be added to a cache, a LRU cache replacement policy is applied to remove objects from cache to make room.</p>
      <p>We used a discrete-event simulation of the User Request Access Pattern Model that includes Web caching to evaluate the performance as we varied several model parameters. We found that as the cacheability of objects increases, there tends to be a reduction in both MRT and system load. When examining cache capacity, our results indicated that increasing the cache capacity seemed to lead to an increase in HR and SHR, and a decrease in MRT.</p>
      <p>Our final set of experiments varied the ratio of Web pages per Web page category in a Web caching environment. We evaluated four Cache Capacity scenarios while varying our Web page category ratio test scenarios (No Web caching, Base, Low, High). The results seemed to demonstrate that the amount of data being requested (represented by ratios of Web pages per category) and cache capacity both had a positive effect on HR. Overall, we found that object-based Web caching tends to improve both MRT and server load. </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Freed, N. and Kucherawy, M. (2017) Media Types. https://www.iana.org/assignments/media-types/media-types.xhtml</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Freed, N.</string-name>
              <string-name>Kucherawy, M.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Media Types</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Hurley, R. and Sturgeon, R. (2024) Framework to Model User Request Access Patterns in the World Wide Web. <italic>Journal of Software Engineering and Applications</italic>, 17, 69-88. https://doi.org/10.4236/jsea.2024.172004 <pub-id pub-id-type="doi">10.4236/jsea.2024.172004</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4236/jsea.2024.172004">https://doi.org/10.4236/jsea.2024.172004</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Hurley, R.</string-name>
              <string-name>Sturgeon, R.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Framework to Model User Request Access Patterns in the World Wide Web</article-title>
            <source>Journal of Software Engineering and Applications</source>
            <volume>17</volume>
            <pub-id pub-id-type="doi">10.4236/jsea.2024.172004</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Sturgeon, R. (2022) Modelling Request Access Patterns for Information on the World Wide Web. Master’s Thesis, Trent University.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Sturgeon, R.</string-name>
              <string-name>Thesis, T</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Modelling Request Access Patterns for Information on the World Wide Web</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Ali, W., Shamsuddin, S.M. and Ismail, A.S. (2011) A Survey of Web Caching and Prefetching. <italic>International Journal of Advances in Soft Computing and its Applications</italic>, 3, 18-44. https://www.researchgate.net/publication/265986051_A_Survey_of_Web_Caching_and_Prefetching_A_Survey_of_Web_Caching_and_Prefetching</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Ali, W.</string-name>
              <string-name>Shamsuddin, S.M.</string-name>
              <string-name>Ismail, A.S.</string-name>
            </person-group>
            <year>2011</year>
            <article-title>A Survey of Web Caching and Prefetching</article-title>
            <source>International Journal of Advances in Soft Computing and its Applications</source>
            <volume>3</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Hurley, R. and Plumley, B. (2018) Comparison of Sender and Receiver-Initiated Load Balancing in a Distributed Web Caching System. <italic>Proceedings of the</italic>33 <italic>rd Intern</italic><italic>ational C</italic><italic>onference o</italic><italic>n Computers and Their Applications</italic> ( <italic>CATA</italic>2018), Las Vegas, 19-21 March 2018, 45-50.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Hurley, R.</string-name>
              <string-name>Plumley, B.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Comparison of Sender and Receiver-Initiated Load Balancing in a Distributed Web Caching System</article-title>
            <source>Proceedings of the 33rd International Conference on Computers and Their Applications (CATA2018)</source>
            <volume>19</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Chen, J. and Cheng, W. (2016) Analysis of Web Traffic Based on HTTP Protocol. 2016 24 <italic>th</italic><italic>International Conference on Software</italic>, <italic>Telecommunications and Computer</italic><italic>Networks</italic> ( <italic>SoftCOM</italic>), Split, 22-24 September 2016, 1-5. https://doi.org/10.1109/softcom.2016.7772120 <pub-id pub-id-type="doi">10.1109/softcom.2016.7772120</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/softcom.2016.7772120">https://doi.org/10.1109/softcom.2016.7772120</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Chen, J.</string-name>
              <string-name>Cheng, W.</string-name>
              <string-name>Software, T</string-name>
            </person-group>
            <year>2016</year>
            <article-title>Analysis of Web Traffic Based on HTTP Protocol</article-title>
            <source>2016 24th International Conference on Software</source>
            <volume>22</volume>
            <pub-id pub-id-type="doi">10.1109/softcom.2016.7772120</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Ihm, S. (2011) Understanding and Improving Modern Web Traffic Caching. Ph.D. Thesis, Princeton University.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Ihm, S.</string-name>
              <string-name>Thesis, P</string-name>
            </person-group>
            <year>2011</year>
            <article-title>Understanding and Improving Modern Web Traffic Caching</article-title>
            <source>Ph.D. Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Newton, B., Jeffay, K. and Aikat, J. (2013) The Continued Evolution of Web Traffic. 2013 <italic>IEEE</italic>21 <italic>st International Symposium on Modelling</italic>, <italic>Analysis and Simulation</italic><italic>of Computer and Telecommunication Systems</italic>, San Francisco, 14-16 August 2013, 80-89. https://doi.org/10.1109/mascots.2013.16 <pub-id pub-id-type="doi">10.1109/mascots.2013.16</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/mascots.2013.16">https://doi.org/10.1109/mascots.2013.16</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Newton, B.</string-name>
              <string-name>Jeffay, K.</string-name>
              <string-name>Aikat, J.</string-name>
              <string-name>Modelling, A</string-name>
              <string-name>Systems, S</string-name>
            </person-group>
            <year>2013</year>
            <article-title>The Continued Evolution of Web Traffic</article-title>
            <source>2013 IEEE 21st International Symposium on Modelling</source>
            <volume>14</volume>
            <pub-id pub-id-type="doi">10.1109/mascots.2013.16</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Shi, Z. and Fan, Z. (2025) Optimized Caching Strategy: A Hybrid of Least Recently Used and Least Frequently Used Methods. <italic>Proceedings of the</italic>2025 5 <italic>th International Conference on Computer Network Security and Software Engineering</italic>, Qingdao, 21-23 February 2025, 133-140. https://doi.org/10.1145/3732365.3732389 <pub-id pub-id-type="doi">10.1145/3732365.3732389</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3732365.3732389">https://doi.org/10.1145/3732365.3732389</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Shi, Z.</string-name>
              <string-name>Fan, Z.</string-name>
              <string-name>Engineering, Q</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Optimized Caching Strategy: A Hybrid of Least Recently Used and Least Frequently Used Methods</article-title>
            <source>Proceedings of the 2025 5th International Conference on Computer Network Security and Software Engineering</source>
            <volume>21</volume>
            <pub-id pub-id-type="doi">10.1145/3732365.3732389</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Berger, D.S., Beckmann, N. and Harchol-Balter, M. (2018) Practical Bounds on Optimal Caching with Variable Object Sizes. <italic>Proceedings of the ACM on Measurement</italic><italic>and Analysis of Computing Systems</italic>, 2, 1-38. https://doi.org/10.1145/3224427 <pub-id pub-id-type="doi">10.1145/3224427</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3224427">https://doi.org/10.1145/3224427</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Berger, D.S.</string-name>
              <string-name>Beckmann, N.</string-name>
              <string-name>Harchol-Balter, M.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Practical Bounds on Optimal Caching with Variable Object Sizes</article-title>
            <source>Proceedings of the ACM on Measurement and Analysis of Computing Systems</source>
            <volume>2</volume>
            <pub-id pub-id-type="doi">10.1145/3224427</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Wang, J. (1999) A Survey of Web Caching Schemes for the Internet. <italic>ACM</italic><italic>SIGCOMM Computer Communication Review</italic>, 29, 36-46. https://doi.org/10.1145/505696.505701 <pub-id pub-id-type="doi">10.1145/505696.505701</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/505696.505701">https://doi.org/10.1145/505696.505701</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Wang, J.</string-name>
            </person-group>
            <year>1999</year>
            <article-title>A Survey of Web Caching Schemes for the Internet</article-title>
            <source>ACM SIGCOMM Computer Communication Review</source>
            <volume>29</volume>
            <pub-id pub-id-type="doi">10.1145/505696.505701</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Evans, D. (2011) The Internet of Things: How the Next Evolution of the Internet Is Changing Everything. Cisco IBSG.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Evans, D.</string-name>
            </person-group>
            <year>2011</year>
            <article-title>The Internet of Things: How the Next Evolution of the Internet Is Changing Everything</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Allison, C., Bramley, M. and Serrano, J. (1998) The World Wide Wait: Where Does the Time Go? <italic>Proceedings.</italic>24 <italic>th EUROMICRO Conference</italic>, Vasteras, 27-27 August 1998, 932-938. https://doi.org/10.1109/eurmic.1998.708124 <pub-id pub-id-type="doi">10.1109/eurmic.1998.708124</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/eurmic.1998.708124">https://doi.org/10.1109/eurmic.1998.708124</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Allison, C.</string-name>
              <string-name>Bramley, M.</string-name>
              <string-name>Serrano, J.</string-name>
              <string-name>Conference, V</string-name>
            </person-group>
            <year>1998</year>
            <article-title>The World Wide Wait: Where Does the Time Go? Proceedings</article-title>
            <source>24th EUROMICRO Conference</source>
            <volume>27</volume>
            <pub-id pub-id-type="doi">10.1109/eurmic.1998.708124</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Hurley, R.T. and Li, B.Y. (2008) Effects of Dynamic Content on Web Caching. <italic>Pro</italic><italic>ceeding</italic><italic>s</italic><italic>o</italic><italic>f the ISCA</italic>21 <italic>st International Conference on Parallel and Distributed Co</italic><italic>mputing</italic><italic>and Communication Systems</italic> ( <italic>PDCCS</italic>’08). New Orleans, 24-26 September 2008, 165-170.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Hurley, R.T.</string-name>
              <string-name>Li, B.Y.</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Effects of Dynamic Content on Web Caching</article-title>
            <source>Proceedings of the ISCA 21st International Conference on Parallel and Distributed Computing and Communication Systems (PDCCS’08). New Orleans</source>
            <volume>24</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Gangemi, A. and Presutti, V. (2006) Towards an OWL Ontology for Identity on the Web. <italic>Proceedings of the</italic>3 <italic>rd Italian Semantic</italic><italic>Web</italic><italic>Workshop</italic>, 201, 1-8. https://ceur-ws.org/Vol-201/43.pdf</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Gangemi, A.</string-name>
              <string-name>Presutti, V.</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Towards an OWL Ontology for Identity on the Web</article-title>
            <source>Proceedings of the 3rd Italian Semantic Web Workshop</source>
            <volume>201</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Tanenbaum, A.S. and van Steen, M. (2006) Distributed Systems: Principles and Paradigms. 2nd Edition, Prentice-Hall, Inc.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Tanenbaum, A.S.</string-name>
              <string-name>Steen, M.</string-name>
              <string-name>Edition, P</string-name>
              <string-name>Hall, I</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Distributed Systems: Principles and Paradigms</article-title>
            <source>2nd Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Raza, A., Zaki, Y., Pötsch, T., Chen, J. and Subramanian, L. (2015) Extreme Web Caching for Faster Web Browsing. <italic>Proceedings of the</italic>2015 <italic>ACM Conference on Special</italic><italic>Interest Group on Data Communication</italic>, New York, 17-21 August 2015, 111-112. https://doi.org/10.1145/2785956.2790032 <pub-id pub-id-type="doi">10.1145/2785956.2790032</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/2785956.2790032">https://doi.org/10.1145/2785956.2790032</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Raza, A.</string-name>
              <string-name>Zaki, Y.</string-name>
              <string-name>Chen, J.</string-name>
              <string-name>Subramanian, L.</string-name>
              <string-name>Communication, N</string-name>
            </person-group>
            <year>2015</year>
            <article-title>Extreme Web Caching for Faster Web Browsing</article-title>
            <source>Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication</source>
            <volume>17</volume>
            <pub-id pub-id-type="doi">10.1145/2785956.2790032</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B18">
        <label>18.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Stallings, W. (2007) Data and Computer Communications. 8th Edition, Pearson Prentice Hall.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Stallings, W.</string-name>
              <string-name>Edition, P</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Data and Computer Communications</article-title>
            <source>8th Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B19">
        <label>19.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Banks, J., <italic>et al</italic>. (2005) Discrete-Event System Simulation. 4th Edition, Pearson Education Inc.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Banks, J.</string-name>
              <string-name>Edition, P</string-name>
            </person-group>
            <year>2005</year>
            <article-title>Discrete-Event System Simulation</article-title>
            <source>4th Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B20">
        <label>20.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Hurley, R. and Plumley, B. (2016) Effectiveness of Load Balancing in a Distributed Web Caching System. <italic>Proceedings</italic><italic>of the</italic>7 <italic>th International Conference on Computer Mode</italic><italic>lling</italic>( <italic>ICCM</italic>2016). Berkely, 1-4 August 2016, 46-60.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Hurley, R.</string-name>
              <string-name>Plumley, B.</string-name>
            </person-group>
            <year>2016</year>
            <article-title>Effectiveness of Load Balancing in a Distributed Web Caching System</article-title>
            <source>Proceedings of the 7th International Conference on Computer Modelling (ICCM2016). Berkely</source>
            <volume>1</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B21">
        <label>21.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Gonzalez-Canete, F.J., Casilari, E. and Trivino-Cabrera, A. (2007) Characterizing Document Types to Evaluate Web Cache Replacement Policies. <italic>Fourth European Conf</italic><italic>erence on Uni</italic><italic>versal Multiservice Networks</italic> ( <italic>ECUMN</italic>’07), Toulouse, 14-16 February 2007, 3-11. https://doi.org/10.1109/ecumn.2007.11 <pub-id pub-id-type="doi">10.1109/ecumn.2007.11</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ecumn.2007.11">https://doi.org/10.1109/ecumn.2007.11</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Gonzalez-Canete, F.J.</string-name>
              <string-name>Casilari, E.</string-name>
              <string-name>Trivino-Cabrera, A.</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Characterizing Document Types to Evaluate Web Cache Replacement Policies</article-title>
            <source>Fourth European Conference on Universal Multiservice Networks (ECUMN’07)</source>
            <volume>14</volume>
            <pub-id pub-id-type="doi">10.1109/ecumn.2007.11</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B22">
        <label>22.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">WebSiteOptimization.com (2012) Average Number of Web Page Objects Breaks 100. http://www.websiteoptimization.com/speed/tweak/average-number-web-objects/</mixed-citation>
          <element-citation publication-type="web">
            <year>2012</year>
            <article-title>Average Number of Web Page Objects Breaks 100</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>