<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">48759</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2024.048759</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Fault-Tolerant Mobility-Aware Caching Method in Edge Computing</article-title>
<alt-title alt-title-type="left-running-head">A Fault-Tolerant Mobility-Aware Caching Method in Edge Computing</alt-title>
<alt-title alt-title-type="right-running-head">A Fault-Tolerant Mobility-Aware Caching Method in Edge Computing</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Ma</surname><given-names>Yong</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Zhao</surname><given-names>Han</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Guo</surname><given-names>Kunyin</given-names></name><xref ref-type="aff" rid="aff-3">3</xref><email>css@cqu.edu.cn</email></contrib>
<contrib id="author-4" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Xia</surname><given-names>Yunni</given-names></name><xref ref-type="aff" rid="aff-3">3</xref><email>xiayunni@hotmail.com</email></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Wang</surname><given-names>Xu</given-names></name><xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western"><surname>Niu</surname><given-names>Xianhua</given-names></name><xref ref-type="aff" rid="aff-5">5</xref></contrib>
<contrib id="author-7" contrib-type="author">
<name name-style="western"><surname>Zhu</surname><given-names>Dongge</given-names></name><xref ref-type="aff" rid="aff-6">6</xref></contrib>
<contrib id="author-8" contrib-type="author">
<name name-style="western"><surname>Dong</surname><given-names>Yumin</given-names></name><xref ref-type="aff" rid="aff-7">7</xref></contrib>
<aff id="aff-1"><label>1</label><institution>School of Computer Information Engineering, Jiangxi Normal University</institution>, <addr-line>Nanchang, 330000</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Digital Industry, Jiangxi Normal University</institution>, <addr-line>Shangrao, 334000</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>The College of Computer Science, Chongqing University</institution>, <addr-line>Chongqing, 400044</addr-line>, <country>China</country></aff>
<aff id="aff-4"><label>4</label><institution>College of Mechanical and Vehicle Engineering, Chongqing University</institution>, <addr-line>Chongqing, 400030</addr-line>, <country>China</country></aff>
<aff id="aff-5"><label>5</label><institution>School of Computer and Software Engineering, Xihua University</institution>, <addr-line>Chengdu, 610039</addr-line>, <country>China</country></aff>
<aff id="aff-6"><label>6</label><institution>Electric Power Research Institute of State Grid Ningxia Electric Power Company Ltd.</institution>, <addr-line>Yinchuan, 750002</addr-line>, <country>China</country></aff>
<aff id="aff-7"><label>7</label><institution>College of Computer and Information Science, Chongqing Normal University</institution>, <addr-line>Chongqing, 401331</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Authors: Kunyin Guo. Email: <email>css@cqu.edu.cn</email>; Yunni Xia. Email: <email>xiayunni@hotmail.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2024</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>16</day><month>4</month><year>2024</year></pub-date>
<volume>140</volume>
<issue>1</issue>
<fpage>907</fpage>
<lpage>927</lpage>
<history>
<date date-type="received"><day>17</day><month>12</month><year>2023</year>
</date>
<date date-type="accepted"><day>06</day><month>2</month><year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2024 Ma et al.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Ma et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_48759.pdf"></self-uri>
<abstract>
<p>Mobile Edge Computing (MEC) is a technology designed for the on-demand provisioning of computing and storage services, strategically positioned close to users. In the MEC environment, frequently accessed content can be deployed and cached on edge servers to optimize the efficiency of content delivery, ultimately enhancing the quality of the user experience. However, due to the typical placement of edge devices and nodes at the network&#x2019;s periphery, these components may face various potential fault tolerance challenges, including network instability, device failures, and resource constraints. Considering the dynamic nature of MEC, making high-quality content caching decisions for real-time mobile applications, especially those sensitive to latency, by effectively utilizing mobility information, continues to be a significant challenge. In response to this challenge, this paper introduces FT-MAACC, a mobility-aware caching solution grounded in multi-agent deep reinforcement learning and equipped with fault tolerance mechanisms. This approach comprehensively integrates content adaptivity algorithms to evaluate the priority of highly user-adaptive cached content. Furthermore, it relies on collaborative caching strategies based on multi-agent deep reinforcement learning models and establishes a fault-tolerance model to ensure the system&#x2019;s reliability, availability, and persistence. Empirical results unequivocally demonstrate that FT-MAACC outperforms its peer methods in cache hit rates and transmission latency.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Mobile edge networks</kwd>
<kwd>mobility</kwd>
<kwd>fault tolerance</kwd>
<kwd>cooperative caching</kwd>
<kwd>multi-agent deep reinforcement learning</kwd>
<kwd>content prediction</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Innovation Fund Project</funding-source>
<award-id>YJS2022065</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Domestic Visiting Program</funding-source>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>With the exponential growth of data traffic generated by Internet of Things (IoT) devices, existing networks and infrastructure are facing significant challenges [<xref ref-type="bibr" rid="ref-1">1</xref>]. The traditional cloud-based model is increasingly proving to be inadequate, with its lack of agility and efficiency becoming particularly evident in the face of growing demands and data loads. In conventional cloud computing systems, data must traverse the Internet to reach cloud servers for processing, leading to significant latency issues, which are intolerable for real-time applications [<xref ref-type="bibr" rid="ref-2">2</xref>]. To overcome these limitations, Mobile Edge Computing (MEC) technology has emerged [<xref ref-type="bibr" rid="ref-3">3</xref>], enabling the caching of resources at the network edge and providing computing and storage services close to the requests. This enhances the responsiveness of latency-sensitive applications and ensures users experience rapid system responses. However, due to its reliance on unreliable wireless communication and distributed resource infrastructure, applications based on MEC are more susceptible to various types of system failures or faults, including MEC overload and software or hardware failures, all of which further contribute to a poor Quality of Experience (QoE) perceived by users [<xref ref-type="bibr" rid="ref-4">4</xref>].</p>
<p>Despite the numerous benefits of edge computing, its highly distributed and dynamic nature, coupled with the diversity of user preferences, service requests, and mobility patterns, make ensuring high cache utilization and user satisfaction through effective fault tolerance mechanisms a complex and challenging task. To address this challenge and ensure reliable and seamless content delivery to users, several key issues need to be addressed:</p>
<p>(i) Edge servers have limited capacity and cannot cache all the content that users might request.</p>
<p>(ii) Edge servers must provide collaborative services with both caching and communication functions, rather than building isolated services for individual users.</p>
<p>(iii) Accurately predicting user preferences, considering the differences in content preferences among individuals, is essential.</p>
<p>(iv) The caching mechanism should align with user mobility, ensuring that the requests of mobile users are met with guaranteed service efficiency.</p>
<p>(v) Edge nodes are susceptible to malicious activities, physical damage in harsh environments, or temporary disruptions in network connectivity when frequently exchanging tasks, which can impact real-time data communication.</p>
<p>As a response, we introduce a mobile-aware caching approach that integrates fault tolerance mechanisms. This paper primarily focuses on caching strategies aimed at reducing latency and enhancing cache hit rates and proposes a fault tolerance mechanism to optimize the performance of MEC systems, ultimately improving user experience and system efficiency. Through extensive large-scale simulation experiments, we have validated the superior performance and effectiveness of the FT-MAACC method compared to conventional approaches.</p>
<p>The remaining part of this paper is organized as follows: a summary of related work is provided in <xref ref-type="sec" rid="s2">Section 2</xref>. The system model and problem formulation are presented in <xref ref-type="sec" rid="s3">Section 3</xref>. <xref ref-type="sec" rid="s4">Section 4</xref> discusses the proposed primary methods. Simulation results will be discussed in <xref ref-type="sec" rid="s5">Section 5</xref>. Finally, closing remarks and prospects are provided in <xref ref-type="sec" rid="s6">Section 6</xref>.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>In recent years, with the advancement of MEC, content caching technology has garnered significant international research interest as an effective solution for reducing data traffic. This technology reduces latency and network congestion by enabling servers to quickly fulfill user requests through the local storage of popular content. Consequently, the research community has developed numerous MEC caching strategies. For example, Reiss-Mirzaei et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] considered the social and behavioral characteristics of users that affect caching strategies and proposed an edge caching mechanism based on social relationships and user behavior characteristics, aimed at reducing network traffic and latency in accessing popular content. Zhang et al. [<xref ref-type="bibr" rid="ref-6">6</xref>] developed a collaborative edge caching framework that integrates intelligent vehicles for multimedia services in modern wireless networks, enhancing mobile edge computing resource utilization. Ndikumana et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] addressed mobile network latency issues and proposed collaborative cache allocation and computation offloading strategies to maximize resource utilization.</p>
<p>In the context of enhancing network performance and user satisfaction, personalized caching and mobility-aware MEC caching have garnered significant attention. These approaches are crucial in meeting user requirements, optimizing network efficiency, and providing personalized services and content recommendations. Tang et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] addressed the efficient use of edge computing and IoT devices for caching multimedia content in Information-Centric Networks, proposing a solution integrating machine learning-based location prediction, intelligent caching, and optimized caching replacement algorithms. Wu et al. [<xref ref-type="bibr" rid="ref-9">9</xref>] explored collaborative caching in Vehicle Edge Computing (VEC), using asynchronous joint learning and deep reinforcement learning to optimize caching locations and improve the global model&#x2019;s accuracy. Wei et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] introduced user destination prediction with trajectory information, integrated with a caching decision algorithm for creating efficient cache deployment plans. Given the scale and complexity of MEC caching, deep reinforcement learning algorithms, like Q-learning [<xref ref-type="bibr" rid="ref-11">11</xref>], have shown significant potential in optimizing these problems. Jiang et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] delved into collaborative content caching in MEC, proposing a reinforcement learning-based architecture and a Multi-Agent Reinforcement Learning (MARL) algorithm to manage content caching, particularly for unknown user preferences inferred from historical demand patterns.</p>
<p>Although multi-agent deep reinforcement learning has its advantages, utilizing the shared experiences among agents to improve learning efficiency, it also has limitations, mainly due to insufficient consideration of user mobility characteristics. As Ostrowski et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] proposed, in dynamic network environments, mobile fog nodes and end users exhibit time-varying characteristics, including dynamic network topology changes, which pose additional challenges to the effectiveness and applicability of deep reinforcement learning algorithms. In contrast, Zhong et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed a system model encompassing both centralized and decentralized caching systems, introducing a deep learning-based Actor-Critic framework to optimize content delivery latency. Their model, however, is static, differing from the dynamic approach in this paper. Additionally, Song et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] focused on static users within MEC environments, using a single-agent learning mechanism to optimize collaborative caching models. Single-agent deep reinforcement learning focuses on individual learning in isolated environments, not fully exploiting the collaborative potential among multiple agents, which is a key focus of multi-agent deep reinforcement learning in this study.</p>
<p>In the distributed and heterogeneous environment of edge computing, where numerous edge nodes and devices are present, risks such as hardware malfunctions, network disruptions, or power outages are common. Given the inevitability of failures in this environment, fault tolerance becomes a crucial aspect. Consequently, researchers have developed various strategies to address this challenge. For instance, Zhang et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] introduced an online offloading framework utilizing multi-step reinforcement learning, featuring fault detection, recovery strategies, backup-based fault recovery, and checkpoint techniques. Sun et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed a fault-tolerant Quality of Service (QoS)-aware scheduling model for mixed-edge-cloud environments, evolving the traditional Primary-Backup (PB) model into a reliability-oriented time-constrained approach. Concurrently, Mitsis et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] presented a multi-user-multi-server-multi-access edge computing operational framework based on prospect theory, game theory, and reinforcement learning principles. Their framework focuses on enabling MEC servers to determine their optimal published prices in a semi-autonomous and fully autonomous manner, marking a significant advancement in our research field. However, compared to our proposed FT-MAACC, Mitsis et al.&#x2019;s study primarily concentrates on pricing strategies and behavioral awareness, while our work is more focused on integrating content adaptability algorithms, collaborative caching strategies, and fault tolerance models to address fault tolerance challenges in the MEC environment.</p>
<p>Our approach combines a multi-agent deep reinforcement learning (DRL) model with collaborative caching strategies, integrating fault tolerance mechanisms to address base station failures. In the dynamic landscape of distributed edge computing, where user and base station mobility frequently alter network conditions [<xref ref-type="bibr" rid="ref-19">19</xref>], a single-agent learning approach might struggle to keep pace with these changes. This is where the advantage of multiple DRL agents becomes evident. They independently explore and learn in diverse environments, effectively adapting to these shifts, meeting user demands more efficiently and enhancing overall network performance. Unlike single-agent methods, multi-agent DRL not only offers greater potential in adapting to such dynamic environments but also brings forth new challenges in cooperation and communication, which are vital for optimizing content caching and delivery processes. The integration of fault tolerance mechanisms concurrently plays a crucial role, in mitigating the effects of base station failures and ensuring the stability and reliability of the system.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>System Model and Problem Formulation</title>
<p>In this section, we provide a detailed exposition of the system model and the formulation of the problem.</p>
<sec id="s3_1">
<label>3.1</label>
<title>System Model</title>
<p>In this paper, we deploy an MEC environment where each base station is equipped with an edge server with a storage capacity denoted as <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi>&#x1D4AF;</mml:mi></mml:mrow></mml:math></inline-formula>. Each mobile user establishes a connection with a specific MEC server, and within any given time slot, a user can only communicate with one base station. MEC servers are interconnected with each other through X2 or Xn links and connected to the cloud via backhaul links [<xref ref-type="bibr" rid="ref-20">20</xref>]. The set of base stations is denoted as <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>B</mml:mi><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, the set of users is denoted as <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, and the cloud server serves as the source server for content. It is assumed that content requests are mutually independent, and each user can request only one content item within a specific time slot, with user locations remaining fixed during the given time slot. The system model comprises four key components: the cache model, transmission delay model, mobility model and fault model. This comprehensive framework is designed to address user demands in high-mobility environments, with the goals of reducing user request latency, improving cache hit rates, and optimizing MEC system performance through fault tolerance mechanisms. Reference to <xref ref-type="table" rid="table-1">Table 1</xref> is provided for annotations in this paper.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Summary of the key notations</title>
</caption>
<table frame="hsides" >
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Notation</th>
<th>Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi>&#x1D4AF;</mml:mi></mml:mrow></mml:math></inline-formula></td>
<td>The capacity of each edge server</td>
</tr>
<tr>
<td><inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>t</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>T</mml:mi></mml:math></inline-formula></td>
<td>Time slot</td>
</tr>
<tr>
<td><inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>B</mml:mi><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Set of base stations</td>
</tr>
<tr>
<td><inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula></td>
<td>The <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>k</mml:mi></mml:math></inline-formula>-th base station, <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Set of users</td>
</tr>
<tr>
<td><inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:math></inline-formula></td>
<td>The <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>b</mml:mi></mml:math></inline-formula>-th user, <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>The set of content</td>
</tr>
<tr>
<td><inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula></td>
<td>The <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>c</mml:mi></mml:math></inline-formula>-th content, <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>p</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula></td>
<td>The content <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> requested by user <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:math></inline-formula> from base station <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> at <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>t</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula></td>
<td>The caching status of <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> at <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>The size of <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> content</td>
</tr>
<tr>
<td><inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula></td>
<td>Delay from local, neighbour and cloud server</td>
</tr>
<tr>
<td><inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msup><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula></td>
<td>Total transmission delay</td>
</tr>
<tr>
<td><inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula></td>
<td>The moving trajectory of the <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>b</mml:mi></mml:math></inline-formula>-th user</td>
</tr>
<tr>
<td><inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>P</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Failure probability of the <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>k</mml:mi></mml:math></inline-formula>-th base station</td>
</tr>
<tr>
<td><inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>T</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>The probability of the <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>k</mml:mi></mml:math></inline-formula>-th base station failing to process tasks</td>
</tr>
<tr>
<td><inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>F</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Delay caused by failure of the <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>k</mml:mi></mml:math></inline-formula>-th base station</td>
</tr>
<tr>
<td><inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>A</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula></td>
<td>The set of state, agent, action</td>
</tr>
<tr>
<td><inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Reward function</td>
</tr>
<tr>
<td><inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>&#x03BA;</mml:mi></mml:math></inline-formula></td>
<td>Content type</td>
</tr>
<tr>
<td><inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Access content</td>
</tr>
<tr>
<td><inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Corresponding content&#x2019;s request count</td>
</tr>
<tr>
<td><inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td>Content fitness</td>
</tr>
<tr>
<td><inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Retrieve the relevant attributes of the content</td>
</tr>
<tr>
<td><inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Content feature adaptation degree</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the system architecture can be divided into three fundamental layers [<xref ref-type="bibr" rid="ref-21">21</xref>]. At the topmost tier is the cloud server layer, consisting of high-performance servers with ample storage capacity. The intermediate layer is the edge server layer, comprising various base stations, each equipped with data storage, caching capabilities, and computational resources. The bottom layer is composed of mobile vehicle users. These base stations are distributed randomly within the simulated area, interconnected through wireless networks, and linked to the cloud servers via backhaul connections. When a user initiates a content request, the request is initially transmitted to the nearby base station. The base station then searches its local cache for the requested content. If the content is available in the local cache, the base station promptly delivers it to the mobile user. In cases where the desired content is not found in the local cache, the base station attempts to request the content from neighboring base stations. Only if adjacent base stations cannot provide the requested content does the base station forward the request to the cloud center [<xref ref-type="bibr" rid="ref-22">22</xref>].</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Edge computing system model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-1.tif"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Cache Model</title>
<p>Edge servers face limitations related to storage capacity and computational resources, which necessitate the selective caching of content to ensure quality of service for users [<xref ref-type="bibr" rid="ref-23">23</xref>]. At <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>t</mml:mi></mml:math></inline-formula>, the cache status of edge server <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> can be represented as:</p>
<p><disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>where, the binary variable <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is used to denote whether content <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> is cached in <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>, with <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> defined as:</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>is cached in</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>otherwise</mml:mtext></mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Considering the constraints imposed by hardware resources and storage capacity, the cache capacity of edge servers should not exceed their total available space. Hence, edge servers must adhere to <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>. This implies that, at <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>t</mml:mi></mml:math></inline-formula>, if content <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>c</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> is to be cached in <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> it is necessary for the current server&#x2019;s capacity to be sufficiently available, as defined by the equation:</p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mi>&#x1D4AF;</mml:mi></mml:mrow></mml:math></disp-formula></p>
<p>where, <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the size of content <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> represents the cache capacity of <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Transmission Delay Model</title>
<p>Transmission delay refers to the time delay experienced by data during its transfer across a network. This delay can be categorized into three primary components: firstly, the delay associated with data transmission within local caches; secondly, the delay arising from collaborative transfers between various edge servers; and lastly, the delay incurred when data is transmitted from the cloud to end users. These three components collaboratively contribute to the reduction of the overall transmission delay [<xref ref-type="bibr" rid="ref-24">24</xref>]. In <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>t</mml:mi></mml:math></inline-formula>, the three components of transmission delay for <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> are defined as <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula>, and their specific mathematical expressions are as follows:</p>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>where, <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> represents the size of content <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> represents the content <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> requested by user <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> from base station <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> at time <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mi>t</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represent the transmission rates from the local, neighbor, and central servers, respectively. <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> indicates whether content <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> is cached at the current base station, and <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msubsup><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> indicates whether content <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> is cached at neighboring nodes.</p>
<p>The total transmission delay is defined as:</p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msup><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:munderover><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></disp-formula></p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Mobility Model</title>
<p>In this assumption, we consider that the mobility of a mobile user exhibits an arbitrary pattern, with the direction and angle of movement varying over time. This implies that the user&#x2019;s movement trajectory is not constrained to a specific pattern or path and can change dynamically based on various factors or influences. Thus the user&#x2019;s path is expressed in terms of latitude and longitude as follows:</p>
<p><disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> denotes the moving trajectory of the <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> user in <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>t</mml:mi></mml:math></inline-formula>. Where <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mrow><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the longitude point of the mobile trajectory of the <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> user in <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>t</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msub><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the latitude point of the mobile trajectory of the <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> user in <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi>t</mml:mi></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Fault Model</title>
<p>The failure probability of edge servers is a multifaceted issue that is influenced by various factors. The failure probability is affected by multiple factors, such as the quality of hardware equipment, environmental conditions, operating time, and workload status [<xref ref-type="bibr" rid="ref-25">25</xref>]. This paper assumes that the failure events of edge servers are independent and follow a Poisson process. Consequently, the failure probability of an edge server equipped with base station <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mrow><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> in a single time slot, denoted as <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>P</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, can be further elaborated as:</p>
<p><disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="right left" rowspacing="3pt" columnspacing="0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>P</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mtext>t</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mtext>f_k</mml:mtext></mml:mrow><mml:mi>x</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mo>!</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mtext>t</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>where <italic>X</italic> represents the number of failure occurrences, <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>e</mml:mi></mml:math></inline-formula> is the base of the natural logarithm, <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>&#x03BB;</mml:mi></mml:math></inline-formula> is the failure rate (the average rate of failure events), <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the number of failures in base station <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msub><mml:mrow><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> is the time during which <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mrow><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> failures occur.</p>
<p>The probability of task processing failure <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>T</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> on the edge server <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mrow><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>, when a user requests resources, can be estimated using queuing theory:</p>
<p><disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mi>T</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:msup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mtext>t</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p>where <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>&#x03C1;</mml:mi></mml:math></inline-formula> represents the system&#x2019;s utilization rate (the ratio of task arrival rate to task processing rate), and <italic>CN</italic> denotes the capacity of the server.</p>
<p>When a base station fails, it ceases to accept user request tasks. However, if a failure occurs after receiving a user request, resulting in the inability to process the received task, it leads to a delay in task execution:</p>
<p><disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mi>F</mml:mi><mml:msubsup><mml:mi>T</mml:mi><mml:mi>k</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:munderover><mml:mfrac><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mrow><mml:mtext>p</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>where <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>C</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> the processing capacity of the <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>k</mml:mi></mml:math></inline-formula>-th base station and <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> denotes the distance of communication between the base station and the <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>b</mml:mi></mml:math></inline-formula>-th user.</p>
</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Problem Formulation</title>
<p>The content caching problem involves minimizing content delivery latency in scenarios that consider additional requirements or constraints. Our goal is to minimize latency to the greatest extent possible while meeting the time constraints and capacity limits of each MEC, all the while ensuring the effective delivery of the required content. Consequently, this problem is formally formulated as:</p>
<p><disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mi>Min</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>T</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:munderover><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-13"><mml:math id="mml-ueqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mtable columnalign="right right left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mi>t</mml:mi><mml:mo>.</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">C1.\quad</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi>&#x1D4AF;</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">C2.\quad</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">C3.\quad</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">C4.\quad</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mi>F</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mtext>neighbor&#xA0;</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Constraint C1 indicates the size of the content requested by the user cannot exceed the capacity size of the edge server. Constraint C2 is to constrain the non-negativity and integrity of the variable. Constraint C3 indicates the maximum distance of the user request content. Constraint C4 states that the delay caused by a base station failure, leading to the inability to process an individual user request task, must be shorter than the time it takes for a user to successfully send a request to the base station.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Primary Methods</title>
<sec id="s4_1">
<label>4.1</label>
<title>Content Prediction</title>
<p>To fulfill user requests and minimize content transmission latency, edge servers can proactively predict the content that users are likely to request and cache it locally. While highly popular content is more likely to be requested, it fails to account for users&#x2019; personal preferences [<xref ref-type="bibr" rid="ref-26">26</xref>]. Therefore, simply predicting based on popularity is not always realistic. In the context of users&#x2019; mobility, accurately predicting content that aligns with their preferences and caching the target content accordingly is a challenging problem that aims to further enhance the QoS for users. Based on this, we propose an adaptive content prediction algorithm (ACP) that takes into account user preferences. The specific algorithm is depicted in Algorithm 1.</p>
<fig id="fig-10">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-10.tif"/>
</fig>
<p>Initially, collect the historical records of user content access within time period <italic>T</italic>. The cumulative number of content accessed by users is denoted as <italic>W</italic>. Time period <italic>T</italic> is then divided into o time slots, denoted as <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">o</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. For each time <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:math></inline-formula> <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="normal">o</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, calculate the content fitness <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula> of user content access. The calculation formula is as follows:</p>
<p><disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mi>&#x03BA;</mml:mi></mml:munder><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p>where, <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>&#x03BA;</mml:mi></mml:math></inline-formula> represents the category of content accessed by users, <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:math></inline-formula> represents the content accessed by users during time <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> indicates the number of requests made by users for content <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> during time <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. By inputting the collection of content matching degrees <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> into an exponential smoothing prediction model, we can obtain the predicted content matching degree <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msubsup><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> for users in the next time slot. Consequently, the predicted content <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for user clusters in that time slot can be determined.</p>
<p>The content feature adaptation degree <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>S</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:math></inline-formula> represents the degree of match between the predicted content <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for users in time <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and their accessed content <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in time <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. The calculation formula is as follows:</p>
<p><disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>S</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mi>&#x03BA;</mml:mi></mml:munder><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:msub><mml:mi>Cha</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mo>&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>Cha</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:math></disp-formula></p>
<p>where <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:math></inline-formula> represents the weights of different features. <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:msub><mml:mi>Cha</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the corresponding feature of the accessed content <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> by users in time <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mrow><mml:mover><mml:msub><mml:mi>Cha</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mo>&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the corresponding feature of the predicted content <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>&#x03BA;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> based on the content adaptation degree prediction value <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msubsup><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> for users in <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p>
<p>Based on the content feature matching, the content adaptation degree <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> for predicting the content of the user cluster at <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> is calculated using the following formula:</p>
<p><disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>&#x03BA;</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>Z</mml:mi></mml:munderover><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow><mml:mi>N</mml:mi></mml:mfrac></mml:math></disp-formula></p>
<p>where, <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the content feature matching degree of the <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> content category for the <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> user cluster; <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03BA;</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the content adaptiveness of the <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> user cluster for the <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> content category in <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Multi-Agent Deep Reinforcement Learning Model</title>
<p>DRL is a technique that merges deep learning and reinforcement learning to train intelligent agents [<xref ref-type="bibr" rid="ref-27">27</xref>]. By engaging in ongoing interactions with the environment, these agents learn optimal strategies to make decisions. Multiple DRL agents refer to the presence of multiple independent intelligent agents simultaneously in a reinforcement learning environment [<xref ref-type="bibr" rid="ref-28">28</xref>]. In traditional reinforcement learning, typically only one agent interacts with the environment and learns the optimal strategy. The objective of multiple deep reinforcement learning agents is to learn and optimize their strategies through collaboration or competition, aiming to achieve global optimality or specific goals. Each agent perceives the environmental state, selects actions, and interacts with the environment, continuously improving its strategy through trial and error and learning [<xref ref-type="bibr" rid="ref-29">29</xref>].</p>
<p>In this paper, we use a multi-intelligent deep reinforcement learning framework (<xref ref-type="fig" rid="fig-2">Fig. 2</xref>), and partially incomplete observable reinforcement learning problems can be modeled as Partially Observable Markov Decision Processes (POMDP) [<xref ref-type="bibr" rid="ref-30">30</xref>] modeled as a six-tuple <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B6;</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. <italic>S</italic> represents the set of states, <italic>A</italic> denotes the set of actions, <italic>R</italic> represents the reward function, and <italic>P</italic> corresponds to the state transition probability matrix.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Schematic illustration of the Multi-Agent Actor-Critic framework</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-2.tif"/>
</fig>
<p><disp-formula id="ueqn-17"><mml:math id="mml-ueqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center center center center center center center center center center center center center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22F1;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In this context, <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:mi>&#x03B6;</mml:mi></mml:math></inline-formula> refers to the set of observations, while <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> represents the set of observation probabilities. The state, action, and reward can be defined as follows:</p>
<p><italic>1)</italic> State: at time <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mi>t</mml:mi></mml:math></inline-formula>, the specific state of the edge cache nodes is denoted as <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mn>1</mml:mn><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mn>2</mml:mn><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. The set of agents is defined as <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mi>A</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>a</mml:mi><mml:msubsup><mml:mi>g</mml:mi><mml:mn>1</mml:mn><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:msubsup><mml:mi>g</mml:mi><mml:mn>2</mml:mn><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:msubsup><mml:mi>g</mml:mi><mml:mi>N</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>N</italic> represents the number of agents. Each agent is placed on a specific edge server device and engages in interactions and competitions with other agents to enhance its strategy. Through continuous learning, the agents strive to improve their performance over time.</p>
<p><italic>2)</italic> Action: The action set <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> represents the decisions made by the agent based on its perception of the environmental state regarding whether to cache content. In this context, <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:msubsup><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> denotes the action of caching the content, while <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:msubsup><mml:mi>a</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> represents the action of discarding the content.</p>
<p><italic>3)</italic> Reward: The reward function <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the reward obtained by the agent for selecting a particular action in the current state. The agent utilizes this reward to adjust its exploration strategy. The general procedure involves the agent first interacting with the environment to obtain the state <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula>. Based on the input state <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula>, the agent selects an action <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:math></inline-formula> and receives an immediate reward. Finally, the agent accumulates the previous immediate rewards to obtain the current cumulative reward. The primary objective of the reward function is to minimize content delivery latency. When an action meets the requirements, the reward value increases, while it decreases when the action fails to meet the requirements. The reward function is directly tied to the optimization objective and can be defined as follows:</p>
<p><disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>T</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:munderover><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Fault-Tolerant Multi-Agent Actor-Critic Algorithm for Content Caching</title>
<p>Algorithm 2, referred to as <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula>, innovatively integrates fault tolerance with multi-agent reinforcement learning to enhance collaboration and learning among agents within distributed environments, while simultaneously increasing the system&#x2019;s resilience to faults and errors. In traditional multi-agent reinforcement learning settings, failures in one or more agents can significantly impact the overall performance and stability of the system. <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> addresses this challenge by incorporating fault-tolerance mechanisms that enable the system to adapt and continue learning in the face of such failures. At the heart of this algorithm is the Actor-Critic architecture, which assigns the responsibility of decision-making based on the current state to the Actor, and the task of evaluating the outcomes of actions to the Critic. This division of responsibilities ensures that each agent in the system is equipped with its Actor and Critic, thereby addressing the critical challenge of maintaining system integrity and performance amidst potential agent failures.</p>
<p>Understanding the computational complexity of <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> is crucial for assessing its applicability across multi-agent systems of varying scales. The complexity is primarily influenced by several key factors, including the number of neurons in each layer of the Actor and Critic networks, the number of layers, and the dimensions of the input and output layers. For instance, the total computational complexity of the Actor-network can be expressed as <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03B9;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:math></inline-formula> represents the size of the input layer, <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the number of neurons in the <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:mi>m</mml:mi></mml:math></inline-formula>-th layer, and <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:mi>&#x03B9;</mml:mi></mml:math></inline-formula> is the dimension of the output layer. Similarly, the Critic network, which is tasked with evaluating the value of selected actions, follows a parallel complexity expression as <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. When considering <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:mi>n</mml:mi></mml:math></inline-formula> agents within the system, the overall computational complexity becomes <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi>n</mml:mi></mml:math></inline-formula> times the sum of the complexities of the Actor and Critic networks for all agents.</p>
<p>Beyond its architectural design, <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> proactively estimates the probabilities of base station malfunctions and task processing failures to ensure fault tolerance. This assessment enhances the system&#x2019;s reliability and stability. By understanding the likelihood of base station outages and the risks associated with task processing errors, <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> can implement targeted strategies to mitigate potential failure scenarios. This approach contributes to reduced content delivery latencies and an improved overall user experience within edge computing environments.</p>
<fig id="fig-11">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-11.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Performance Evaluation</title>
<sec id="s5_1">
<label>5.1</label>
<title>Parameters Setting</title>
<p>To assess the FT-MAACC method and simulate content requests and user behavior in mobile environments, we integrated mobile user access event logs and mobility trajectories from the <italic>Shanghai Telecom</italic> dataset [<xref ref-type="bibr" rid="ref-31">31</xref>] with user content preferences from the <italic>Movielens 1M</italic> [<xref ref-type="bibr" rid="ref-32">32</xref>]. The Shanghai dataset comprises over 7.2 million content access event records and their corresponding mobility trajectories from 9,481 mobile users across 3,233 edge sites over six months, reflecting users&#x2019; mobility patterns and behavioral habits. By incorporating rating information from the MovieLens dataset, we attributed specific content preferences to these mobility trajectories, simulating users&#x2019; interests in movies or video content at various locations and times. This approach enabled the construction of a comprehensive model that reflects both the realities of the mobile environment and user preferences. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> shows the distribution location of edge nodes in Shanghai. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> is an example recording the trajectory of a taxi in the city heart of Shanghai. We use Python to implement the proposed <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> method. The neural network model is built upon a network of evaluated actors and commenters, as well as a network of target actors and commenters. The target network is updated with the Adam optimizer, with learning rates of 0.001 for the critic network and 0.0005 for the actor network, and a discount factor of 0.9. The relevant parameters are shown in <xref ref-type="table" rid="table-2">Table 2</xref>.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Blue coordinate icons represent each edge node in Shanghai&#x2019;s downtown area showing the general distribution of the whole network</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-3.tif"/>
</fig><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The green lines represent the route trajectory of a taxi in the city heart of Shanghai on a certain day</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-4.tif"/>
</fig><table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Parameter table</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Number of users</td>
<td>30</td>
</tr>
<tr>
<td>Coverage radius (m)</td>
<td>100&#x2013;200</td>
</tr>
<tr>
<td>Basic transfer data size (KB)</td>
<td>8</td>
</tr>
<tr>
<td>Basic run time per task (ms)</td>
<td>20</td>
</tr>
<tr>
<td>Total bandwidth (Mbps)</td>
<td>50</td>
</tr>
<tr>
<td>Number of rounds of training</td>
<td>30</td>
</tr>
<tr>
<td>Size of cache</td>
<td>0&#x2013;500</td>
</tr>
<tr>
<td>The number of local epochs</td>
<td>10</td>
</tr>
<tr>
<td>Local batch size</td>
<td>50</td>
</tr>
<tr>
<td>Actor and critic learning rate</td>
<td>0.001, 0.0005</td>
</tr>
<tr>
<td>Network update rate</td>
<td>0.01</td>
</tr>
<tr>
<td>Discount</td>
<td>0.9</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Comparison Algorithms</title>
<p><inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> is compared against the following benchmark algorithms: Thompson sampling (<inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi></mml:math></inline-formula>) [<xref ref-type="bibr" rid="ref-33">33</xref>], Random Selection Algorithm (<inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi></mml:math></inline-formula>) [<xref ref-type="bibr" rid="ref-34">34</xref>], Greedy Algorithm (<inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mi mathvariant="bold-italic">G</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi></mml:math></inline-formula>) [<xref ref-type="bibr" rid="ref-35">35</xref>], <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">L</mml:mi></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-12">12</xref>], and <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> (The algorithm in this paper does not consider fault tolerance).</p>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Performance Analysis</title>
<p>For performance analysis, we configured an environment where each base station was equipped with an edge server. Different base stations cached corresponding contents according to corresponding caching strategies to test the resource requests of mobile vehicles.</p>
<p>As shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, different kinds of applications are represented by different shapes, such as triangles, prototypes, and squares. Different colors indicate the resources cached by different edge servers. When the vehicle moves, the resource hit rates of <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">L</mml:mi></mml:math></inline-formula> cache are higher than others, which means the vehicle can obtain resources from the nearest base station. On the contrary, <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:mrow><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">G</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi></mml:mrow></mml:math></inline-formula> request resources from adjacent edge servers resulting in increased latency. Crossed-out base stations indicate a failure in the system, while dashed lines represent the inability to acquire resources from the faulty base stations. The <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> algorithm proactively detects base stations with a high probability of failure, selecting the nearest operational base station to provide resources. This approach aims to enhance the hit rate and reduce latency.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Cached resources using different algorithms</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-5.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-6">Fig. 6</xref> shows the cache hit rates under various caching strategies and cache capacities in a fault-free base station scenario. As the capacity of the edge server increases, the cache hit ratio is observed to increase. By increasing the cache capacity of the edge server, the number of cached resources also increases. Consequently, mobile users are more likely to retrieve resources from local and adjacent edge servers, enhancing overall resource availability and accessibility. This results in a higher hit ratio. Since <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> solely incorporates fault tolerance mechanisms in comparison to <inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula>, the cache hit rates of <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> are identical in the scenario where the base station is free from faults. <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> outperform <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:mrow><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">G</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">L</mml:mi></mml:mrow></mml:math></inline-formula> by 22.2<inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/37.1<inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/15.2<inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/12.8<inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>, respectively. This is because <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> utilize multi-depth reinforcement learning agents and introduce mechanisms of cooperation and competition, allowing agents to compete, cooperate, or collaborate in their learning process. This promotes mutual learning and interaction among the agents, thereby improving overall performance.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Cache hit rates of FT-MAACC/MAACC/TS/RSA/GA/MARL under different cache capacities (Absence of Failures)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-6.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-7">Fig. 7</xref> showcases the cache hit rate considering different cache capacities, various cache policies, and the occurrence of a random node failure. By incorporating fault tolerance mechanisms, <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> considers the probability and impact of node failures, giving priority to resource requests from base stations that are less susceptible to failures. This approach effectively mitigates cache misses caused by node failures, leading to an improved cache hit rate. The hit rates of other algorithms showed fluctuations primarily due to the inherent randomness of cache misses when user requests need to access cache data located on a failed node. <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> outperformed <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:mrow><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">S</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">G</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mi mathvariant="bold-italic">L</mml:mi></mml:mrow></mml:math></inline-formula> by 8.3<inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/18.4<inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/37.4<inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/17<inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>/11.9<inline-formula id="ieqn-227"><mml:math id="mml-ieqn-227"><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>, respectively.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Cache hit rates of FT-MAACC/MAACC/TS/RSA/GA/MARL under different cache capacities (Presence of Failures)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-7.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-8">Fig. 8</xref> reveals the request latency with different caching strategies under different cache capacities in the scenario where the base station is fault-free. An increase in the cache capacity of an edge server leads to a decrease in resource transfer latency for all cache strategies. This observation suggests a direct relationship between cache capacity and the reduction of latency in resource transfers. This is because the larger the cache capacity, the higher the cache hit ratio of the edge server, the higher the possibility of mobile users obtaining resources from the local and neighboring servers, and the lower the corresponding resource transmission delay. Based on <xref ref-type="fig" rid="fig-8">Fig. 8</xref>, it is evident that both <inline-formula id="ieqn-228"><mml:math id="mml-ieqn-228"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-229"><mml:math id="mml-ieqn-229"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> demonstrate comparable and lower latency compared to other methods. This can be attributed to the adoption of a multi-agent mechanism in <inline-formula id="ieqn-230"><mml:math id="mml-ieqn-230"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-231"><mml:math id="mml-ieqn-231"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula>, which enhances the exploration capabilities of the training environment by incorporating diverse intelligent agents. Each agent can independently explore the environment and acquire unique strategies. This comprehensive exploration approach enables the system to discover optimal strategies and effectively reduce latency.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Request latency of FT-MAACC/MAACC/TS/RSA/GA/MARL under different cache capacities (Absence of Failures)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-8.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-9">Fig. 9</xref> depicts the request latency in the scenario where a random node failure occurs, considering different cache capacities and cache policies. When an edge node experiences a failure, the access latency for users to that node increases. Among the evaluated strategies, <inline-formula id="ieqn-232"><mml:math id="mml-ieqn-232"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula> exhibits the lowest latency. However, its latency is higher compared to the scenario where no failures occur. This is primarily due to the time required for detecting and diagnosing faulty nodes. In contrast, the latency of other strategies generally increases and exhibits fluctuations. This can be attributed to the possibility of user requests being directed to the failed nodes, necessitating redirection to alternative available nodes, which introduces additional delays in network communication and forwarding. Moreover, the unavailability of data stored on the faulty nodes necessitates alternative means of data retrieval, further contributing to increased access latency. In summary, <inline-formula id="ieqn-233"><mml:math id="mml-ieqn-233"><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="bold">&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:math></inline-formula>, with its integrated fault tolerance mechanisms, effectively mitigates latency to a certain extent, positioning it as a superior choice compared to other algorithms.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Request latency of FT-MAACC/MAACC/TS/RSA/GA/MARL under different cache capacities (Presence of Failures)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_48759-fig-9.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusion</title>
<p>This article primarily addresses the challenge of high-speed mobile resource caching in the MEC environment and introduces a mobile-aware caching approach based on multi-agent deep reinforcement learning with fault tolerance (FT-MAACC). The strength of this approach lies in the agents&#x2019; capacity to adapt flexibly to changing conditions and real-time feedback, autonomously updating their behaviors and strategies to suit new contexts, thus providing higher-quality decision-making and services. Experimental results illustrate the effectiveness of this approach in enhancing cache hit rates and reducing content transmission latency.</p>
<p>In future research and development, we plan to further fortify the reliability and fault tolerance of edge computing cache systems. By introducing more robust fault detection and recovery mechanisms, we aim to ensure the system can promptly identify and respond to potential faults in edge nodes or the network. Through real-time monitoring of node availability and load conditions, our system will be capable of automatically switching to backup nodes to ensure the continuity and high availability of cache services. This approach will help address unforeseen failures, enhance system stability, and meet the ever-growing user demands.</p>
</sec>
</body>
<back>
<ack>
<p>The authors extend their appreciation to the reviewers for their valuable feedback, which enhanced the paper&#x2019;s quality. Gratitude is also expressed to the editor for their guidance during the publication process. Their contributions have greatly contributed to the paper&#x2019;s improvement.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This article is supported by the Innovation Fund Project of Jiangxi Normal University (YJS2022065) and the Domestic Visiting Program of Jiangxi Normal University.</p>
</sec>
<sec><title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: study conception and design: Yong Ma, Han Zhao, Yunni Xia; data collection: Kunyin Guo, Xu Wang; analysis and interpretation of results: Yong Ma, Han Zhao; draft manuscript preparation: Yong Ma, Han Zhao, Yunni Xia, Xu Wang; manuscript review and editing: Yunni Xia, Xianhua Niu, Dongge Zhu, Yumin Dong. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>The datasets employed in this research are openly accessible. The MovieLens dataset is thoroughly documented in [<xref ref-type="bibr" rid="ref-32">32</xref>], and its accessibility is outlined in the same source. As for the Shanghai Telecom dataset, it is comprehensively explicated in [<xref ref-type="bibr" rid="ref-31">31</xref>], and information regarding its acquisition can be found in the corresponding publication. These two datasets have been utilized in strict adherence to their individual usage guidelines and terms of service.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2019</year>). <article-title>In-Edge AI: Intelligentizing mobile edge computing, caching and communication by federated learning</article-title>. <source>IEEE Network</source><italic>,</italic> <volume>33</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>156</fpage>&#x2013;<lpage>165</lpage>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Ansari</surname>, <given-names>N.</given-names></string-name></person-group> (<year>2019</year>). <article-title>On mobile edge caching</article-title>. <source>IEEE Communications Surveys &#x0026; Tutorials</source><italic>,</italic> <volume>21</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>2525</fpage>&#x2013;<lpage>2553</lpage>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gao</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2021</year>). <article-title>V2VR: Reliable hybrid-network-oriented V2V data transmission and routing considering RSUs and connectivity probability</article-title>. <source>IEEE Transactions on Intelligent Transportation Systems</source><italic>,</italic> <volume>22</volume><italic>(</italic><issue>6</issue><italic>),</italic> <fpage>3533</fpage>&#x2013;<lpage>3546</lpage>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Jiang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Qu</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Rasool</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2021</year>). <article-title>An overlapping community detection approach in ego-splitting networks using symmetric nonnegative matrix factorization</article-title>. <source>Symmetry</source><italic>,</italic> <volume>13</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>869</fpage>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Reiss-Mirzaei</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ghobaei-Arani</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Esmaeili</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2023</year>). <article-title>A review on the edge caching mechanisms in the mobile edge computing: A social-aware perspective</article-title>. <source>Internet of Things</source><italic>,</italic> <volume>22</volume><italic>,</italic> <volume>100690</volume>.</mixed-citation></ref>
<ref id="ref-6"><label>6.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Leng</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Maharjan</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Cooperative content caching in 5G networks with mobile edge computing</article-title>. <source>IEEE Wireless Communications</source><italic>,</italic> <volume>25</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>80</fpage>&#x2013;<lpage>87</lpage>.</mixed-citation></ref>
<ref id="ref-7"><label>7.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Ndikumana</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Ullah</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>LeAnh</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Tran</surname>, <given-names>N. H.</given-names></string-name>, <string-name><surname>Hong</surname>, <given-names>C. S.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Collaborative cache allocation and computation offloading in mobile edge computing</article-title>. <conf-name>2017 19th Asia-Pacific Network Operations and Management Symposium (APNOMS)</conf-name>, <publisher-loc>Seoul, Korea (South),</publisher-loc> <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-8"><label>8.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Tang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Shen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Chi</surname>, <given-names>T.</given-names></string-name></person-group> (<year>2019</year>). <article-title>A smart caching mechanism for mobile multimedia in information centric networking with edge computing</article-title>. <source>Future Generation Computer Systems</source><italic>,</italic> <volume>91</volume><italic>,</italic> <fpage>590</fpage>&#x2013;<lpage>600</lpage>.</mixed-citation></ref>
<ref id="ref-9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>J.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>Mobility-aware cooperative caching in vehicular edge computing based on asynchronous federated and deep reinforcement learning</article-title>. <source>IEEE Journal of Selected Topics in Signal Processing</source><italic>,</italic> <volume>17</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>66</fpage>&#x2013;<lpage>81</lpage>.</mixed-citation></ref>
<ref id="ref-10"><label>10.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wei</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Luo</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Mobility-aware service caching in mobile edge computing for internet of things</article-title>. <source>Sensors</source><italic>,</italic> <volume>20</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>610</fpage>; <pub-id pub-id-type="pmid">31979135</pub-id></mixed-citation></ref>
<ref id="ref-11"><label>11.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sadeghi</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Sheikholeslami</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Giannakis</surname>, <given-names>G. B.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Optimal and scalable caching for 5G using reinforcement learning of space-time popularities</article-title>. <source>IEEE Journal of Selected Topics in Signal Processing</source><italic>,</italic> <volume>12</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>180</fpage>&#x2013;<lpage>190</lpage>.</mixed-citation></ref>
<ref id="ref-12"><label>12.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Jiang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Qin</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Liang</surname>, <given-names>Y. C.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Learning-based cooperative content caching policy for mobile edge computing</article-title>. <conf-name>ICC 2019&#x2013;2019 IEEE International Conference on Communications (ICC)</conf-name>, <publisher-loc>Shanghai, China</publisher-loc>, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-13"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ostrowski</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ma&#x0142;ecki</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Dziurza&#x0144;ski</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>A. K.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Mobility-aware fog computing in dynamic networks with mobile nodes: A survey</article-title>. <source>Journal of Network and Computer Applications</source><italic>,</italic> <volume>219,</volume> <fpage>103724</fpage>.</mixed-citation></ref>
<ref id="ref-14"><label>14.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhong</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Gursoy</surname>, <given-names>M. C.</given-names></string-name>, <string-name><surname>Velipasalar</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Deep reinforcement learning-based edge caching in wireless networks</article-title>. <source>IEEE Transactions on Cognitive Communications and Networking</source><italic>,</italic> <volume>6</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>48</fpage>&#x2013;<lpage>61</lpage>.</mixed-citation></ref>
<ref id="ref-15"><label>15.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Song</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Sheng</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Quek</surname>, <given-names>T. Q.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Learning-based content caching and sharing for wireless networks</article-title>. <source>IEEE Transactions on Communications</source><italic>,</italic> <volume>65</volume><italic>(</italic><issue>10</issue><italic>),</italic> <fpage>4309</fpage>&#x2013;<lpage>4324</lpage>.</mixed-citation></ref>
<ref id="ref-16"><label>16.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Ge</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Wong</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2019</year>). <article-title>Online learning offloading framework for heterogeneous mobile edge computing system</article-title>. <source>Journal of Parallel and Distributed Computing</source><italic>,</italic> <volume>128</volume><italic>,</italic> <fpage>167</fpage>&#x2013;<lpage>183</lpage>.</mixed-citation></ref>
<ref id="ref-17"><label>17.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sun</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Qos-aware task placement with fault-tolerance in the edge-cloud</article-title>. <source>IEEE Access</source><italic>,</italic> <volume>8</volume><italic>,</italic> <fpage>77987</fpage>&#x2013;<lpage>78003</lpage>.</mixed-citation></ref>
<ref id="ref-18"><label>18.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Mitsis</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Tsiropoulou</surname>, <given-names>E. E.</given-names></string-name>, <string-name><surname>Papavassiliou</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Price and risk awareness for data offloading decision-making in edge computing systems</article-title>. <source>IEEE Systems Journal</source><italic>,</italic> <volume>16</volume><italic>(</italic><issue>4</issue><italic>),</italic> <fpage>6546</fpage>&#x2013;<lpage>6557</lpage>.</mixed-citation></ref>
<ref id="ref-19"><label>19.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Niu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Yan</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2024</year>). <article-title>Irs assisted uav communications against proactive eavesdropping in mobile edge computing networks</article-title>. <source>Computer Modeling in Engineering &#x0026; Sciences</source><italic>,</italic> <volume>138</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>885</fpage>&#x2013;<lpage>902</lpage>. <pub-id pub-id-type="doi">10.32604/cmes.2023.029234</pub-id></mixed-citation></ref>
<ref id="ref-20"><label>20.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yun</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Intelligent traffic scheduling for mobile edge computing in iot via deep learning</article-title>. <source>Computer Modeling in Engineering &#x0026; Sciences</source><italic>,</italic> <volume>134</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>1815</fpage>&#x2013;<lpage>1835</lpage>. <pub-id pub-id-type="doi">10.32604/cmes.2022.022797</pub-id></mixed-citation></ref>
<ref id="ref-21"><label>21.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gao</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Wei</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Al-Dulaimi</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Com-DDPG: Task offloading based on multiagent reinforcement learning for information-communication-enhanced mobile edge computing in the internet of vehicles</article-title>. <source>IEEE Transactions on Vehicular Technology,</source> <volume>73(1)</volume><italic>,</italic> <fpage>348</fpage>&#x2013;<lpage>361</lpage>.</mixed-citation></ref>
<ref id="ref-22"><label>22.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Acheampong</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Kumah</surname>, <given-names>D. A.</given-names></string-name></person-group> (<year>2023</year>). <article-title>A review of the current task offloading algorithms, strategies and approach in edge computing systems</article-title>. <source>Computer Modeling in Engineering &#x0026; Sciences</source><italic>,</italic> <volume>134</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>35</fpage>&#x2013;<lpage>88</lpage>. <pub-id pub-id-type="doi">10.32604/cmes.2022.021394</pub-id></mixed-citation></ref>
<ref id="ref-23"><label>23.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xue</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Liao</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Sheng</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Joint service caching and computation offloading scheme based on deep reinforcement learning in vehicular edge computing systems</article-title>. <source>IEEE Transactions on Vehicular Technology,</source> <volume>72(5)</volume><italic>,</italic> <fpage>6709</fpage>&#x2013;<lpage>6722</lpage>.</mixed-citation></ref>
<ref id="ref-24"><label>24.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Ghosh</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Agrawal</surname>, <given-names>D. P.</given-names></string-name></person-group> (<year>2021</year>). <article-title>A high performance hierarchical caching framework for mobile edge computing environments</article-title>. <conf-name>2021 IEEE Wireless Communications and Networking Conference (WCNC)</conf-name>, <publisher-loc>Nanjing, China</publisher-loc>, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-25"><label>25.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Xia</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Dai</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>P.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>A novel fault-tolerant approach for dynamic redundant path selection service migration in vehicular edge computing</article-title>. <source>Applied Sciences</source><italic>,</italic> <volume>12</volume><italic>(</italic><issue>19</issue><italic>),</italic> <fpage>9987</fpage>.</mixed-citation></ref>
<ref id="ref-26"><label>26.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zheng</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Unsupervised recurrent federated learning for edge popularity prediction in privacy-preserving mobile-edge computing networks</article-title>. <source>IEEE Internet of Things Journal</source><italic>,</italic> <volume>9</volume><italic>(</italic><issue>23</issue><italic>),</italic> <fpage>24328</fpage>&#x2013;<lpage>24345</lpage>.</mixed-citation></ref>
<ref id="ref-27"><label>27.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Peng</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Xie</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>P.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>Deep reinforcement learning for shared offloading strategy in vehicle edge computing</article-title>. <source>IEEE Systems Journal,</source> <volume>17(2)</volume><italic>,</italic> <fpage>2089</fpage>&#x2013;<lpage>2100</lpage>.</mixed-citation></ref>
<ref id="ref-28"><label>28.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Hazarika</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>C. P.</given-names></string-name>, <string-name><surname>Biswas</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Multi-agent DRL-based computation offloading in multiple RIS-aided IoV networks</article-title>. <conf-name>MILCOM 2022&#x2013;2022 IEEE Military Communications Conference (MILCOM)</conf-name>, <publisher-loc>Rockville, MD, USA</publisher-loc>, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-29"><label>29.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Xiao</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wan</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Xiao</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Energy-efficient collaborative inference in mec: A multi-agent reinforcement learning based approach</article-title>. <conf-name>2022 8th International Conference on Big Data Computing and Communications (BigCom)</conf-name>, Xiamen, China, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-30"><label>30.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>AlDurgam</surname>, <given-names>M. M.</given-names></string-name>, <string-name><surname>Duffuaa</surname>, <given-names>S. O.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Optimal maintenance policies for three-states pomdp with quality measurement errors</article-title>. <conf-name>2010 IEEE International Conference on Industrial Engineering and Engineering Management</conf-name>, Macao, China, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-31"><label>31.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Liu</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Ni</surname>, <given-names>L. M.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Towards mobility-based clustering</article-title>. <conf-name>Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</conf-name>, <publisher-loc>Washington DC, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-32"><label>32.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Harper</surname>, <given-names>F. M.</given-names></string-name>, <string-name><surname>Konstan</surname>, <given-names>J. A.</given-names></string-name></person-group> (<year>2015</year>). <article-title>The movielens datasets: History and context</article-title>. <source>ACM Transactions on Interactive Intelligent Systems</source><italic>,</italic> <volume>5</volume><italic>(</italic><issue>4</issue><italic>),</italic> <fpage>1</fpage>&#x2013;<lpage>19</lpage>.</mixed-citation></ref>
<ref id="ref-33"><label>33.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xiao</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Pei</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>L.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Vehicle selection and resource optimization for federated learning in vehicular edge computing</article-title>. <source>IEEE Transactions on Intelligent Transportation Systems</source><italic>,</italic> <volume>23</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>11073</fpage>&#x2013;<lpage>11087</lpage>.</mixed-citation></ref>
<ref id="ref-34"><label>34.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Banerjee</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Kulkarni</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Seetharam</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Greedy caching: An optimized content placement strategy for information-centric networks</article-title>. <source>Computer Networks</source><italic>,</italic> <volume>140</volume><italic>,</italic> <fpage>78</fpage>&#x2013;<lpage>91</lpage>.</mixed-citation></ref>
<ref id="ref-35"><label>35.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Xu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Xia</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Long</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Peng</surname>, <given-names>Q.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>MROCO: A novel approach to structured application scheduling with a hybrid vehicular cloud-edge environment</article-title>. <conf-name>2022 IEEE International Conference on Services Computing (SCC)</conf-name>, <publisher-loc>Barcelona, Spain,</publisher-loc> <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
</ref-list>
</back></article>