CINXE.COM
A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning
<!DOCTYPE html> <html lang="en" xmlns:og="http://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta content="mdpi" name="sso-service" /> <meta content="width=device-width, initial-scale=1.0" name="viewport" /> <title>A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning</title><link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/font-awesome.min.css?eb190a3a77e5e1ee?1732286508"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/jquery.multiselect.css?f56c135cbf4d1483?1732286508"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/chosen.min.css?d7ca5ca9441ef9e1?1732286508"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/main2.css?69b39374e6b554b7?1732286508"> <link rel="mask-icon" href="https://pub.mdpi-res.com/img/mask-icon-128.svg?c1c7eca266cd7013?1732286508" color="#4f5671"> <link rel="apple-touch-icon" sizes="180x180" href="https://pub.mdpi-res.com/icon/apple-touch-icon-180x180.png?1732286508"> <link rel="apple-touch-icon" sizes="152x152" href="https://pub.mdpi-res.com/icon/apple-touch-icon-152x152.png?1732286508"> <link rel="apple-touch-icon" sizes="144x144" href="https://pub.mdpi-res.com/icon/apple-touch-icon-144x144.png?1732286508"> <link rel="apple-touch-icon" sizes="120x120" href="https://pub.mdpi-res.com/icon/apple-touch-icon-120x120.png?1732286508"> <link rel="apple-touch-icon" sizes="114x114" href="https://pub.mdpi-res.com/icon/apple-touch-icon-114x114.png?1732286508"> <link rel="apple-touch-icon" sizes="76x76" href="https://pub.mdpi-res.com/icon/apple-touch-icon-76x76.png?1732286508"> <link rel="apple-touch-icon" sizes="72x72" href="https://pub.mdpi-res.com/icon/apple-touch-icon-72x72.png?1732286508"> <link rel="apple-touch-icon" sizes="57x57" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732286508"> <link rel="apple-touch-icon" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732286508"> <link rel="apple-touch-icon-precomposed" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732286508"> <link rel="manifest" href="/manifest.json"> <meta name="theme-color" content="#ffffff"> <meta name="application-name" content=" "/> <link rel="apple-touch-startup-image" href="https://pub.mdpi-res.com/img/journals/electronics-logo-sq.png?8600e93ff98dbf14"> <link rel="apple-touch-icon" href="https://pub.mdpi-res.com/img/journals/electronics-logo-sq.png?8600e93ff98dbf14"> <meta name="msapplication-TileImage" content="https://pub.mdpi-res.com/img/journals/electronics-logo-sq.png?8600e93ff98dbf14"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/jquery-ui-1.10.4.custom.min.css?80647d88647bf347?1732286508"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/magnific-popup.min.css?04d343e036f8eecd?1732286508"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/xml2html/article-html.css?230b005b39af4260?1732286508"> <style> h2, #abstract .related_suggestion_title { } .batch_articles a { color: #000; } a, .batch_articles .authors a, a:focus, a:hover, a:active, .batch_articles a:focus, .batch_articles a:hover, li.side-menu-li a { } span.label a { color: #fff; } #main-content a.title-link:hover, #main-content a.title-link:focus, #main-content div.generic-item a.title-link:hover, #main-content div.generic-item a.title-link:focus { } #main-content #middle-column .generic-item.article-item a.title-link:hover, #main-content #middle-column .generic-item.article-item a.title-link:focus { } .art-authors a.toEncode { color: #333; font-weight: 700; } #main-content #middle-column ul li::before { } .accordion-navigation.active a.accordion__title, .accordion-navigation.active a.accordion__title::after { } .accordion-navigation li:hover::before, .accordion-navigation li:hover a, .accordion-navigation li:focus a { } .relative-size-container .relative-size-image .relative-size { } .middle-column__help__fixed a:hover i, } input[type="checkbox"]:checked:after { } input[type="checkbox"]:not(:disabled):hover:before { } #main-content .bolded-text { } #main-content .hypothesis-count-container { } #main-content .hypothesis-count-container:before { } .full-size-menu ul li.menu-item .dropdown-wrapper { } .full-size-menu ul li.menu-item > a.open::after { } #title-story .title-story-orbit .orbit-caption { #background: url('/img/design/000000_background.png') !important; background: url('/img/design/ffffff_background.png') !important; color: rgb(51, 51, 51) !important; } #main-content .content__container__orbit { background-color: #000 !important; } #main-content .content__container__journal { color: #fff; } .html-article-menu .row span { } .html-article-menu .row span.active { } .accordion-navigation__journal .side-menu-li.active::before, .accordion-navigation__journal .side-menu-li.active a { color: rgba(91,115,14,0.75) !important; font-weight: 700; } .accordion-navigation__journal .side-menu-li:hover::before , .accordion-navigation__journal .side-menu-li:hover a { color: rgba(91,115,14,0.75) !important; } .side-menu-ul li.active a, .side-menu-ul li.active, .side-menu-ul li.active::before { color: rgba(91,115,14,0.75) !important; } .side-menu-ul li.active a { } .result-selected, .active-result.highlighted, .active-result:hover, .result-selected, .active-result.highlighted, .active-result:focus { } .search-container.search-container__default-scheme { } nav.tab-bar .open-small-search.active:after { } .search-container.search-container__default-scheme .custom-accordion-for-small-screen-link::after { color: #fff; } @media only screen and (max-width: 50em) { #main-content .content__container.journal-info { color: #fff; } #main-content .content__container.journal-info a { color: #fff; } } .button.button--color { } .button.button--color:hover, .button.button--color:focus { } .button.button--color-journal { position: relative; background-color: rgba(91,115,14,0.75); border-color: #fff; color: #fff !important; } .button.button--color-journal:hover::before { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%; background-color: #ffffff; opacity: 0.2; } .button.button--color-journal:visited, .button.button--color-journal:hover, .button.button--color-journal:focus { background-color: rgba(91,115,14,0.75); border-color: #fff; color: #fff !important; } .button.button--color path { } .button.button--color:hover path { fill: #fff; } #main-content #search-refinements .ui-slider-horizontal .ui-slider-range { } .breadcrumb__element:last-of-type a { } #main-header { } #full-size-menu .top-bar, #full-size-menu li.menu-item span.user-email { } .top-bar-section li:not(.has-form) a:not(.button) { } #full-size-menu li.menu-item .dropdown-wrapper li a:hover { } #full-size-menu li.menu-item a:hover, #full-size-menu li.menu.item a:focus, nav.tab-bar a:hover { } #full-size-menu li.menu.item a:active, #full-size-menu li.menu.item a.active { } #full-size-menu li.menu-item a.open-mega-menu.active, #full-size-menu li.menu-item div.mega-menu, a.open-mega-menu.active { } #full-size-menu li.menu-item div.mega-menu li, #full-size-menu li.menu-item div.mega-menu a { border-color: #9a9a9a; } div.type-section h2 { font-size: 20px; line-height: 26px; font-weight: 300; } div.type-section h3 { margin-left: 15px; margin-bottom: 0px; font-weight: 300; } .journal-tabs .tab-title.active a { } </style> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/slick.css?f38b2db10e01b157?1732286508"> <meta name="title" content="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning"> <meta name="description" content="Named data networking (NDN) is a novel networking paradigm characterized by in-network caching, receiver-driven communication, and multi-source, multi-path data retrieval, which poses new challenges for congestion control. Existing work has largely focused on receiver-driven mechanisms. Due to delays in obtaining network control information (timeouts, NACKs) within NDN, consumers are unable to access the network congestion status from this information in a timely manner. To address the issues above, this paper combines the Q-learning algorithm with the NDN architecture, proposing Q-NDN. In Q-NDN, consumers can dynamically adjust the congestion window (cwnd) through the real-time monitoring of network status, leveraging the Q-learning algorithm, achieving automatic congestion control for the NDN architecture. Additionally, this paper introduces content popularity-based traffic scheduling for multi-user scenarioswhich adjusts the transmission rates of content with different popularity levels to maintain a dynamic balance in the network. The experimental results show that Q-NDN can converge quickly, make full use of bandwidth resources, and keep the packet loss rate to 0 in the basic network topology. In competing network topologies, Q-NDN can rapidly address conflict issues, efficiently utilize bandwidth resources, and maintain a relatively low packet loss rate." > <link rel="image_src" href="https://pub.mdpi-res.com/img/journals/electronics-logo.png?8600e93ff98dbf14" > <meta name="dc.title" content="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning"> <meta name="dc.creator" content="Ruijuan Zheng"> <meta name="dc.creator" content="Bohan Zhang"> <meta name="dc.creator" content="Xuhui Zhao"> <meta name="dc.creator" content="Lin Wang"> <meta name="dc.creator" content="Qingtao Wu"> <meta name="dc.type" content="Article"> <meta name="dc.source" content="Electronics 2024, Vol. 13, Page 4609"> <meta name="dc.date" content="2024-11-22"> <meta name ="dc.identifier" content="10.3390/electronics13234609"> <meta name="dc.publisher" content="Multidisciplinary Digital Publishing Institute"> <meta name="dc.rights" content="http://creativecommons.org/licenses/by/3.0/"> <meta name="dc.format" content="application/pdf" > <meta name="dc.language" content="en" > <meta name="dc.description" content="Named data networking (NDN) is a novel networking paradigm characterized by in-network caching, receiver-driven communication, and multi-source, multi-path data retrieval, which poses new challenges for congestion control. Existing work has largely focused on receiver-driven mechanisms. Due to delays in obtaining network control information (timeouts, NACKs) within NDN, consumers are unable to access the network congestion status from this information in a timely manner. To address the issues above, this paper combines the Q-learning algorithm with the NDN architecture, proposing Q-NDN. In Q-NDN, consumers can dynamically adjust the congestion window (cwnd) through the real-time monitoring of network status, leveraging the Q-learning algorithm, achieving automatic congestion control for the NDN architecture. Additionally, this paper introduces content popularity-based traffic scheduling for multi-user scenarioswhich adjusts the transmission rates of content with different popularity levels to maintain a dynamic balance in the network. The experimental results show that Q-NDN can converge quickly, make full use of bandwidth resources, and keep the packet loss rate to 0 in the basic network topology. In competing network topologies, Q-NDN can rapidly address conflict issues, efficiently utilize bandwidth resources, and maintain a relatively low packet loss rate." > <meta name="dc.subject" content="named data networking" > <meta name="dc.subject" content="congestion control" > <meta name="dc.subject" content="reinforcement learning" > <meta name="dc.subject" content="receiver-driven" > <meta name ="prism.issn" content="2079-9292"> <meta name ="prism.publicationName" content="Electronics"> <meta name ="prism.publicationDate" content="2024-11-22"> <meta name ="prism.volume" content="13"> <meta name ="prism.number" content="23"> <meta name ="prism.section" content="Article" > <meta name ="prism.startingPage" content="4609" > <meta name="citation_issn" content="2079-9292"> <meta name="citation_journal_title" content="Electronics"> <meta name="citation_publisher" content="Multidisciplinary Digital Publishing Institute"> <meta name="citation_title" content="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning"> <meta name="citation_publication_date" content="2024/1"> <meta name="citation_online_date" content="2024/11/22"> <meta name="citation_volume" content="13"> <meta name="citation_issue" content="23"> <meta name="citation_firstpage" content="4609"> <meta name="citation_author" content="Zheng, Ruijuan"> <meta name="citation_author" content="Zhang, Bohan"> <meta name="citation_author" content="Zhao, Xuhui"> <meta name="citation_author" content="Wang, Lin"> <meta name="citation_author" content="Wu, Qingtao"> <meta name="citation_doi" content="10.3390/electronics13234609"> <meta name="citation_id" content="mdpi-electronics13234609"> <meta name="citation_abstract_html_url" content="https://www.mdpi.com/2079-9292/13/23/4609"> <meta name="citation_pdf_url" content="https://www.mdpi.com/2079-9292/13/23/4609/pdf?version=1732269892"> <link rel="alternate" type="application/pdf" title="PDF Full-Text" href="https://www.mdpi.com/2079-9292/13/23/4609/pdf?version=1732269892"> <meta name="fulltext_pdf" content="https://www.mdpi.com/2079-9292/13/23/4609/pdf?version=1732269892"> <meta name="citation_fulltext_html_url" content="https://www.mdpi.com/2079-9292/13/23/4609/htm"> <link rel="alternate" type="text/html" title="HTML Full-Text" href="https://www.mdpi.com/2079-9292/13/23/4609/htm"> <meta name="fulltext_html" content="https://www.mdpi.com/2079-9292/13/23/4609/htm"> <link rel="alternate" type="text/xml" title="XML Full-Text" href="https://www.mdpi.com/2079-9292/13/23/4609/xml"> <meta name="fulltext_xml" content="https://www.mdpi.com/2079-9292/13/23/4609/xml"> <meta name="citation_xml_url" content="https://www.mdpi.com/2079-9292/13/23/4609/xml"> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@MDPIOpenAccess" /> <meta name="twitter:image" content="https://pub.mdpi-res.com/img/journals/electronics-logo-social.png?8600e93ff98dbf14" /> <meta property="fb:app_id" content="131189377574"/> <meta property="og:site_name" content="MDPI"/> <meta property="og:type" content="article"/> <meta property="og:url" content="https://www.mdpi.com/2079-9292/13/23/4609" /> <meta property="og:title" content="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning" /> <meta property="og:description" content="Named data networking (NDN) is a novel networking paradigm characterized by in-network caching, receiver-driven communication, and multi-source, multi-path data retrieval, which poses new challenges for congestion control. Existing work has largely focused on receiver-driven mechanisms. Due to delays in obtaining network control information (timeouts, NACKs) within NDN, consumers are unable to access the network congestion status from this information in a timely manner. To address the issues above, this paper combines the Q-learning algorithm with the NDN architecture, proposing Q-NDN. In Q-NDN, consumers can dynamically adjust the congestion window (cwnd) through the real-time monitoring of network status, leveraging the Q-learning algorithm, achieving automatic congestion control for the NDN architecture. Additionally, this paper introduces content popularity-based traffic scheduling for multi-user scenarioswhich adjusts the transmission rates of content with different popularity levels to maintain a dynamic balance in the network. The experimental results show that Q-NDN can converge quickly, make full use of bandwidth resources, and keep the packet loss rate to 0 in the basic network topology. In competing network topologies, Q-NDN can rapidly address conflict issues, efficiently utilize bandwidth resources, and maintain a relatively low packet loss rate." /> <meta property="og:image" content="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001-550.jpg?1732270033" /> <link rel="alternate" type="application/rss+xml" title="MDPI Publishing - Latest articles" href="https://www.mdpi.com/rss"> <meta name="google-site-verification" content="PxTlsg7z2S00aHroktQd57fxygEjMiNHydKn3txhvwY"> <meta name="facebook-domain-verification" content="mcoq8dtq6sb2hf7z29j8w515jjoof7" /> <script id="Cookiebot" data-cfasync="false" src="https://consent.cookiebot.com/uc.js" data-cbid="51491ddd-fe7a-4425-ab39-69c78c55829f" type="text/javascript" async></script> <!--[if lt IE 9]> <script>var browserIe8 = true;</script> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/ie8foundationfix.css?50273beac949cbf0?1732286508"> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js"></script> <script src="//s3.amazonaws.com/nwapi/nwmatcher/nwmatcher-1.2.5-min.js"></script> <script src="//html5base.googlecode.com/svn-history/r38/trunk/js/selectivizr-1.0.3b.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.1.0/respond.min.js"></script> <script src="https://pub.mdpi-res.com/assets/js/ie8/ie8patch.js?9e1d3c689a0471df?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/ie8/rem.min.js?94b62787dcd6d2f2?1732286508"></script> <![endif]--> <script type="text/plain" data-cookieconsent="statistics"> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WPK7SW5'); </script> <script type="text/plain" data-cookieconsent="statistics"> _linkedin_partner_id = "2846186"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <script type="text/plain" data-cookieconsent="statistics" data-cfasync="false" src="//script.crazyegg.com/pages/scripts/0116/4951.js" async="async" ></script> </head> <body> <div class="direction direction_right" id="small_right" style="border-right-width: 0px; padding:0;"> <i class="fa fa-caret-right fa-2x"></i> </div> <div class="big_direction direction_right" id="big_right" style="border-right-width: 0px;"> <div style="text-align: right;"> Next Article in Journal<br> <div><a href="/2079-9292/13/23/4614">Simple and Effective Control System for Active AC Ripple Filtering Circuits</a></div> </div> </div> <div class="direction" id="small_left" style="border-left-width: 0px"> <i class="fa fa-caret-left fa-2x"></i> </div> <div class="big_direction" id="big_left" style="border-left-width: 0px;"> <div> Previous Article in Journal<br> <div><a href="/2079-9292/13/23/4613">Adaptive Dynamic Shuffle Convolutional Parallel Network for Image Super-Resolution</a></div> </div> </div> <div style="clear: both;"></div> <div id="menuModal" class="reveal-modal reveal-modal-new reveal-modal-menu" aria-hidden="true" data-reveal role="dialog"> <div class="menu-container"> <div class="UI_NavMenu"> <div class="content__container " > <div class="custom-accordion-for-small-screen-link " > <h2>Journals</h2> </div> <div class="target-item custom-accordion-for-small-screen-content show-for-medium-up"> <div class="menu-container__links"> <div style="width: 100%; float: left;"> <a href="/about/journals">Active Journals</a> <a href="/about/journalfinder">Find a Journal</a> <a href="/about/journals/proposal">Journal Proposal</a> <a href="/about/proceedings">Proceedings Series</a> </div> </div> </div> </div> <a href="/topics"> <h2>Topics</h2> </a> <div class="content__container " > <div class="custom-accordion-for-small-screen-link " > <h2>Information</h2> </div> <div class="target-item custom-accordion-for-small-screen-content show-for-medium-up"> <div class="menu-container__links"> <div style="width: 100%; max-width: 200px; float: left;"> <a href="/authors">For Authors</a> <a href="/reviewers">For Reviewers</a> <a href="/editors">For Editors</a> <a href="/librarians">For Librarians</a> <a href="/publishing_services">For Publishers</a> <a href="/societies">For Societies</a> <a href="/conference_organizers">For Conference Organizers</a> </div> <div style="width: 100%; max-width: 250px; float: left;"> <a href="/openaccess">Open Access Policy</a> <a href="/ioap">Institutional Open Access Program</a> <a href="/special_issues_guidelines">Special Issues Guidelines</a> <a href="/editorial_process">Editorial Process</a> <a href="/ethics">Research and Publication Ethics</a> <a href="/apc">Article Processing Charges</a> <a href="/awards">Awards</a> <a href="/testimonials">Testimonials</a> </div> </div> </div> </div> <a href="/authors/english"> <h2>Editing Services</h2> </a> <div class="content__container " > <div class="custom-accordion-for-small-screen-link " > <h2>Initiatives</h2> </div> <div class="target-item custom-accordion-for-small-screen-content show-for-medium-up"> <div class="menu-container__links"> <div style="width: 100%; float: left;"> <a href="https://sciforum.net" target="_blank" rel="noopener noreferrer">Sciforum</a> <a href="https://www.mdpi.com/books" target="_blank" rel="noopener noreferrer">MDPI Books</a> <a href="https://www.preprints.org" target="_blank" rel="noopener noreferrer">Preprints.org</a> <a href="https://www.scilit.net" target="_blank" rel="noopener noreferrer">Scilit</a> <a href="https://sciprofiles.com" target="_blank" rel="noopener noreferrer">SciProfiles</a> <a href="https://encyclopedia.pub" target="_blank" rel="noopener noreferrer">Encyclopedia</a> <a href="https://jams.pub" target="_blank" rel="noopener noreferrer">JAMS</a> <a href="/about/proceedings">Proceedings Series</a> </div> </div> </div> </div> <div class="content__container " > <div class="custom-accordion-for-small-screen-link " > <h2>About</h2> </div> <div class="target-item custom-accordion-for-small-screen-content show-for-medium-up"> <div class="menu-container__links"> <div style="width: 100%; float: left;"> <a href="/about">Overview</a> <a href="/about/contact">Contact</a> <a href="https://careers.mdpi.com" target="_blank" rel="noopener noreferrer">Careers</a> <a href="/about/announcements">News</a> <a href="/about/press">Press</a> <a href="http://blog.mdpi.com/" target="_blank" rel="noopener noreferrer">Blog</a> </div> </div> </div> </div> </div> <div class="menu-container__buttons"> <a class="button UA_SignInUpButton" href="/user/login">Sign In / Sign Up</a> </div> </div> </div> <div id="captchaModal" class="reveal-modal reveal-modal-new reveal-modal-new--small" data-reveal aria-label="Captcha" aria-hidden="true" role="dialog"></div> <div id="actionDisabledModal" class="reveal-modal" data-reveal aria-labelledby="actionDisableModalTitle" aria-hidden="true" role="dialog" style="width: 300px;"> <h2 id="actionDisableModalTitle">Notice</h2> <form action="/email/captcha" method="post" id="emailCaptchaForm"> <div class="row"> <div id="js-action-disabled-modal-text" class="small-12 columns"> </div> <div id="js-action-disabled-modal-submit" class="small-12 columns" style="margin-top: 10px; display: none;"> You can make submissions to other journals <a href="https://susy.mdpi.com/user/manuscripts/upload">here</a>. </div> </div> </form> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> <div id="rssNotificationModal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="rssNotificationModalTitle" aria-hidden="true" role="dialog"> <div class="row"> <div class="small-12 columns"> <h2 id="rssNotificationModalTitle">Notice</h2> <p> You are accessing a machine-readable page. In order to be human-readable, please install an RSS reader. </p> </div> </div> <div class="row"> <div class="small-12 columns"> <a class="button button--color js-rss-notification-confirm">Continue</a> <a class="button button--grey" onclick="$(this).closest('.reveal-modal').find('.close-reveal-modal').click(); return false;">Cancel</a> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> <div id="drop-article-label-openaccess" class="f-dropdown medium" data-dropdown-content aria-hidden="true" tabindex="-1"> <p> All articles published by MDPI are made immediately available worldwide under an open access license. No special permission is required to reuse all or part of the article published by MDPI, including figures and tables. For articles published under an open access Creative Common CC BY license, any part of the article may be reused without permission provided that the original article is clearly cited. For more information, please refer to <a href="https://www.mdpi.com/openaccess">https://www.mdpi.com/openaccess</a>. </p> </div> <div id="drop-article-label-feature" class="f-dropdown medium" data-dropdown-content aria-hidden="true" tabindex="-1"> <p> Feature papers represent the most advanced research with significant potential for high impact in the field. A Feature Paper should be a substantial original Article that involves several techniques or approaches, provides an outlook for future research directions and describes possible research applications. </p> <p> Feature papers are submitted upon individual invitation or recommendation by the scientific editors and must receive positive feedback from the reviewers. </p> </div> <div id="drop-article-label-choice" class="f-dropdown medium" data-dropdown-content aria-hidden="true" tabindex="-1"> <p> Editor’s Choice articles are based on recommendations by the scientific editors of MDPI journals from around the world. Editors select a small number of articles recently published in the journal that they believe will be particularly interesting to readers, or important in the respective research area. The aim is to provide a snapshot of some of the most exciting work published in the various research areas of the journal. <div style="margin-top: -10px;"> <div id="drop-article-label-choice-journal-link" style="display: none; margin-top: -10px; padding-top: 10px;"> </div> </div> </p> </div> <div id="drop-article-label-resubmission" class="f-dropdown medium" data-dropdown-content aria-hidden="true" tabindex="-1"> <p> Original Submission Date Received: <span id="drop-article-label-resubmission-date"></span>. </p> </div> <div id="container"> <noscript> <div id="no-javascript"> You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled. </div> </noscript> <div class="fixed"> <nav class="tab-bar show-for-medium-down"> <div class="row full-width collapse"> <div class="medium-3 small-4 columns"> <a href="/"> <img class="full-size-menu__mdpi-logo" src="https://pub.mdpi-res.com/img/design/mdpi-pub-logo-black-small1.svg?da3a8dcae975a41c?1732286508" style="width: 64px;" title="MDPI Open Access Journals"> </a> </div> <div class="medium-3 small-4 columns right-aligned"> <div class="show-for-medium-down"> <a href="#" style="display: none;"> <i class="material-icons" onclick="$('#menuModal').foundation('reveal', 'close'); return false;">clear</i> </a> <a class="js-toggle-desktop-layout-link" title="Toggle desktop layout" style="display: none;" href="/toggle_desktop_layout_cookie"> <i class="material-icons">zoom_out_map</i> </a> <a href="#" class="js-open-small-search open-small-search"> <i class="material-icons show-for-small only">search</i> </a> <a title="MDPI main page" class="js-open-menu" data-reveal-id="menuModal" href="#"> <i class="material-icons">menu</i> </a> </div> </div> </div> </nav> </div> <section class="main-section"> <header> <div class="full-size-menu show-for-large-up"> <div class="row full-width"> <div class="large-1 columns"> <a href="/"> <img class="full-size-menu__mdpi-logo" src="https://pub.mdpi-res.com/img/design/mdpi-pub-logo-black-small1.svg?da3a8dcae975a41c?1732286508" title="MDPI Open Access Journals"> </a> </div> <div class="large-8 columns text-right UI_NavMenu"> <ul> <li class="menu-item"> <a href="/about/journals" data-dropdown="journals-dropdown" aria-controls="journals-dropdown" aria-expanded="false" data-options="is_hover: true; hover_timeout: 200">Journals</a> <ul id="journals-dropdown" class="f-dropdown dropdown-wrapper dropdown-wrapper__small" data-dropdown-content aria-hidden="true" tabindex="-1"> <li> <div class="row"> <div class="small-12 columns"> <ul> <li> <a href="/about/journals"> Active Journals </a> </li> <li> <a href="/about/journalfinder"> Find a Journal </a> </li> <li> <a href="/about/journals/proposal"> Journal Proposal </a> </li> <li> <a href="/about/proceedings"> Proceedings Series </a> </li> </ul> </div> </div> </li> </ul> </li> <li class="menu-item"> <a href="/topics">Topics</a> </li> <li class="menu-item"> <a href="/authors" data-dropdown="information-dropdown" aria-controls="information-dropdown" aria-expanded="false" data-options="is_hover:true; hover_timeout:200">Information</a> <ul id="information-dropdown" class="f-dropdown dropdown-wrapper" data-dropdown-content aria-hidden="true" tabindex="-1"> <li> <div class="row"> <div class="small-5 columns right-border"> <ul> <li> <a href="/authors">For Authors</a> </li> <li> <a href="/reviewers">For Reviewers</a> </li> <li> <a href="/editors">For Editors</a> </li> <li> <a href="/librarians">For Librarians</a> </li> <li> <a href="/publishing_services">For Publishers</a> </li> <li> <a href="/societies">For Societies</a> </li> <li> <a href="/conference_organizers">For Conference Organizers</a> </li> </ul> </div> <div class="small-7 columns"> <ul> <li> <a href="/openaccess">Open Access Policy</a> </li> <li> <a href="/ioap">Institutional Open Access Program</a> </li> <li> <a href="/special_issues_guidelines">Special Issues Guidelines</a> </li> <li> <a href="/editorial_process">Editorial Process</a> </li> <li> <a href="/ethics">Research and Publication Ethics</a> </li> <li> <a href="/apc">Article Processing Charges</a> </li> <li> <a href="/awards">Awards</a> </li> <li> <a href="/testimonials">Testimonials</a> </li> </ul> </div> </div> </li> </ul> </li> <li class="menu-item"> <a href="/authors/english">Editing Services</a> </li> <li class="menu-item"> <a href="/about/initiatives" data-dropdown="initiatives-dropdown" aria-controls="initiatives-dropdown" aria-expanded="false" data-options="is_hover: true; hover_timeout: 200">Initiatives</a> <ul id="initiatives-dropdown" class="f-dropdown dropdown-wrapper dropdown-wrapper__small" data-dropdown-content aria-hidden="true" tabindex="-1"> <li> <div class="row"> <div class="small-12 columns"> <ul> <li> <a href="https://sciforum.net" target="_blank" rel="noopener noreferrer"> Sciforum </a> </li> <li> <a href="https://www.mdpi.com/books" target="_blank" rel="noopener noreferrer"> MDPI Books </a> </li> <li> <a href="https://www.preprints.org" target="_blank" rel="noopener noreferrer"> Preprints.org </a> </li> <li> <a href="https://www.scilit.net" target="_blank" rel="noopener noreferrer"> Scilit </a> </li> <li> <a href="https://sciprofiles.com" target="_blank" rel="noopener noreferrer"> SciProfiles </a> </li> <li> <a href="https://encyclopedia.pub" target="_blank" rel="noopener noreferrer"> Encyclopedia </a> </li> <li> <a href="https://jams.pub" target="_blank" rel="noopener noreferrer"> JAMS </a> </li> <li> <a href="/about/proceedings"> Proceedings Series </a> </li> </ul> </div> </div> </li> </ul> </li> <li class="menu-item"> <a href="/about" data-dropdown="about-dropdown" aria-controls="about-dropdown" aria-expanded="false" data-options="is_hover: true; hover_timeout: 200">About</a> <ul id="about-dropdown" class="f-dropdown dropdown-wrapper dropdown-wrapper__small" data-dropdown-content aria-hidden="true" tabindex="-1"> <li> <div class="row"> <div class="small-12 columns"> <ul> <li> <a href="/about"> Overview </a> </li> <li> <a href="/about/contact"> Contact </a> </li> <li> <a href="https://careers.mdpi.com" target="_blank" rel="noopener noreferrer"> Careers </a> </li> <li> <a href="/about/announcements"> News </a> </li> <li> <a href="/about/press"> Press </a> </li> <li> <a href="http://blog.mdpi.com/" target="_blank" rel="noopener noreferrer"> Blog </a> </li> </ul> </div> </div> </li> </ul> </li> </ul> </div> <div class="large-3 columns text-right full-size-menu__buttons"> <div> <a class="button button--default-inversed UA_SignInUpButton" href="/user/login">Sign In / Sign Up</a> <a class="button button--default js-journal-active-only-link js-journal-active-only-submit-link UC_NavSubmitButton" href=" https://susy.mdpi.com/user/manuscripts/upload?journal=electronics " data-disabledmessage="new submissions are not possible.">Submit</a> </div> </div> </div> </div> <div class="header-divider"> </div> <div class="search-container hide-for-small-down row search-container__homepage-scheme"> <form id="basic_search" style="background-color: inherit !important;" class="large-12 medium-12 columns " action="/search" method="get"> <div class="row search-container__main-elements"> <div class="large-2 medium-2 small-12 columns text-right1 small-only-text-left"> <div class="show-for-medium-up"> <div class="search-input-label"> </div> </div> <span class="search-container__title">Search<span class="hide-for-medium"> for Articles</span><span class="hide-for-small">:</span></span> </div> <div class="custom-accordion-for-small-screen-content"> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Title / Keyword</div> </div> <input type="text" placeholder="Title / Keyword" id="q" tabindex="1" name="q" value="" /> </div> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Author / Affiliation / Email</div> </div> <input type="text" id="authors" placeholder="Author / Affiliation / Email" tabindex="2" name="authors" value="" /> </div> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Journal</div> </div> <select id="journal" tabindex="3" name="journal" class="chosen-select"> <option value="">All Journals</option> <option value="acoustics" > Acoustics </option> <option value="amh" > Acta Microbiologica Hellenica (AMH) </option> <option value="actuators" > Actuators </option> <option value="admsci" > Administrative Sciences </option> <option value="adolescents" > Adolescents </option> <option value="arm" > Advances in Respiratory Medicine (ARM) </option> <option value="aerobiology" > Aerobiology </option> <option value="aerospace" > Aerospace </option> <option value="agriculture" > Agriculture </option> <option value="agriengineering" > AgriEngineering </option> <option value="agrochemicals" > Agrochemicals </option> <option value="agronomy" > Agronomy </option> <option value="ai" > AI </option> <option value="air" > Air </option> <option value="algorithms" > Algorithms </option> <option value="allergies" > Allergies </option> <option value="alloys" > Alloys </option> <option value="analytica" > Analytica </option> <option value="analytics" > Analytics </option> <option value="anatomia" > Anatomia </option> <option value="anesthres" > Anesthesia Research </option> <option value="animals" > Animals </option> <option value="antibiotics" > Antibiotics </option> <option value="antibodies" > Antibodies </option> <option value="antioxidants" > Antioxidants </option> <option value="applbiosci" > Applied Biosciences </option> <option value="applmech" > Applied Mechanics </option> <option value="applmicrobiol" > Applied Microbiology </option> <option value="applnano" > Applied Nano </option> <option value="applsci" > Applied Sciences </option> <option value="asi" > Applied System Innovation (ASI) </option> <option value="appliedchem" > AppliedChem </option> <option value="appliedmath" > AppliedMath </option> <option value="aquacj" > Aquaculture Journal </option> <option value="architecture" > Architecture </option> <option value="arthropoda" > Arthropoda </option> <option value="arts" > Arts </option> <option value="astronomy" > Astronomy </option> <option value="atmosphere" > Atmosphere </option> <option value="atoms" > Atoms </option> <option value="audiolres" > Audiology Research </option> <option value="automation" > Automation </option> <option value="axioms" > Axioms </option> <option value="bacteria" > Bacteria </option> <option value="batteries" > Batteries </option> <option value="behavsci" > Behavioral Sciences </option> <option value="beverages" > Beverages </option> <option value="BDCC" > Big Data and Cognitive Computing (BDCC) </option> <option value="biochem" > BioChem </option> <option value="bioengineering" > Bioengineering </option> <option value="biologics" > Biologics </option> <option value="biology" > Biology </option> <option value="blsf" > Biology and Life Sciences Forum </option> <option value="biomass" > Biomass </option> <option value="biomechanics" > Biomechanics </option> <option value="biomed" > BioMed </option> <option value="biomedicines" > Biomedicines </option> <option value="biomedinformatics" > BioMedInformatics </option> <option value="biomimetics" > Biomimetics </option> <option value="biomolecules" > Biomolecules </option> <option value="biophysica" > Biophysica </option> <option value="biosensors" > Biosensors </option> <option value="biotech" > BioTech </option> <option value="birds" > Birds </option> <option value="blockchains" > Blockchains </option> <option value="brainsci" > Brain Sciences </option> <option value="buildings" > Buildings </option> <option value="businesses" > Businesses </option> <option value="carbon" > C </option> <option value="cancers" > Cancers </option> <option value="cardiogenetics" > Cardiogenetics </option> <option value="catalysts" > Catalysts </option> <option value="cells" > Cells </option> <option value="ceramics" > Ceramics </option> <option value="challenges" > Challenges </option> <option value="ChemEngineering" > ChemEngineering </option> <option value="chemistry" > Chemistry </option> <option value="chemproc" > Chemistry Proceedings </option> <option value="chemosensors" > Chemosensors </option> <option value="children" > Children </option> <option value="chips" > Chips </option> <option value="civileng" > CivilEng </option> <option value="cleantechnol" > Clean Technologies (Clean Technol.) </option> <option value="climate" > Climate </option> <option value="ctn" > Clinical and Translational Neuroscience (CTN) </option> <option value="clinbioenerg" > Clinical Bioenergetics </option> <option value="clinpract" > Clinics and Practice </option> <option value="clockssleep" > Clocks & Sleep </option> <option value="coasts" > Coasts </option> <option value="coatings" > Coatings </option> <option value="colloids" > Colloids and Interfaces </option> <option value="colorants" > Colorants </option> <option value="commodities" > Commodities </option> <option value="complications" > Complications </option> <option value="compounds" > Compounds </option> <option value="computation" > Computation </option> <option value="csmf" > Computer Sciences & Mathematics Forum </option> <option value="computers" > Computers </option> <option value="condensedmatter" > Condensed Matter </option> <option value="conservation" > Conservation </option> <option value="constrmater" > Construction Materials </option> <option value="cmd" > Corrosion and Materials Degradation (CMD) </option> <option value="cosmetics" > Cosmetics </option> <option value="covid" > COVID </option> <option value="crops" > Crops </option> <option value="cryo" > Cryo </option> <option value="cryptography" > Cryptography </option> <option value="crystals" > Crystals </option> <option value="cimb" > Current Issues in Molecular Biology (CIMB) </option> <option value="curroncol" > Current Oncology </option> <option value="dairy" > Dairy </option> <option value="data" > Data </option> <option value="dentistry" > Dentistry Journal </option> <option value="dermato" > Dermato </option> <option value="dermatopathology" > Dermatopathology </option> <option value="designs" > Designs </option> <option value="diabetology" > Diabetology </option> <option value="diagnostics" > Diagnostics </option> <option value="dietetics" > Dietetics </option> <option value="digital" > Digital </option> <option value="disabilities" > Disabilities </option> <option value="diseases" > Diseases </option> <option value="diversity" > Diversity </option> <option value="dna" > DNA </option> <option value="drones" > Drones </option> <option value="ddc" > Drugs and Drug Candidates (DDC) </option> <option value="dynamics" > Dynamics </option> <option value="earth" > Earth </option> <option value="ecologies" > Ecologies </option> <option value="econometrics" > Econometrics </option> <option value="economies" > Economies </option> <option value="education" > Education Sciences </option> <option value="electricity" > Electricity </option> <option value="electrochem" > Electrochem </option> <option value="electronicmat" > Electronic Materials </option> <option value="electronics" selected='selected'> Electronics </option> <option value="ecm" > Emergency Care and Medicine </option> <option value="encyclopedia" > Encyclopedia </option> <option value="endocrines" > Endocrines </option> <option value="energies" > Energies </option> <option value="esa" > Energy Storage and Applications (ESA) </option> <option value="eng" > Eng </option> <option value="engproc" > Engineering Proceedings </option> <option value="entropy" > Entropy </option> <option value="environsciproc" > Environmental Sciences Proceedings </option> <option value="environments" > Environments </option> <option value="epidemiologia" > Epidemiologia </option> <option value="epigenomes" > Epigenomes </option> <option value="ebj" > European Burn Journal (EBJ) </option> <option value="ejihpe" > European Journal of Investigation in Health, Psychology and Education (EJIHPE) </option> <option value="fermentation" > Fermentation </option> <option value="fibers" > Fibers </option> <option value="fintech" > FinTech </option> <option value="fire" > Fire </option> <option value="fishes" > Fishes </option> <option value="fluids" > Fluids </option> <option value="foods" > Foods </option> <option value="forecasting" > Forecasting </option> <option value="forensicsci" > Forensic Sciences </option> <option value="forests" > Forests </option> <option value="fossstud" > Fossil Studies </option> <option value="foundations" > Foundations </option> <option value="fractalfract" > Fractal and Fractional (Fractal Fract) </option> <option value="fuels" > Fuels </option> <option value="future" > Future </option> <option value="futureinternet" > Future Internet </option> <option value="futurepharmacol" > Future Pharmacology </option> <option value="futuretransp" > Future Transportation </option> <option value="galaxies" > Galaxies </option> <option value="games" > Games </option> <option value="gases" > Gases </option> <option value="gastroent" > Gastroenterology Insights </option> <option value="gastrointestdisord" > Gastrointestinal Disorders </option> <option value="gastronomy" > Gastronomy </option> <option value="gels" > Gels </option> <option value="genealogy" > Genealogy </option> <option value="genes" > Genes </option> <option value="geographies" > Geographies </option> <option value="geohazards" > GeoHazards </option> <option value="geomatics" > Geomatics </option> <option value="geometry" > Geometry </option> <option value="geosciences" > Geosciences </option> <option value="geotechnics" > Geotechnics </option> <option value="geriatrics" > Geriatrics </option> <option value="glacies" > Glacies </option> <option value="gucdd" > Gout, Urate, and Crystal Deposition Disease (GUCDD) </option> <option value="grasses" > Grasses </option> <option value="hardware" > Hardware </option> <option value="healthcare" > Healthcare </option> <option value="hearts" > Hearts </option> <option value="hemato" > Hemato </option> <option value="hematolrep" > Hematology Reports </option> <option value="heritage" > Heritage </option> <option value="histories" > Histories </option> <option value="horticulturae" > Horticulturae </option> <option value="hospitals" > Hospitals </option> <option value="humanities" > Humanities </option> <option value="humans" > Humans </option> <option value="hydrobiology" > Hydrobiology </option> <option value="hydrogen" > Hydrogen </option> <option value="hydrology" > Hydrology </option> <option value="hygiene" > Hygiene </option> <option value="immuno" > Immuno </option> <option value="idr" > Infectious Disease Reports </option> <option value="informatics" > Informatics </option> <option value="information" > Information </option> <option value="infrastructures" > Infrastructures </option> <option value="inorganics" > Inorganics </option> <option value="insects" > Insects </option> <option value="instruments" > Instruments </option> <option value="iic" > Intelligent Infrastructure and Construction </option> <option value="ijerph" > International Journal of Environmental Research and Public Health (IJERPH) </option> <option value="ijfs" > International Journal of Financial Studies (IJFS) </option> <option value="ijms" > International Journal of Molecular Sciences (IJMS) </option> <option value="IJNS" > International Journal of Neonatal Screening (IJNS) </option> <option value="ijpb" > International Journal of Plant Biology (IJPB) </option> <option value="ijt" > International Journal of Topology </option> <option value="ijtm" > International Journal of Translational Medicine (IJTM) </option> <option value="ijtpp" > International Journal of Turbomachinery, Propulsion and Power (IJTPP) </option> <option value="ime" > International Medical Education (IME) </option> <option value="inventions" > Inventions </option> <option value="IoT" > IoT </option> <option value="ijgi" > ISPRS International Journal of Geo-Information (IJGI) </option> <option value="J" > J </option> <option value="jal" > Journal of Ageing and Longevity (JAL) </option> <option value="jcdd" > Journal of Cardiovascular Development and Disease (JCDD) </option> <option value="jcto" > Journal of Clinical & Translational Ophthalmology (JCTO) </option> <option value="jcm" > Journal of Clinical Medicine (JCM) </option> <option value="jcs" > Journal of Composites Science (J. Compos. Sci.) </option> <option value="jcp" > Journal of Cybersecurity and Privacy (JCP) </option> <option value="jdad" > Journal of Dementia and Alzheimer's Disease (JDAD) </option> <option value="jdb" > Journal of Developmental Biology (JDB) </option> <option value="jeta" > Journal of Experimental and Theoretical Analyses (JETA) </option> <option value="jfb" > Journal of Functional Biomaterials (JFB) </option> <option value="jfmk" > Journal of Functional Morphology and Kinesiology (JFMK) </option> <option value="jof" > Journal of Fungi (JoF) </option> <option value="jimaging" > Journal of Imaging (J. Imaging) </option> <option value="jintelligence" > Journal of Intelligence (J. Intell.) </option> <option value="jlpea" > Journal of Low Power Electronics and Applications (JLPEA) </option> <option value="jmmp" > Journal of Manufacturing and Materials Processing (JMMP) </option> <option value="jmse" > Journal of Marine Science and Engineering (JMSE) </option> <option value="jmahp" > Journal of Market Access & Health Policy (JMAHP) </option> <option value="jmp" > Journal of Molecular Pathology (JMP) </option> <option value="jnt" > Journal of Nanotheranostics (JNT) </option> <option value="jne" > Journal of Nuclear Engineering (JNE) </option> <option value="ohbm" > Journal of Otorhinolaryngology, Hearing and Balance Medicine (JOHBM) </option> <option value="jop" > Journal of Parks </option> <option value="jpm" > Journal of Personalized Medicine (JPM) </option> <option value="jpbi" > Journal of Pharmaceutical and BioTech Industry (JPBI) </option> <option value="jor" > Journal of Respiration (JoR) </option> <option value="jrfm" > Journal of Risk and Financial Management (JRFM) </option> <option value="jsan" > Journal of Sensor and Actuator Networks (JSAN) </option> <option value="joma" > Journal of the Oman Medical Association (JOMA) </option> <option value="jtaer" > Journal of Theoretical and Applied Electronic Commerce Research (JTAER) </option> <option value="jvd" > Journal of Vascular Diseases (JVD) </option> <option value="jox" > Journal of Xenobiotics (JoX) </option> <option value="jzbg" > Journal of Zoological and Botanical Gardens (JZBG) </option> <option value="journalmedia" > Journalism and Media </option> <option value="kidneydial" > Kidney and Dialysis </option> <option value="kinasesphosphatases" > Kinases and Phosphatases </option> <option value="knowledge" > Knowledge </option> <option value="labmed" > LabMed </option> <option value="laboratories" > Laboratories </option> <option value="land" > Land </option> <option value="languages" > Languages </option> <option value="laws" > Laws </option> <option value="life" > Life </option> <option value="limnolrev" > Limnological Review </option> <option value="lipidology" > Lipidology </option> <option value="liquids" > Liquids </option> <option value="literature" > Literature </option> <option value="livers" > Livers </option> <option value="logics" > Logics </option> <option value="logistics" > Logistics </option> <option value="lubricants" > Lubricants </option> <option value="lymphatics" > Lymphatics </option> <option value="make" > Machine Learning and Knowledge Extraction (MAKE) </option> <option value="machines" > Machines </option> <option value="macromol" > Macromol </option> <option value="magnetism" > Magnetism </option> <option value="magnetochemistry" > Magnetochemistry </option> <option value="marinedrugs" > Marine Drugs </option> <option value="materials" > Materials </option> <option value="materproc" > Materials Proceedings </option> <option value="mca" > Mathematical and Computational Applications (MCA) </option> <option value="mathematics" > Mathematics </option> <option value="medsci" > Medical Sciences </option> <option value="msf" > Medical Sciences Forum </option> <option value="medicina" > Medicina </option> <option value="medicines" > Medicines </option> <option value="membranes" > Membranes </option> <option value="merits" > Merits </option> <option value="metabolites" > Metabolites </option> <option value="metals" > Metals </option> <option value="meteorology" > Meteorology </option> <option value="methane" > Methane </option> <option value="mps" > Methods and Protocols (MPs) </option> <option value="metrics" > Metrics </option> <option value="metrology" > Metrology </option> <option value="micro" > Micro </option> <option value="microbiolres" > Microbiology Research </option> <option value="micromachines" > Micromachines </option> <option value="microorganisms" > Microorganisms </option> <option value="microplastics" > Microplastics </option> <option value="minerals" > Minerals </option> <option value="mining" > Mining </option> <option value="modelling" > Modelling </option> <option value="mmphys" > Modern Mathematical Physics </option> <option value="molbank" > Molbank </option> <option value="molecules" > Molecules </option> <option value="mti" > Multimodal Technologies and Interaction (MTI) </option> <option value="muscles" > Muscles </option> <option value="nanoenergyadv" > Nanoenergy Advances </option> <option value="nanomanufacturing" > Nanomanufacturing </option> <option value="nanomaterials" > Nanomaterials </option> <option value="ndt" > NDT </option> <option value="network" > Network </option> <option value="neuroglia" > Neuroglia </option> <option value="neurolint" > Neurology International </option> <option value="neurosci" > NeuroSci </option> <option value="nitrogen" > Nitrogen </option> <option value="ncrna" > Non-Coding RNA (ncRNA) </option> <option value="nursrep" > Nursing Reports </option> <option value="nutraceuticals" > Nutraceuticals </option> <option value="nutrients" > Nutrients </option> <option value="obesities" > Obesities </option> <option value="oceans" > Oceans </option> <option value="onco" > Onco </option> <option value="optics" > Optics </option> <option value="oral" > Oral </option> <option value="organics" > Organics </option> <option value="organoids" > Organoids </option> <option value="osteology" > Osteology </option> <option value="oxygen" > Oxygen </option> <option value="parasitologia" > Parasitologia </option> <option value="particles" > Particles </option> <option value="pathogens" > Pathogens </option> <option value="pathophysiology" > Pathophysiology </option> <option value="pediatrrep" > Pediatric Reports </option> <option value="pets" > Pets </option> <option value="pharmaceuticals" > Pharmaceuticals </option> <option value="pharmaceutics" > Pharmaceutics </option> <option value="pharmacoepidemiology" > Pharmacoepidemiology </option> <option value="pharmacy" > Pharmacy </option> <option value="philosophies" > Philosophies </option> <option value="photochem" > Photochem </option> <option value="photonics" > Photonics </option> <option value="phycology" > Phycology </option> <option value="physchem" > Physchem </option> <option value="psf" > Physical Sciences Forum </option> <option value="physics" > Physics </option> <option value="physiologia" > Physiologia </option> <option value="plants" > Plants </option> <option value="plasma" > Plasma </option> <option value="platforms" > Platforms </option> <option value="pollutants" > Pollutants </option> <option value="polymers" > Polymers </option> <option value="polysaccharides" > Polysaccharides </option> <option value="populations" > Populations </option> <option value="poultry" > Poultry </option> <option value="powders" > Powders </option> <option value="proceedings" > Proceedings </option> <option value="processes" > Processes </option> <option value="prosthesis" > Prosthesis </option> <option value="proteomes" > Proteomes </option> <option value="psychiatryint" > Psychiatry International </option> <option value="psychoactives" > Psychoactives </option> <option value="psycholint" > Psychology International </option> <option value="publications" > Publications </option> <option value="qubs" > Quantum Beam Science (QuBS) </option> <option value="quantumrep" > Quantum Reports </option> <option value="quaternary" > Quaternary </option> <option value="radiation" > Radiation </option> <option value="reactions" > Reactions </option> <option value="realestate" > Real Estate </option> <option value="receptors" > Receptors </option> <option value="recycling" > Recycling </option> <option value="rsee" > Regional Science and Environmental Economics (RSEE) </option> <option value="religions" > Religions </option> <option value="remotesensing" > Remote Sensing </option> <option value="reports" > Reports </option> <option value="reprodmed" > Reproductive Medicine (Reprod. Med.) </option> <option value="resources" > Resources </option> <option value="rheumato" > Rheumato </option> <option value="risks" > Risks </option> <option value="robotics" > Robotics </option> <option value="ruminants" > Ruminants </option> <option value="safety" > Safety </option> <option value="sci" > Sci </option> <option value="scipharm" > Scientia Pharmaceutica (Sci. Pharm.) </option> <option value="sclerosis" > Sclerosis </option> <option value="seeds" > Seeds </option> <option value="sensors" > Sensors </option> <option value="separations" > Separations </option> <option value="sexes" > Sexes </option> <option value="signals" > Signals </option> <option value="sinusitis" > Sinusitis </option> <option value="smartcities" > Smart Cities </option> <option value="socsci" > Social Sciences </option> <option value="siuj" > Société Internationale d’Urologie Journal (SIUJ) </option> <option value="societies" > Societies </option> <option value="software" > Software </option> <option value="soilsystems" > Soil Systems </option> <option value="solar" > Solar </option> <option value="solids" > Solids </option> <option value="spectroscj" > Spectroscopy Journal </option> <option value="sports" > Sports </option> <option value="standards" > Standards </option> <option value="stats" > Stats </option> <option value="stresses" > Stresses </option> <option value="surfaces" > Surfaces </option> <option value="surgeries" > Surgeries </option> <option value="std" > Surgical Techniques Development </option> <option value="sustainability" > Sustainability </option> <option value="suschem" > Sustainable Chemistry </option> <option value="symmetry" > Symmetry </option> <option value="synbio" > SynBio </option> <option value="systems" > Systems </option> <option value="targets" > Targets </option> <option value="taxonomy" > Taxonomy </option> <option value="technologies" > Technologies </option> <option value="telecom" > Telecom </option> <option value="textiles" > Textiles </option> <option value="thalassrep" > Thalassemia Reports </option> <option value="therapeutics" > Therapeutics </option> <option value="thermo" > Thermo </option> <option value="timespace" > Time and Space </option> <option value="tomography" > Tomography </option> <option value="tourismhosp" > Tourism and Hospitality </option> <option value="toxics" > Toxics </option> <option value="toxins" > Toxins </option> <option value="transplantology" > Transplantology </option> <option value="traumacare" > Trauma Care </option> <option value="higheredu" > Trends in Higher Education </option> <option value="tropicalmed" > Tropical Medicine and Infectious Disease (TropicalMed) </option> <option value="universe" > Universe </option> <option value="urbansci" > Urban Science </option> <option value="uro" > Uro </option> <option value="vaccines" > Vaccines </option> <option value="vehicles" > Vehicles </option> <option value="venereology" > Venereology </option> <option value="vetsci" > Veterinary Sciences </option> <option value="vibration" > Vibration </option> <option value="virtualworlds" > Virtual Worlds </option> <option value="viruses" > Viruses </option> <option value="vision" > Vision </option> <option value="waste" > Waste </option> <option value="water" > Water </option> <option value="wild" > Wild </option> <option value="wind" > Wind </option> <option value="women" > Women </option> <option value="world" > World </option> <option value="wevj" > World Electric Vehicle Journal (WEVJ) </option> <option value="youth" > Youth </option> <option value="zoonoticdis" > Zoonotic Diseases </option> </select> </div> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Article Type</div> </div> <select id="article_type" tabindex="4" name="article_type" class="chosen-select"> <option value="">All Article Types</option> <option value="research-article">Article</option> <option value="review-article">Review</option> <option value="rapid-communication">Communication</option> <option value="editorial">Editorial</option> <option value="abstract">Abstract</option> <option value="book-review">Book Review</option> <option value="brief-communication">Brief Communication</option> <option value="brief-report">Brief Report</option> <option value="case-report">Case Report</option> <option value="clinicopathological-challenge">Clinicopathological Challenge</option> <option value="article-commentary">Comment</option> <option value="commentary">Commentary</option> <option value="concept-paper">Concept Paper</option> <option value="conference-report">Conference Report</option> <option value="correction">Correction</option> <option value="creative">Creative</option> <option value="data-descriptor">Data Descriptor</option> <option value="discussion">Discussion</option> <option value="Entry">Entry</option> <option value="essay">Essay</option> <option value="expression-of-concern">Expression of Concern</option> <option value="extended-abstract">Extended Abstract</option> <option value="field-guide">Field Guide</option> <option value="guidelines">Guidelines</option> <option value="hypothesis">Hypothesis</option> <option value="interesting-image">Interesting Images</option> <option value="letter">Letter</option> <option value="books-received">New Book Received</option> <option value="obituary">Obituary</option> <option value="opinion">Opinion</option> <option value="perspective">Perspective</option> <option value="proceedings">Proceeding Paper</option> <option value="project-report">Project Report</option> <option value="protocol">Protocol</option> <option value="registered-report">Registered Report</option> <option value="reply">Reply</option> <option value="retraction">Retraction</option> <option value="note">Short Note</option> <option value="study-protocol">Study Protocol</option> <option value="systematic_review">Systematic Review</option> <option value="technical-note">Technical Note</option> <option value="tutorial">Tutorial</option> <option value="viewpoint">Viewpoint</option> </select> </div> <div class="large-1 medium-1 small-6 end columns small-push-6 medium-reset-order large-reset-order js-search-collapsed-button-container"> <div class="search-input-label"> </div> <input type="submit" id="search" value="Search" class="button button--dark button--full-width searchButton1 US_SearchButton" tabindex="12"> </div> <div class="large-1 medium-1 small-6 end columns large-text-left small-only-text-center small-pull-6 medium-reset-order large-reset-order js-search-collapsed-link-container"> <div class="search-input-label"> </div> <a class="main-search-clear search-container__link" href="#" onclick="openAdvanced(''); return false;">Advanced<span class="show-for-small-only"> Search</span></a> </div> </div> </div> <div class="search-container__advanced" style="margin-top: 0; padding-top: 0px; background-color: inherit; color: inherit;"> <div class="row"> <div class="large-2 medium-2 columns show-for-medium-up"> </div> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Section</div> </div> <select id="section" tabindex="5" name="section" class="chosen-select"> <option value=""></option> </select> </div> <div class="large-2 medium-2 small-6 columns "> <div class=""> <div class="search-input-label">Special Issue</div> </div> <select id="special_issue" tabindex="6" name="special_issue" class="chosen-select"> <option value=""></option> </select> </div> <div class="large-1 medium-1 small-6 end columns "> <div class="search-input-label">Volume</div> <input type="text" id="volume" tabindex="7" name="volume" placeholder="..." value="13" /> </div> <div class="large-1 medium-1 small-6 end columns "> <div class="search-input-label">Issue</div> <input type="text" id="issue" tabindex="8" name="issue" placeholder="..." value="23" /> </div> <div class="large-1 medium-1 small-6 end columns "> <div class="search-input-label">Number</div> <input type="text" id="number" tabindex="9" name="number" placeholder="..." value="" /> </div> <div class="large-1 medium-1 small-6 end columns "> <div class="search-input-label">Page</div> <input type="text" id="page" tabindex="10" name="page" placeholder="..." value="" /> </div> <div class="large-1 medium-1 small-6 columns small-push-6 medium-reset order large-reset-order medium-reset-order js-search-expanded-button-container"></div> <div class="large-1 medium-1 small-6 columns large-text-left small-only-text-center small-pull-6 medium-reset-order large-reset-order js-search-expanded-link-container"></div> </div> </div> </form> <form id="advanced-search" class="large-12 medium-12 columns"> <div class="search-container__advanced"> <div id="advanced-search-template" class="row advanced-search-row"> <div class="large-2 medium-2 small-12 columns show-for-medium-up"> </div> <div class="large-2 medium-2 small-3 columns connector-div"> <div class="search-input-label"><span class="show-for-medium-up">Logical Operator</span><span class="show-for-small">Operator</span></div> <select class="connector"> <option value="and">AND</option> <option value="or">OR</option> </select> </div> <div class="large-3 medium-3 small-6 columns search-text-div"> <div class="search-input-label">Search Text</div> <input type="text" class="search-text" placeholder="Search text"> </div> <div class="large-2 medium-2 small-6 large-offset-0 medium-offset-0 small-offset-3 columns search-field-div"> <div class="search-input-label">Search Type</div> <select class="search-field"> <option value="all">All fields</option> <option value="title">Title</option> <option value="abstract">Abstract</option> <option value="keywords">Keywords</option> <option value="authors">Authors</option> <option value="affiliations">Affiliations</option> <option value="doi">Doi</option> <option value="full_text">Full Text</option> <option value="references">References</option> </select> </div> <div class="large-1 medium-1 small-3 columns"> <div class="search-input-label"> </div> <div class="search-action-div"> <div class="search-plus"> <i class="material-icons">add_circle_outline</i> </div> </div> <div class="search-action-div"> <div class="search-minus"> <i class="material-icons">remove_circle_outline</i> </div> </div> </div> <div class="large-1 medium-1 small-6 large-offset-0 medium-offset-0 small-offset-3 end columns"> <div class="search-input-label"> </div> <input class="advanced-search-button button button--dark search-submit" type="submit" value="Search"> </div> <div class="large-1 medium-1 small-6 end columns show-for-medium-up"></div> </div> </div> </form> </div> <div class="header-divider"> </div> <div class="breadcrumb row full-row"> <div class="breadcrumb__element"> <a href="/about/journals">Journals</a> </div> <div class="breadcrumb__element"> <a href="/journal/electronics">Electronics</a> </div> <div class="breadcrumb__element"> <a href="/2079-9292/13">Volume 13</a> </div> <div class="breadcrumb__element"> <a href="/2079-9292/13/23">Issue 23</a> </div> <div class="breadcrumb__element"> <a href="#">10.3390/electronics13234609</a> </div> </div> </header> <div id="main-content" class=""> <div class="row full-width row-fixed-left-column"> <div id="left-column" class="content__column large-3 medium-3 small-12 columns"> <div class="content__container"> <a href="/journal/electronics"> <img src="https://pub.mdpi-res.com/img/journals/electronics-logo.png?8600e93ff98dbf14" alt="electronics-logo" title="Electronics" style="max-height: 60px; margin: 0 0 0 0;"> </a> <div class="generic-item no-border"> <a class="button button--color button--full-width js-journal-active-only-link js-journal-active-only-submit-link UC_ArticleSubmitButton" href="https://susy.mdpi.com/user/manuscripts/upload?form%5Bjournal_id%5D%3D127" data-disabledmessage="creating new submissions is not possible."> Submit to this Journal </a> <a class="button button--color button--full-width js-journal-active-only-link UC_ArticleReviewButton" href="https://susy.mdpi.com/volunteer/journals/review" data-disabledmessage="volunteering as journal reviewer is not possible."> Review for this Journal </a> <a class="button button--color-inversed button--color-journal button--full-width js-journal-active-only-link UC_ArticleEditIssueButton" href="/journalproposal/sendproposalspecialissue/electronics" data-path="/2079-9292/13/23/4609" data-disabledmessage="proposing new special issue is not possible."> Propose a Special Issue </a> </div> <div class="generic-item link-article-menu show-for-small"> <a href="#" class="link-article-menu show-for-small"> <span class="closed">►</span> <span class="open" style="display: none;">▼</span> Article Menu </a> </div> <div class="hide-small-down-initially UI_ArticleMenu"> <div class="generic-item"> <h2>Article Menu</h2> </div> <ul class="accordion accordion__menu" data-accordion data-options="multi_expand:true;toggleable: true"> <li class="accordion-navigation"> <a href="#academic_editors" class="accordion__title">Academic Editor</a> <div id="academic_editors" class="content active"> <div class="academic-editor-container " title="ICAR-CNR, Institute of High Performance Computing and Networking, Italian National Research Council, 87036 Rende, Cosenza, Italy"> <div class="sciprofiles-link" style="display: inline-block"><a class="sciprofiles-link__link" href="https://sciprofiles.com/profile/2743735?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" target="_blank" rel="noopener noreferrer"><img class="sciprofiles-link__image" src="/profiles/2743735/thumb/Franco_Cicirelli.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Franco Cicirelli</span></a></div> </div> </div> </li> <li class="accordion-direct-link"> <a href="/2079-9292/13/23/4609/scifeed_display" data-reveal-id="scifeed-modal" data-reveal-ajax="true">Subscribe SciFeed</a> </li> <li class="accordion-direct-link js-article-similarity-container" style="display: none"> <a href="#" class="js-similarity-related-articles">Recommended Articles</a> </li> <li class="accordion-direct-link"> <a href="/article/1526976/author-biographies" data-reveal-id="author-biographies-modal" data-reveal-ajax="true">Author Biographies</a> </li> <li class="accordion-navigation"> <a href="#related" class="accordion__title">Related Info Link</a> <div id="related" class="content UI_ArticleMenu_RelatedLinks"> <ul> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=A%20Receiver-Driven%20Named%20Data%20Networking%20%28NDN%29%20Congestion%20Control%20Method%20Based%20on%20Reinforcement%20Learning" target="_blank" rel="noopener noreferrer">Google Scholar</a> </li> </ul> </div> </li> <li class="accordion-navigation"> <a href="#authors" class="accordion__title">More by Authors Links</a> <div id="authors" class="content UI_ArticleMenu_AuthorsLinks"> <ul class="side-menu-ul"> <li> <a class="expand" onclick='$(this).closest("li").next("div").toggle(); return false;'>on DOAJ</a> </li> <div id="AuthorDOAJExpand" style="display:none;"> <ul class="submenu"> <li class="li-link"> <a href='http://doaj.org/search/articles?source=%7B%22query%22%3A%7B%22query_string%22%3A%7B%22query%22%3A%22%5C%22Ruijuan%20Zheng%5C%22%22%2C%22default_operator%22%3A%22AND%22%2C%22default_field%22%3A%22bibjson.author.name%22%7D%7D%7D' target="_blank" rel="noopener noreferrer">Zheng, R.</a> <li> </li> <li class="li-link"> <a href='http://doaj.org/search/articles?source=%7B%22query%22%3A%7B%22query_string%22%3A%7B%22query%22%3A%22%5C%22Bohan%20Zhang%5C%22%22%2C%22default_operator%22%3A%22AND%22%2C%22default_field%22%3A%22bibjson.author.name%22%7D%7D%7D' target="_blank" rel="noopener noreferrer">Zhang, B.</a> <li> </li> <li class="li-link"> <a href='http://doaj.org/search/articles?source=%7B%22query%22%3A%7B%22query_string%22%3A%7B%22query%22%3A%22%5C%22Xuhui%20Zhao%5C%22%22%2C%22default_operator%22%3A%22AND%22%2C%22default_field%22%3A%22bibjson.author.name%22%7D%7D%7D' target="_blank" rel="noopener noreferrer">Zhao, X.</a> <li> </li> <li class="li-link"> <a href='http://doaj.org/search/articles?source=%7B%22query%22%3A%7B%22query_string%22%3A%7B%22query%22%3A%22%5C%22Lin%20Wang%5C%22%22%2C%22default_operator%22%3A%22AND%22%2C%22default_field%22%3A%22bibjson.author.name%22%7D%7D%7D' target="_blank" rel="noopener noreferrer">Wang, L.</a> <li> </li> <li class="li-link"> <a href='http://doaj.org/search/articles?source=%7B%22query%22%3A%7B%22query_string%22%3A%7B%22query%22%3A%22%5C%22Qingtao%20Wu%5C%22%22%2C%22default_operator%22%3A%22AND%22%2C%22default_field%22%3A%22bibjson.author.name%22%7D%7D%7D' target="_blank" rel="noopener noreferrer">Wu, Q.</a> <li> </li> </ul> </div> <li> <a class="expand" onclick='$(this).closest("li").next("div").toggle(); return false;'>on Google Scholar</a> </li> <div id="AuthorGoogleExpand" style="display:none;"> <ul class="submenu"> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Ruijuan%20Zheng" target="_blank" rel="noopener noreferrer">Zheng, R.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Bohan%20Zhang" target="_blank" rel="noopener noreferrer">Zhang, B.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Xuhui%20Zhao" target="_blank" rel="noopener noreferrer">Zhao, X.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Lin%20Wang" target="_blank" rel="noopener noreferrer">Wang, L.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Qingtao%20Wu" target="_blank" rel="noopener noreferrer">Wu, Q.</a> <li> </li> </ul> </div> <li> <a class="expand" onclick='$(this).closest("li").next("div").toggle(); return false;'>on PubMed</a> </li> <div id="AuthorPubMedExpand" style="display:none;"> <ul class="submenu"> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Ruijuan%20Zheng" target="_blank" rel="noopener noreferrer">Zheng, R.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Bohan%20Zhang" target="_blank" rel="noopener noreferrer">Zhang, B.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Xuhui%20Zhao" target="_blank" rel="noopener noreferrer">Zhao, X.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Lin%20Wang" target="_blank" rel="noopener noreferrer">Wang, L.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Qingtao%20Wu" target="_blank" rel="noopener noreferrer">Wu, Q.</a> <li> </li> </ul> </div> </ul> </div> </li> </ul> <span style="display:none" id="scifeed_hidden_flag"></span> <span style="display:none" id="scifeed_subscribe_url">/ajax/scifeed/subscribe</span> </div> </div> <div class="content__container responsive-moving-container large medium active hidden" data-id="article-counters"> <div id="counts-wrapper" class="row generic-item no-border" data-equalizer> <div id="js-counts-wrapper__views" class="small-12 hide columns count-div-container"> <a href="#metrics" > <div class="count-div" data-equalizer-watch> <span class="name">Article Views</span> <span class="count view-number"></span> </div> </a> </div> <div id="js-counts-wrapper__citations" class="small-12 columns hide count-div-container"> <a href="#metrics" > <div class="count-div" data-equalizer-watch> <span class="name">Citations</span> <span class="count citations-number Var_ArticleMaxCitations">-</span> </div> </a> </div> </div> </div> <div class="content__container"> <div class="hide-small-down-initially"> <ul class="accordion accordion__menu" data-accordion data-options="multi_expand:true;toggleable: true"> <li class="accordion-navigation"> <a href="#table_of_contents" class="accordion__title">Table of Contents</a> <div id="table_of_contents" class="content active"> <div class="menu-caption" id="html-quick-links-title"></div> </div> </li> </ul> </div> </div> <!-- PubGrade code --> <div id="pbgrd-sky"></div> <script src="https://cdn.pbgrd.com/core-mdpi.js"></script> <style>.content__container { min-width: 300px; }</style> <!-- PubGrade code --> </div> <div id="middle-column" class="content__column large-9 medium-9 small-12 columns end middle-bordered"> <div class="middle-column__help"> <div class="middle-column__help__fixed show-for-medium-up"> <span id="js-altmetrics-donut" href="#" target="_blank" rel="noopener noreferrer" style="display: none;"> <span data-badge-type='donut' class='altmetric-embed' data-doi='10.3390/electronics13234609'></span> <span>Altmetric</span> </span> <a href="#" class="UA_ShareButton" data-reveal-id="main-share-modal" title="Share"> <i class="material-icons">share</i> <span>Share</span> </a> <a href="#" data-reveal-id="main-help-modal" title="Help"> <i class="material-icons">announcement</i> <span>Help</span> </a> <a href="javascript:void(0);" data-reveal-id="cite-modal" data-counterslink = "https://www.mdpi.com/2079-9292/13/23/4609/cite" > <i class="material-icons">format_quote</i> <span>Cite</span> </a> <a href="https://sciprofiles.com/discussion-groups/public/10.3390/electronics13234609?utm_source=mpdi.com&utm_medium=publication&utm_campaign=discuss_in_sciprofiles" target="_blank" rel="noopener noreferrer" title="Discuss in Sciprofiles"> <i class="material-icons">question_answer</i> <span>Discuss in SciProfiles</span> </a> <a href="#" class="" data-hypothesis-trigger-endorses-tab title="Endorse"> <i data-hypothesis-endorse-trigger class="material-icons" >thumb_up</i> <div data-hypothesis-endorsement-count data-hypothesis-trigger-endorses-tab class="hypothesis-count-container"> ... </div> <span>Endorse</span> </a> <a href="#" data-hypothesis-trigger class="js-hypothesis-open UI_ArticleAnnotationsButton" title="Comment"> <i class="material-icons">textsms</i> <div data-hypothesis-annotation-count class="hypothesis-count-container"> ... </div> <span>Comment</span> </a> </div> <div id="main-help-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> <div class="row"> <div class="small-12 columns"> <h2 style="margin: 0;">Need Help?</h2> </div> <div class="small-6 columns"> <h3>Support</h3> <p> Find support for a specific problem in the support section of our website. </p> <a target="_blank" href="/about/contactform" class="button button--color button--full-width"> Get Support </a> </div> <div class="small-6 columns"> <h3>Feedback</h3> <p> Please let us know what you think of our products and services. </p> <a target="_blank" href="/feedback/send" class="button button--color button--full-width"> Give Feedback </a> </div> <div class="small-6 columns end"> <h3>Information</h3> <p> Visit our dedicated information section to learn more about MDPI. </p> <a target="_blank" href="/authors" class="button button--color button--full-width"> Get Information </a> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> </div> <div class="middle-column__main "> <div class="page-highlight"> <style type="text/css"> img.review-status { width: 30px; } </style> <div id="jmolModal" class="reveal-modal" data-reveal aria-labelledby="Captcha" aria-hidden="true" role="dialog"> <h2>JSmol Viewer</h2> <div class="row"> <div class="small-12 columns text-center"> <iframe style="width: 520px; height: 520px;" frameborder="0" id="jsmol-content"></iframe> <div class="content"></div> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> <div itemscope itemtype="http://schema.org/ScholarlyArticle" id="abstract" class="abstract_div"> <div class="js-check-update-container"></div> <div class="html-content__container content__container content__container__combined-for-large__first" style="overflow: auto; position: inherit;"> <div class='html-profile-nav'> <div class='top-bar'> <div class='nav-sidebar-btn show-for-large-up' data-status='opened' > <i class='material-icons'>first_page</i> </div> <a id="js-button-download" class="button button--color-inversed" style="display: none;" href="/2079-9292/13/23/4609/pdf?version=1732269892" data-name="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning" data-journal="electronics"> <i class="material-icons custom-download"></i> Download PDF </a> <div class='nav-btn'> <i class='material-icons'>settings</i> </div> <a href="/2079-9292/13/23/4609/reprints" id="js-button-reprints" class="button button--color-inversed"> Order Article Reprints </a> </div> <div class='html-article-menu'> <div class='html-first-step row'> <div class='html-font-family large-6 medium-6 small-12 columns'> <div class='row'> <div class='html-font-label large-4 medium-4 small-12 columns'> Font Type: </div> <div class='large-8 medium-8 small-12 columns'> <span class="html-article-menu-option"><i style='font-family:Arial, Arial, Helvetica, sans-serif;' data-fontfamily='Arial, Arial, Helvetica, sans-serif'>Arial</i></span> <span class="html-article-menu-option"><i style='font-family:Georgia1, Georgia, serif;' data-fontfamily='Georgia1, Georgia, serif'>Georgia</i></span> <span class="html-article-menu-option"><i style='font-family:Verdana, Verdana, Geneva, sans-serif;' data-fontfamily='Verdana, Verdana, Geneva, sans-serif' >Verdana</i></span> </div> </div> </div> <div class='html-font-resize large-6 medium-6 small-12 columns'> <div class='row'> <div class='html-font-label large-4 medium-4 small-12 columns'>Font Size:</div> <div class='large-8 medium-8 small-12 columns'> <span class="html-article-menu-option a1" data-percent="100">Aa</span> <span class="html-article-menu-option a2" data-percent="120">Aa</span> <span class="html-article-menu-option a3" data-percent="160">Aa</span> </div> </div> </div> </div> <div class='row'> <div class='html-line-space large-6 medium-6 small-12 columns'> <div class='row'> <div class='html-font-label large-4 medium-4 small-12 columns' >Line Spacing:</div> <div class='large-8 medium-8 small-12 columns'> <span class="html-article-menu-option a1" data-line-height="1.5em"> <i class="fa"></i> </span> <span class="html-article-menu-option a2" data-line-height="1.8em"> <i class="fa"></i> </span> <span class="html-article-menu-option a3" data-line-height="2.1em"> <i class="fa"></i> </span> </div> </div> </div> <div class='html-column-width large-6 medium-6 small-12 columns'> <div class='row'> <div class='html-font-label large-4 medium-4 small-12 columns' >Column Width:</div> <div class='large-8 medium-8 small-12 columns'> <span class="html-article-menu-option a1" data-column-width="20%"> <i class="fa"></i> </span> <span class="html-article-menu-option a2" data-column-width="10%"> <i class="fa"></i> </span> <span class="html-article-menu-option a3" data-column-width="0%"> <i class="fa"></i> </span> </div> </div> </div> </div> <div class='row'> <div class='html-font-bg large-6 medium-6 small-12 columns end'> <div class='row'> <div class='html-font-label large-4 medium-4 small-12 columns'>Background:</div> <div class='large-8 medium-8 small-12 columns'> <div class="html-article-menu-option html-nav-bg html-nav-bright" data-bg="bright"> <i class="fa fa-file-text"></i> </div> <div class="html-article-menu-option html-nav-bg html-nav-dark" data-bg="dark"> <i class="fa fa-file-text-o"></i> </div> <div class="html-article-menu-option html-nav-bg html-nav-creme" data-bg="creme"> <i class="fa fa-file-text"></i> </div> </div> </div> </div> </div> </div> </div> <article ><div class='html-article-content'> <span itemprop="publisher" content="Multidisciplinary Digital Publishing Institute"></span><span itemprop="url" content="https://www.mdpi.com/2079-9292/13/23/4609"></span> <div class="article-icons"><span class="label openaccess" data-dropdown="drop-article-label-openaccess" aria-expanded="false">Open Access</span><span class="label articletype">Article</span></div> <h1 class="title hypothesis_container" itemprop="name"> A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning </h1> <div class="art-authors hypothesis_container"> by <span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop13432551' data-options='is_hover:true, hover_timeout:5000'> Ruijuan Zheng</div><div id="profile-card-drop13432551" data-dropdown-content class="f-dropdown content profile-card-content" aria-hidden="true" tabindex="-1"><div class="profile-card__title"><div class="sciprofiles-link" style="display: inline-block"><div class="sciprofiles-link__link"><img class="sciprofiles-link__image" src="/bundles/mdpisciprofileslink/img/unknown-user.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Ruijuan Zheng</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/1450107?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" class="button button--color-inversed" target="_blank"> SciProfiles </a><a href="https://scilit.net/scholars?q=Ruijuan%20Zheng" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Ruijuan%20Zheng&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Ruijuan%20Zheng" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div><div class="profile-card__biography"><div class="js-profile-card__biography-item js-default-open"> Ruijuan Zheng earned, from the Henan University, a BS in Computer Science and Technology (2003), a [...] </div><div class="js-profile-card__biography-item js-default-closed" style="display: none;"> Ruijuan Zheng earned, from the Henan University, a BS in Computer Science and Technology (2003), and a PhD in Computer Application Technology (2008. She is now the Vice Dean of the Software College at Henan University of Science and Technology. Her research interests include mobile cloud computing, bio-inspired networks, Internet of Things, future Internet, and computer security. </div><div><a href="#" class='js-profile-card__biography-item js-default-open'>Read more</a><a href="#" class='js-profile-card__biography-item js-default-closed' style="display: none;">Read less</a></div></div></div><sup> 1</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="13432551" href="/cdn-cgi/l/email-protection#c6e9a5a8a2eba5a1afe9aae9a3aba7afaaebb6b4a9b2a3a5b2afa9a8e5f6f6f7f4f1a7f7a0f7f2f7a2f6fef6a0f7f5f7f6f6a0f7a4f7f2f5a7f7f4f7a4f6a0f6fff6a3f3f2f7a0f7a3f6a0f3f2f7fff7f2"><sup><i class="fa fa-envelope-o"></i></sup></a>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop13432552' data-options='is_hover:true, hover_timeout:5000'> Bohan Zhang</div><div id="profile-card-drop13432552" data-dropdown-content class="f-dropdown content profile-card-content" aria-hidden="true" tabindex="-1"><div class="profile-card__title"><div class="sciprofiles-link" style="display: inline-block"><div class="sciprofiles-link__link"><img class="sciprofiles-link__image" src="/bundles/mdpisciprofileslink/img/unknown-user.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Bohan Zhang</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/3969387?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" class="button button--color-inversed" target="_blank"> SciProfiles </a><a href="https://scilit.net/scholars?q=Bohan%20Zhang" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Bohan%20Zhang&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Bohan%20Zhang" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup> 1</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="13432552" href="/cdn-cgi/l/email-protection#88a7ebe6eca5ebefe1a7e4a7ede5e9e1e4a5f8fae7fcedebfce1e7e6abb8b8b8bbbbbab8bab8b9b8b8b8bbb8bab8bfb8bab8b9b8bdb8babfbabcb9bcbebcbfb9ebbde9bdbbbcbfbcb9bcbeb9ebbdbfbdbebcbfb9ebbdb9bdeb"><sup><i class="fa fa-envelope-o"></i></sup></a>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop13432553' data-options='is_hover:true, hover_timeout:5000'> Xuhui Zhao</div><div id="profile-card-drop13432553" data-dropdown-content class="f-dropdown content profile-card-content" aria-hidden="true" tabindex="-1"><div class="profile-card__title"><div class="sciprofiles-link" style="display: inline-block"><div class="sciprofiles-link__link"><img class="sciprofiles-link__image" src="/bundles/mdpisciprofileslink/img/unknown-user.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Xuhui Zhao</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/1526672?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" class="button button--color-inversed" target="_blank"> SciProfiles </a><a href="https://scilit.net/scholars?q=Xuhui%20Zhao" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Xuhui%20Zhao&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Xuhui%20Zhao" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div><div class="profile-card__biography"><div class="js-profile-card__biography-item js-default-open"> Xuhui Zhao received a Masters degree from Zhengzhou University, China. She received her Ph.D. at of [...] </div><div class="js-profile-card__biography-item js-default-closed" style="display: none;"> Xuhui Zhao received a Masters degree from Zhengzhou University, China. She received her Ph.D. degree at the State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, China. She has been a Associate Professor with the Henan University of Science and Technology. Her research interests include Mobile Edge Computing and Industrial Internet. </div><div><a href="#" class='js-profile-card__biography-item js-default-open'>Read more</a><a href="#" class='js-profile-card__biography-item js-default-closed' style="display: none;">Read less</a></div></div></div><sup> 1,*</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="13432553" href="/cdn-cgi/l/email-protection#d3fcb0bdb7feb0b4bafcbffcb6beb2babffea3a1bca7b6b0a7babcbdf0e3e3e3e1e4b2e2e1e0b2e2e1e2b1e3b5e3eae3b6e6e7e2b5e2b6e3b5e6e7e2eae2e7"><sup><i class="fa fa-envelope-o"></i></sup></a>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop13432554' data-options='is_hover:true, hover_timeout:5000'> Lin Wang</div><div id="profile-card-drop13432554" data-dropdown-content class="f-dropdown content profile-card-content" aria-hidden="true" tabindex="-1"><div class="profile-card__title"><div class="sciprofiles-link" style="display: inline-block"><div class="sciprofiles-link__link"><img class="sciprofiles-link__image" src="/profiles/1525510/thumb/Lin_Wang.jpg" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Lin Wang</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/1525510?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" class="button button--color-inversed" target="_blank"> SciProfiles </a><a href="https://scilit.net/scholars?q=Lin%20Wang" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Lin%20Wang&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Lin%20Wang" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup> 1,2</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="13432554" href="/cdn-cgi/l/email-protection#1b3478757f36787c723477347e767a7277366b69746f7e786f727475382b2b2b2e2d782b292a792b7f2b292b7929782b2f2b7f2a222a7d2a232f292b222b232a222f292b7d2b29"><sup><i class="fa fa-envelope-o"></i></sup></a> and </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop13432555' data-options='is_hover:true, hover_timeout:5000'> Qingtao Wu</div><div id="profile-card-drop13432555" data-dropdown-content class="f-dropdown content profile-card-content" aria-hidden="true" tabindex="-1"><div class="profile-card__title"><div class="sciprofiles-link" style="display: inline-block"><div class="sciprofiles-link__link"><img class="sciprofiles-link__image" src="/bundles/mdpisciprofileslink/img/unknown-user.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Qingtao Wu</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/1705598?utm_source=mdpi.com&utm_medium=website&utm_campaign=avatar_name" class="button button--color-inversed" target="_blank"> SciProfiles </a><a href="https://scilit.net/scholars?q=Qingtao%20Wu" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Qingtao%20Wu&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Qingtao%20Wu" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup> 1,2</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="13432555" href="/cdn-cgi/l/email-protection#2a0549444e07494d430546054f474b4346075a58455e4f495e434544091a1a1a1c1d1d1a191e4c1e4f1e1f1e1c191d1b4c1b1c1a181a1e1a191f131b181b191a181f131b1e1b13"><sup><i class="fa fa-envelope-o"></i></sup></a><a href="https://orcid.org/0000-0003-1572-5293" target="_blank" rel="noopener noreferrer"><img src="https://pub.mdpi-res.com/img/design/orcid.png?0465bc3812adeb52?1732286508" title="ORCID" style="position: relative; width: 13px; margin-left: 3px; max-width: 13px !important; height: auto; top: -5px;"></a></span> </div> <div class="nrm"></div> <span style="display:block; height:6px;"></span> <div></div> <div style="margin: 5px 0 15px 0;" class="hypothesis_container"> <div class="art-affiliations"> <div class="affiliation "> <div class="affiliation-item"><sup>1</sup></div> <div class="affiliation-name ">School of Information Engineering, Henan University of Science and Technology, Luoyang 471023, China</div> </div> <div class="affiliation "> <div class="affiliation-item"><sup>2</sup></div> <div class="affiliation-name ">Longmen Laboratory, Luoyang 471942, China</div> </div> <div class="affiliation"> <div class="affiliation-item"><sup>*</sup></div> <div class="affiliation-name ">Author to whom correspondence should be addressed. </div> </div> </div> </div> <div class="bib-identity" style="margin-bottom: 10px;"> <em>Electronics</em> <b>2024</b>, <em>13</em>(23), 4609; <a href="https://doi.org/10.3390/electronics13234609">https://doi.org/10.3390/electronics13234609</a> </div> <div class="pubhistory" style="font-weight: bold; padding-bottom: 10px;"> <span style="display: inline-block">Submission received: 14 October 2024</span> / <span style="display: inline-block">Revised: 14 November 2024</span> / <span style="display: inline-block">Accepted: 20 November 2024</span> / <span style="display: inline-block">Published: 22 November 2024</span> </div> <div class="highlight-box1"> <div class="download"> <a class="button button--color-inversed button--drop-down" data-dropdown="drop-download-1526976" aria-controls="drop-supplementary-1526976" aria-expanded="false"> Download <i class="material-icons">keyboard_arrow_down</i> </a> <div id="drop-download-1526976" class="f-dropdown label__btn__dropdown label__btn__dropdown--button" data-dropdown-content aria-hidden="true" tabindex="-1"> <a class="UD_ArticlePDF" href="/2079-9292/13/23/4609/pdf?version=1732269892" data-name="A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning" data-journal="electronics">Download PDF</a> <br/> <a id="js-pdf-with-cover-access-captcha" href="#" data-target="/2079-9292/13/23/4609/pdf-with-cover" class="accessCaptcha">Download PDF with Cover</a> <br/> <a id="js-xml-access-captcha" href="#" data-target="/2079-9292/13/23/4609/xml" class="accessCaptcha">Download XML</a> <br/> <a href="/2079-9292/13/23/4609/epub" id="epub_link">Download Epub</a> <br/> </div> <div class="js-browse-figures" style="display: inline-block;"> <a href="#" class="button button--color-inversed margin-bottom-10 openpopupgallery UI_BrowseArticleFigures" data-target='article-popup' data-counterslink = "https://www.mdpi.com/2079-9292/13/23/4609/browse" >Browse Figures</a> </div> <div id="article-popup" class="popupgallery" style="display: inline; line-height: 200%"> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png?1732270033" title=" <strong>Figure 1</strong><br/> <p>Architecture of Q-NDN.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png?1732270033" title=" <strong>Figure 2</strong><br/> <p>Basic functionality of the sliding window.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png?1732270035" title=" <strong>Figure 3</strong><br/> <p>Q-NDN algorithm process.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png?1732270037" title=" <strong>Figure 4</strong><br/> <p>Basic network topology.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png?1732270038" title=" <strong>Figure 5</strong><br/> <p>Competitive network topology.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png?1732270038" title=" <strong>Figure 6</strong><br/> <p>Experimental results for basic network topology.</p> "> </a> <a href="https://pub.mdpi-res.com/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png?1732270039" title=" <strong>Figure 7</strong><br/> <p>Experimental results for competitive network topology.</p> "> </a> </div> <a class="button button--color-inversed" href="/2079-9292/13/23/4609/notes">Versions Notes</a> </div> </div> <div class="responsive-moving-container small hidden" data-id="article-counters" style="margin-top: 15px;"></div> <div class="html-dynamic"> <section> <div class="art-abstract art-abstract-new in-tab hypothesis_container"> <p> <div><section class="html-abstract" id="html-abstract"> <h2 id="html-abstract-title">Abstract</h2><b>:</b> <div class="html-p">Named data networking (NDN) is a novel networking paradigm characterized by in-network caching, receiver-driven communication, and multi-source, multi-path data retrieval, which poses new challenges for congestion control. Existing work has largely focused on receiver-driven mechanisms. Due to delays in obtaining network control information (timeouts, NACKs) within NDN, consumers are unable to access the network congestion status from this information in a timely manner. To address the issues above, this paper combines the Q-learning algorithm with the NDN architecture, proposing Q-NDN. In Q-NDN, consumers can dynamically adjust the congestion window (cwnd) through the real-time monitoring of network status, leveraging the Q-learning algorithm, achieving automatic congestion control for the NDN architecture. Additionally, this paper introduces content popularity-based traffic scheduling for multi-user scenarioswhich adjusts the transmission rates of content with different popularity levels to maintain a dynamic balance in the network. The experimental results show that Q-NDN can converge quickly, make full use of bandwidth resources, and keep the packet loss rate to 0 in the basic network topology. In competing network topologies, Q-NDN can rapidly address conflict issues, efficiently utilize bandwidth resources, and maintain a relatively low packet loss rate.</div> </section> <div id="html-keywords"> <div class="html-gwd-group"><div id="html-keywords-title">Keywords: </div><a href="/search?q=named+data+networking">named data networking</a>; <a href="/search?q=congestion+control">congestion control</a>; <a href="/search?q=reinforcement+learning">reinforcement learning</a>; <a href="/search?q=receiver-driven">receiver-driven</a></div> <div> </div> </div> </div> </p> </div> </section> </div> <div class="hypothesis_container"> <ul class="menu html-nav" data-prev-node="#html-quick-links-title"> </ul> <div class="html-body"> <section id='sec1-electronics-13-04609' type='intro'><h2 data-nested='1'> 1. Introduction</h2><div class='html-p'>With the increasing number of Internet surfers, the functions of the Internet have shifted from simple resource sharing to large-scale information distribution and retrieval. The traditional TCP/IP five-tuple-based network (source IP, destination IP, source port, destination port, and transport layer protocol) [<a href="#B1-electronics-13-04609" class="html-bibr">1</a>,<a href="#B2-electronics-13-04609" class="html-bibr">2</a>] is no longer effectively adapted to this transformation. Named data networking (NDN) [<a href="#B3-electronics-13-04609" class="html-bibr">3</a>,<a href="#B4-electronics-13-04609" class="html-bibr">4</a>,<a href="#B5-electronics-13-04609" class="html-bibr">5</a>], as a content-centric networking architecture, transforms the network communication model from host-centric to information-centric. Simultaneously, NDN networks also support in-network caching and many-to-many communication, enabling natural support for large-scale information distribution. It represents a new direction for future development.</div><div class='html-p'>Due to the in-network caching support in NDN networks, consumers can obtain the required data packets through multiple paths and sources. This makes the round-trip time (RTT) timeout mechanism designed for TCP/IP networks ineffective in reflecting the congestion situation in NDN networks [<a href="#B6-electronics-13-04609" class="html-bibr">6</a>]. Moreover, previous research has primarily focused on designing fixed rules, such as ICP (Internet Control Protocol) [<a href="#B7-electronics-13-04609" class="html-bibr">7</a>], VCP (Variable-structure congestion Control Protocol) [<a href="#B8-electronics-13-04609" class="html-bibr">8</a>], HoBHIS (Hop-by-hop Internet shaping) [<a href="#B9-electronics-13-04609" class="html-bibr">9</a>], and so on. These algorithms give rise to two issues: Firstly, fixed rules are unable to adapt to changes in different types of network environments. Different types of NDN networks exhibit significant differences in terms of bandwidth, latency, and network topology, and fixed rule algorithms may perform well in one NDN network but poorly in another. Secondly, existing congestion control schemes execute fixed operations for increasing or decreasing the congestion window based on network delay feedback, without dynamically adjusting according to historical network state information [<a href="#B10-electronics-13-04609" class="html-bibr">10</a>].</div><div class='html-p'>To address the aforementioned issues, we proposed the Q-NDN congestion control method. This method not only considers RTT but also incorporates various state information such as average send time, average receive time, etc., as criteria for assessing congestion. Additionally, by introducing reinforcement learning algorithms into NDN, the agent can dynamically adjust to network changes, addressing the rigidity issues arising from fixed rules. The paper defines the congestion control objectives as maximizing throughput and minimizing packet loss rate. The overall implementation process is as follows: First, define the consumer as an agent, which dynamically acquires network states through the real-time transmission and reception of interest and data packets. Next, provide reward information to the agent based on changes in network states. Finally, the agent continuously adjusts the cwnd based on the reward values. The entire process is dynamically synchronized in the Q-table, allowing the agent to learn in real time and make optimal decisions. The detailed process will be explained in <a href="#sec3-electronics-13-04609" class="html-sec">Section 3</a>.</div><div class='html-p'>The remaining structure of this paper is as follows: In <a href="#sec2-electronics-13-04609" class="html-sec">Section 2</a>, relevant work on congestion control protocols in current NDN networks is summarized. <a href="#sec3-electronics-13-04609" class="html-sec">Section 3</a> introduces the overall design concept of the Q-NDN algorithm and details the specific implementation of each function. In <a href="#sec4-electronics-13-04609" class="html-sec">Section 4</a>, the experimental results of Q-NDN are showcased using the ndnSIM [<a href="#B11-electronics-13-04609" class="html-bibr">11</a>] platform. <a href="#sec5-electronics-13-04609" class="html-sec">Section 5</a> provides a summary of the work presented in this paper.</div></section><section id='sec2-electronics-13-04609' type=''><h2 data-nested='1'> 2. Related Work</h2><div class='html-p'>This section summarizes the existing NDN congestion control protocols [<a href="#B12-electronics-13-04609" class="html-bibr">12</a>,<a href="#B13-electronics-13-04609" class="html-bibr">13</a>,<a href="#B14-electronics-13-04609" class="html-bibr">14</a>] and categorizes them into three types: receiver-driven congestion control, hop-by-hop congestion control, and hybrid congestion control.</div><section id='sec2dot1-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 2.1. Receiver-Driven Congestion Control</h4><div class='html-p'>In NDN, receiver-driven congestion control operates similarly to TCP flow control. Consumers control the interest packet sending rate by adjusting their own cwnd, thereby achieving network traffic control. For example, the ICP is a consumer-driven control protocol [<a href="#B7-electronics-13-04609" class="html-bibr">7</a>]. It relies solely on RTT as a congestion signal and uses timeouts to determine packet loss. However, due to the existence of multiple sources, multiple paths, and in-network caching mechanisms in NDN networks, the effectiveness of ICP can be significantly impacted [<a href="#B15-electronics-13-04609" class="html-bibr">15</a>,<a href="#B16-electronics-13-04609" class="html-bibr">16</a>]. To make ICP suitable for multiple paths, the RAAMQ (Remote Adaptive Active Management Queue) protocol [<a href="#B17-electronics-13-04609" class="html-bibr">17</a>] has been proposed. In RAAMQ, consumers maintain independent retransmission timeout values for content on each path and use these values to assess network congestion. Indeed, this individual tracking approach can increase the burden on consumers. Therefore, in addition to consumer-centric methods, there are also approaches that leverage the NDN network’s routing nodes. Routing nodes influence consumers to adjust their cwnd operations through explicit notifications. For example, the ECP protocol proposed by Y. Ren et al. [<a href="#B18-electronics-13-04609" class="html-bibr">18</a>] detects the data queue length within routers. Based on this queue length, it provides specific congestion feedback to consumers. Subsequently, consumers adjust the interest packet transmission rate using the MIAIMD (Multiplicative Increase (MI) in the low-load region, Additive Increase (AI) in the high-load region, and Multiplicative Decrease (MD) in the overload region) algorithm. Additionally, there is the congestion control method based on VCP proposed by Xing S et al. [<a href="#B8-electronics-13-04609" class="html-bibr">8</a>]. This method also starts from the link load, where intermediate nodes mark the congestion state based on the load factor. Consumers adjust the interest packet transmission rate based on the received load factor.</div><div class='html-p'>Receiver-driven congestion control protocols manage the transmission rate of messages to alleviate the workload on NDN routers. However, most existing receiver-driven algorithms rely on fixed rules, and they may not adjust their action strategies promptly. This could lead to a significant number of packet losses, increased latency, and low bandwidth utilization.</div></section><section id='sec2dot2-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 2.2. Hop-by-Hop Congestion Control</h4><div class='html-p'>In addition to receiver-driven congestion control mechanisms, there is also considerable research on hop-by-hop congestion control using the routing nodes in NDN networks. Hop-by-hop algorithms typically use multiple routing nodes on each path to achieve congestion control objectives. A typical hop-by-hop algorithm is HoBHIS, which was proposed by Rozhnova N et al. [<a href="#B9-electronics-13-04609" class="html-bibr">9</a>]. Each routing node controls the traffic in the network through two means: shaping interest packet queues and adjusting the transmission rate. Wang et al. [<a href="#B19-electronics-13-04609" class="html-bibr">19</a>] designed an interest packet shaping algorithm. This algorithm can share link bandwidth without the need for additional information exchange. In addition, there is a different approach from the aforementioned interest packet shaping. Proposed by C. Yi et al., it utilizes Negative ACK (NACK) feedback and a multipath forwarding strategy [<a href="#B20-electronics-13-04609" class="html-bibr">20</a>]. If a certain intermediate node is congested and unable to forward an interest packet to an upstream node, a NACK message is generated and sent back to the downstream node. Subsequently, the downstream node will choose another available interface to forward the interest packet [<a href="#B12-electronics-13-04609" class="html-bibr">12</a>].</div><div class='html-p'>Hop-by-hop congestion control can respond to congestion more promptly than receiver-driven congestion control; however, a pure hop-by-hop mechanism is not sufficient to guarantee optimal control performance. When the receiver’s transmission rate and the bottleneck bandwidth of the link are set as fixed values, the hop-by-hop mechanism cannot dynamically adjust the interest sending rate of the receiver and thus is unable to address congestion issues at the source.</div></section><section id='sec2dot3-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 2.3. Hybrid Congestion Control</h4><div class='html-p'>Receiver-driven congestion control mechanisms have a slower response time when dealing with severe congestion situations, as they need to wait for RTT timeouts. While hop-by-hop congestion control mechanisms can avoid this issue, they face a significant challenge in that they are unable to adjust the consumer’s packet-sending rate at the source. Therefore, a hybrid congestion control mechanism that combines both approaches has been studied. The BCON (Back pressure-based Congestion Avoidance On NDN) mechanism, proposed by Agarwal A et al. [<a href="#B21-electronics-13-04609" class="html-bibr">21</a>], calculates the data packet queue length using Active Queue Management (AQM) and probabilistically drops packets. After packet loss, it sends NACK notifications to the receiver to decrease the sending rate. The MFTP (mobility-first network transport protocol), proposed by Su K et al. [<a href="#B22-electronics-13-04609" class="html-bibr">22</a>], shares similarities with BCON in terms of handling data blocks. It uses a larger RTT as a mild congestion signal and employs BCON information as a severe congestion signal. There is also the CHoPCoP(Chunk-switched Hop Pull Control Protocol) [<a href="#B23-electronics-13-04609" class="html-bibr">23</a>] algorithm based on interest shaping, which adjusts the forwarding rate when the queue length exceeds a set threshold. Additionally, there are other mechanisms such as HR-ICP (hop-by-hop and receiver-driven interest control protocol) [<a href="#B24-electronics-13-04609" class="html-bibr">24</a>], EC-CUBIC (explicit congestion control mechanism of cubic) [<a href="#B25-electronics-13-04609" class="html-bibr">25</a>], PCON (practical congestion control scheme on NDN) [<a href="#B26-electronics-13-04609" class="html-bibr">26</a>], and so on. They obtain network congestion status through intermediate nodes and adjust interest packet sending rates using either the receiver or intermediate nodes.</div><div class='html-p'>Although hybrid congestion control has certain advantages, it still faces some challenges in practical use. Firstly, due to the time lag in the determination of network congestion between the receiver and intermediate nodes, the collaboration between them does not always reach an ideal state in most situations. Secondly, most hybrid congestion control protocols consider the network as congested as soon as the queue length reaches a set threshold. Consumers and routers immediately perform congestion control operations, significantly reducing network bandwidth utilization. Thirdly, hybrid control algorithms using multipath forwarding strategies cannot proactively shift traffic back to the optimal path after congestion resolution; it can only happen passively upon encountering the next congestion event.</div></section><section id='sec2dot4-electronics-13-04609' type='discussion'><h4 class='html-italic' data-nested='2'> 2.4. Discussion</h4><div class='html-p'>The three mentioned control methods primarily adopt the design approach of fixed rules. The major disadvantage of this design based on fixed rules is the inability to promptly adjust congestion control strategies in response to real-time network states. Therefore, an increasing number of researchers are attempting to integrate machine learning and reinforcement learning with network congestion control, making networks more intelligent.</div><div class='html-p'>In the traditional networking domain, Dong M and others proposed the PCC (Performance-oriented Congestion Control) algorithm [<a href="#B27-electronics-13-04609" class="html-bibr">27</a>]. The PCC algorithm enables each sender to continuously observe the relationship between its actions and historical performance. Senders then choose actions that can consistently maintain high network performance. Building upon PCC, Dong M and others introduced the PCC Vivace algorithm [<a href="#B28-electronics-13-04609" class="html-bibr">28</a>]. This algorithm, based on PCC, incorporates online machine learning optimization techniques, providing improved assistance for network performance (throughput, latency, loss). Additionally, there is the QTCP (Q-learning on TCP) algorithm proposed by Li W et al. [<a href="#B10-electronics-13-04609" class="html-bibr">10</a>] and the TCP-RL (TCP Reinforcement Learning) algorithm proposed by Nie X et al. [<a href="#B29-electronics-13-04609" class="html-bibr">29</a>].</div><div class='html-p'>Although these algorithms cannot be directly applied to NDN networks, they provide new insights for many NDN researchers. For example, the CCP (congestion control protocol) algorithm proposed by Narayan A et al. [<a href="#B30-electronics-13-04609" class="html-bibr">30</a>] uses network state information (RTT, reception rate, loss rate, etc.) to control the data transmission rate on multiple data paths, aiming to achieve congestion control. Additionally, there is the ACCP (adaptive congestion control protocol) proposed by Liu T et al. [<a href="#B31-electronics-13-04609" class="html-bibr">31</a>] and the IEACC (intelligent edge-aided congestion control) algorithm proposed by Jiayu Yang et al. [<a href="#B32-electronics-13-04609" class="html-bibr">32</a>], among others. However, considering cost and computational capabilities, implementing deep learning on every router is impractical. Therefore, the DRL-CPP (Deep Reinforcement Learning congestion control protocol) proposed by Dehao Lan et al. [<a href="#B33-electronics-13-04609" class="html-bibr">33</a>] chose to apply reinforcement learning Q-learning to NDN networks. However, DRL-CPP also has some shortcomings. For instance, it focuses solely on the performance of throughput and latency without considering packet loss resulting from congestion as a control objective. Moreover, it has not demonstrated congestion control effectiveness when multiple consumers contend for link resources.</div><div class='html-p'>To address the above issues, this paper proposes the Q-NDN algorithm. This algorithm not only dynamically learns network states to make timely adjustments but also considers packet loss rate, multiple consumer contention, and content popularity in congestion control, making it better suited for NDN networks.</div></section></section><section id='sec3-electronics-13-04609' type=''><h2 data-nested='1'> 3. System Model</h2><section id='sec3dot1-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.1. Overview of Q-NDN</h4><div class='html-p'>Q-NDN treats consumers as agents and defines the control objective as maximizing network throughput while minimizing packet loss rate. In the pursuit of the control objective, consumers acquire five real-time network performance indicators through the sending of interest packets and receiving of data packets. These indicators are used to calculate the utility function value for the current state. Based on the changes in utility function values, consumers are rewarded positively or negatively, guiding them to dynamically adjust the congestion window size (cwnd). The updates for state–action pairs and the immediate rewards after action execution are all recorded and updated in the Q-table. Moreover, the entire process can be carried out online as the network operates, without the need for pre-training. The overall architecture is illustrated in <a href="#electronics-13-04609-f001" class="html-fig">Figure 1</a>.</div><div class='html-p'>Like other typical reinforcement learning problems, Q-NDN will be presented in terms of several aspects: states, actions, rewards, and the training algorithm.</div><ul class='html-bullet'><li><div class='html-p'>States: defined as relevant information obtained from the external NDN network environment. They consist of five parameters: avg_Send (average interest packet sending time), avg_Recv (average data packet reception time), avg_RTT (average round-trip time), Loss (number of packet losses per RTT period), and Popular (popularity of each content).</div></li><li><div class='html-p'>Actions: defined as operational behaviors that the agent can choose. In the context of congestion control, actions can increase, decrease, or maintain the current cwnd size. Additionally, the adjustment magnitude of cwnd is dynamically tuned based on the previous window size and packet loss conditions.</div></li><li><div class='html-p'>Reward: defined as evaluations of the agent’s actions. Initially, weighted calculations are performed on real-time network state information such as bandwidth, RTT, packet loss rate, and popularity. Subsequently, the reward is set based on the changes in the consecutive values of utility functions.</div></li><li><div class='html-p'>Training algorithm: defined as enabling the agent to make optimal decisions at each state. This is the core module of the agent’s learning process, and the chosen training algorithm is Q-learning. State–action updates and reward information are synchronized in real time in the Q-table.</div></li></ul><div class='html-p'>The implementation of Q-NDN depends on the selection and design of the elements mentioned above and will be described in detail in the following sections.</div></section><section id='sec3dot2-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.2. States</h4><div class='html-p'>Q-NDN has chosen the five most representative state variables that effectively reflect the current situation of the NDN network. </div><div class='html-p'><ul class='html-bullet'><li><div class='html-p'>avg_Send: The average inter-arrival time of consecutive interest packets.</div></li><li><div class='html-p'>avg_Recv: The average inter-arrival time of consecutive data packets.</div></li><li><div class='html-p'>avg_RTT: The average data transmission delay, measured in milliseconds. <div class='html-disp-formula-info' id='FD1-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>T</mi> <mi>T</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mstyle scriptlevel="0" displaystyle="true"> <mfrac> <mn>1</mn> <mi>i</mi> </mfrac> </mstyle> <munderover> <mo>∑</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>i</mi> </munderover> <mrow> <mo>(</mo> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>−</mo> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </semantics></math> </div> <div class='l'> <label >(1)</label> </div> </div></div></li><li><div class='html-p'>Loss: Statistics on the number of data packet losses for each RTT period, obtained through a sliding window.</div></li><li><div class='html-p'>Popular: Records the popularity information of the requested content <span class='html-italic'>m</span>. <div class='html-disp-formula-info' id='FD2-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <msubsup> <mi>P</mi> <mrow> <mi>t</mi> </mrow> <mi>m</mi> </msubsup> <mo>=</mo> <mstyle scriptlevel="0" displaystyle="true"> <mfrac> <mrow> <mi>y</mi> <mo>×</mo> <msubsup> <mi>N</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mo>+</mo> <msubsup> <mi>P</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> </mrow> <mrow> <mi>y</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mstyle> </mrow> </semantics></math> </div> <div class='l'> <label >(2)</label> </div> </div><div class='html-disp-formula-info' id='FD3-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <mi>y</mi> <mo>=</mo> <mn>1</mn> <mo>+</mo> <mi>c</mi> <mo>×</mo> <mi>T</mi> </mrow> </semantics></math> </div> <div class='l'> <label >(3)</label> </div> </div></div></li></ul></div><div class="html-p" style="text-indent: 0;"> where <span class='html-italic'>k</span> is the sequence number of the packet. <math display='inline'><semantics> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </semantics></math> represents the reception time of the data packet with sequence number <span class='html-italic'>k</span>. <math display='inline'><semantics> <mrow> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </semantics></math> indicates the sending time of the interest packet with the sequence number <span class='html-italic'>k</span>, and <math display='inline'><semantics> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mo>(</mo> <mi>k</mi> <mo>)</mo> <mo>−</mo> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </semantics></math> represents the RTT of the packet with the sequence number <span class='html-italic'>k</span>. The <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>T</mi> <mi>T</mi> </mrow> </semantics></math> calculates the average of all RTTs from the start of the network operation until now, as shown in Equation (<a href="#FD1-electronics-13-04609" class="html-disp-formula">1</a>). When the agent sends an interest packet, it records the corresponding prefix information and counts the number of requests for content names within each period. The latest popularity of the content is calculated based on the content’s popularity in the previous period and the number of requests in the current period. <math display='inline'><semantics> <msubsup> <mi>P</mi> <mrow> <mi>t</mi> </mrow> <mi>m</mi> </msubsup> </semantics></math> represents the content popularity of <span class='html-italic'>m</span> at time <span class='html-italic'>t</span>. <math display='inline'><semantics> <msubsup> <mi>N</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> </semantics></math> represents the number of requests at time <math display='inline'><semantics> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </semantics></math>, <span class='html-italic'>y</span> is the weight coefficient, and <span class='html-italic'>c</span> is the proportion coefficient of <span class='html-italic'>y</span> and <span class='html-italic'>T</span>, where <span class='html-italic'>T</span> is the popularity update period. As time progresses, the impact of past content popularity diminishes, as expressed in Equations (2) and (3).</div><div class='html-p'>These five state parameters can be viewed as a “congestion state detector” specific to NDN networks. For example, <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </semantics></math> represents the interest packet sending rate from the consumer, and <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> </mrow> </semantics></math> represents the actual receiving rate of data packets. If there is no congestion in the network, ideally, <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </semantics></math> should be equal to <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> </mrow> </semantics></math>. If <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mo><</mo> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> </mrow> </semantics></math>, there is a high probability of congestion, and the consumer should slow down its sending rate. In addition, packet loss is a phenomenon that occurs after network congestion, and <span class='html-italic'>Loss</span> can promptly address packet loss issues. <span class='html-italic'>Popular</span>, serving as a content popularity identifier, is used to adjust the sending rates of different popularity content when multiple consumers compete for resources, maintaining the dynamic balance of the network and avoiding congestion.</div></section><section id='sec3dot3-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.3. Actions</h4><div class='html-p'>The network state evolves continuously during operation, requiring the agent’s actions to be adjusted promptly. Therefore, in defining the action space, we have specified three actions: increasing the cwnd, decreasing the cwnd, and maintaining the current cwnd. This design of action space enables better adaptation to the evolving network environment, allowing the agent to respond flexibly to network congestion situations.</div><div class='html-p'>The execution of actions is divided into two stages. The first stage is the fast growth phase, and the second part is the action adjustment phase. At the beginning of the running of the network, to quickly obtain the bandwidth upper limit, the agent adopts a power function growth approach, as defined in Equation (<a href="#FD4-electronics-13-04609" class="html-disp-formula">4</a>). When the agent receives a packet loss signal for the first time, it enters the second stage. In this stage, adjustments are made based on the previous moment’s cwnd and packet loss situation. Let <math display='inline'><semantics> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </semantics></math> be the window size at time <span class='html-italic'>t</span>, let <math display='inline'><semantics> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </semantics></math> be the window size at time <math display='inline'><semantics> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </semantics></math>, and let <math display='inline'><semantics> <mrow> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mi>P</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </semantics></math> be the packet loss percentage at time <math display='inline'><semantics> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </semantics></math>, <math display='inline'><semantics> <mrow> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mstyle scriptlevel="0" displaystyle="true"> <mfrac> <mrow> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </mfrac> </mstyle> </mrow> </semantics></math>. <math display='inline'><semantics> <mrow> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </semantics></math> refers to the number of packet losses (or bit rate) at time <math display='inline'><semantics> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </semantics></math>. When the agent fully acknowledges all packets within an RTT, it increases the window size <math display='inline'><semantics> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </semantics></math> by <math display='inline'><semantics> <mrow> <mn>1</mn> <mo>/</mo> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </semantics></math>. In the event of packet loss, the agent will reduce <math display='inline'><semantics> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </semantics></math> based on the packet loss rate, as given in Equation (<a href="#FD5-electronics-13-04609" class="html-disp-formula">5</a>). <div class='html-disp-formula-info' id='FD4-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>w</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </semantics></math> </div> <div class='l'> <label >(4)</label> </div> </div><div class='html-disp-formula-info' id='FD5-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>w</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>·</mo> <mfenced separators="" open="[" close="]"> <mrow> <mn>1</mn> <mo>+</mo> <mstyle scriptlevel="0" displaystyle="true"> <mfrac> <mrow> <mn>1</mn> <mo>−</mo> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mi>P</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> <mrow> <mi>w</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </mfrac> </mstyle> <mo>−</mo> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mfenced> </mrow> </semantics></math> </div> <div class='l'> <label >(5)</label> </div> </div></div><div class='html-p'>When the size of cwnd is changed by an action, this change will affect the interest packet sending in the next period, leading directly to changes in <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </semantics></math>, <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> </mrow> </semantics></math>, <math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>T</mi> <mi>T</mi> </mrow> </semantics></math>, <math display='inline'><semantics> <mrow> <mi>L</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> </mrow> </semantics></math> and <math display='inline'><semantics> <mrow> <mi>P</mi> <mi>o</mi> <mi>p</mi> <mi>u</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> </mrow> </semantics></math>.</div></section><section id='sec3dot4-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.4. Sliding Windows</h4><div class='html-p'>In NDN networks, packet loss is a crucial indicator of network congestion. Therefore, reducing the packet loss rate is one of the goals of congestion control. Due to the inherent delay in obtaining packet loss information in NDN networks, packet loss information is only available after the timeout of data packet transmission. This timeout mechanism prevents the agent from rapidly and efficiently obtaining real-time network states. To address this issue, a sliding window mechanism is introduced in NDN to keep track of packet losses within each RTT. The sliding window ensures that network congestion information can be obtained after a single RTT. The basic functionality of the sliding window is illustrated in <a href="#electronics-13-04609-f002" class="html-fig">Figure 2</a> and includes the following.</div><dl class='html-order'><dt id=''>(1)</dt><dd><div class='html-p'>The sliding window marks packets with three labels: “Sent and waiting for acknowledgment”, “Sent and acknowledged” and “Sent and lost”.</div></dd><dt id=''>(2)</dt><dd><div class='html-p'>The acknowledgment in the sliding window is based on the sequence numbers of the data packets;</div></dd><dt id=''>(3)</dt><dd><div class='html-p'>In the sending phase, the sliding window records the sequence numbers of the interest packets that have been sent. At this point, all messages in the sliding window are marked as “Sent and waiting for acknowledgment”.</div></dd><dt id=''>(4)</dt><dd><div class='html-p'>In the receiving phase, the sliding window compares the sequence numbers of received data packets with the sequence numbers of sent interest packets. If the sequence numbers match, it indicates a normal send–receive process. At this point, the successfully received interest packet is recorded as “Sent and acknowledged”.</div></dd><dt id=''>(5)</dt><dd><div class='html-p'>If packet loss occurs, the sliding window marks the interest packet as a “Sent and lost” data packet.</div></dd></dl><div class='html-p'>Under normal circumstances, one RTT period is sufficient to complete the sending of interest packets and the confirmation of data packets. However, when packet loss occurs due to congestion in the NDN network, the sliding window cannot complete the confirmation of data packets within the previous RTT period. Therefore, one can obtain information about packet loss in the network by counting the number of “Sent but acknowledgment lost” interest packets. The packet loss situation for each RTT serves as a component of the network state, providing information for the training algorithm to further learn.</div></section><section id='sec3dot5-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.5. Utility Function and Reward</h4><div class='html-p'>In order to utilize NDN network resources more efficiently, we guide the agent to make optimal decisions through reward information. Here, we have designed two steps to calculate the reward. In the first step, we have designed a utility function that aligns with the congestion control scenario in NDN networks. This function takes incoming throughput as the baseline value for calculation and considers RTT, packet loss, and popularity information as control factors. The utility function serves as an overall evaluation of the current state and prepares for the second step of reward allocation. The defined utility function is represented by Equation (<a href="#FD6-electronics-13-04609" class="html-disp-formula">6</a>):<div class='html-disp-formula-info' id='FD6-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mtable displaystyle="true"> <mtr> <mtd columnalign="right"> <mrow> <mi>U</mi> <mi>t</mi> <mi>i</mi> <mi>l</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mo>=</mo> </mrow> </mtd> <mtd columnalign="left"> <mrow> <mi>α</mi> <mo>×</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mo>(</mo> <mi>i</mi> <mi>n</mi> <mo>_</mo> <mi>t</mi> <mi>h</mi> <mi>r</mi> <mi>o</mi> <mi>u</mi> <mi>g</mi> <mi>h</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd columnalign="right"> <mspace width="1.em"/> </mtd> <mtd columnalign="left"> <mrow> <mo>−</mo> <mi>β</mi> <mo>×</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mo>(</mo> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>T</mi> <mi>T</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd columnalign="right"> <mspace width="1.em"/> </mtd> <mtd columnalign="left"> <mrow> <mo>−</mo> <mi>γ</mi> <mo>×</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mo>(</mo> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd columnalign="right"> <mspace width="1.em"/> </mtd> <mtd columnalign="left"> <mrow> <mo>−</mo> <mi>δ</mi> <mo>×</mo> <msubsup> <mi>P</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> </mrow> </mtd> </mtr> </mtable> </semantics></math> </div> <div class='l'> <label >(6)</label> </div> </div> where <math display='inline'><semantics> <mi>α</mi> </semantics></math> represents the weight of inbound throughput, <math display='inline'><semantics> <mi>β</mi> </semantics></math> represents the weight of RTT, <math display='inline'><semantics> <mi>γ</mi> </semantics></math> represents the weight of packet loss, and <math display='inline'><semantics> <mi>δ</mi> </semantics></math> represents the weight of request content popularity. The term <math display='inline'><semantics> <mrow> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mo>(</mo> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </semantics></math> is responsible for handling the packet loss situation, and the value for packet loss is provided by the sliding window. The term <math display='inline'><semantics> <mrow> <mi>l</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>(</mo> <mi>t</mi> <mo>−</mo> <mn>1</mn> <mo>)</mo> <mo>+</mo> <mn>1</mn> </mrow> </semantics></math> is used to ensure that the logarithmic function is meaningful mathematically even when the packet loss is 0. The <math display='inline'><semantics> <msubsup> <mi>P</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> </semantics></math> term is responsible for identifying the popularity information of content <span class='html-italic'>m</span>. Inbound throughput is used as the baseline for utility function calculation because, in NDN networks, the size of data packets is much larger than that of interest packets, which more effectively reflects the current network state. Multiple network-related parameters are used in the computation of the utility function, allowing the Q algorithm to better adapt to different network environments.</div><div class='html-p'>The second step is reward allocation. The utility function represents the current network state, while cwnd represents the congestion window of the consumer, both of which are crucial for the agent during congestion control. On the basis of fully considering the guiding role of reward, the definition of reward is shown in Equation (7):<div class='html-disp-formula-info' id='FD7-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mrow> <msub> <mi>R</mi> <mi>t</mi> </msub> <mo>=</mo> <mi>ϵ</mi> <mfenced separators="" open="(" close=")"> <mstyle scriptlevel="0" displaystyle="true"> <mfrac> <mrow> <msub> <mi>U</mi> <mi>t</mi> </msub> <mo>−</mo> <msub> <mi>U</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <msub> <mi>U</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>−</mo> <msub> <mi>U</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> </mfrac> </mstyle> </mfenced> <mo>+</mo> <mi>ζ</mi> <mfenced separators="" open="(" close=")"> <mi>c</mi> <mi>w</mi> <mi>n</mi> <msub> <mi>d</mi> <mi>t</mi> </msub> <mo>−</mo> <mi>c</mi> <mi>w</mi> <mi>n</mi> <msub> <mi>d</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mfenced> </mrow> </semantics></math> </div> <div class='l'> <label >(7)</label> </div> </div> where <math display='inline'><semantics> <msub> <mi>R</mi> <mi>t</mi> </msub> </semantics></math> represents the reward received by the agent at time <span class='html-italic'>t</span>. <math display='inline'><semantics> <msub> <mi>U</mi> <mi>t</mi> </msub> </semantics></math> represents the current utility function value, and <math display='inline'><semantics> <msub> <mi>U</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> </semantics></math> and <math display='inline'><semantics> <msub> <mi>U</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </semantics></math>, respectively, represent the maximum and minimum utility values observed by the agent during the network’s operating time. <math display='inline'><semantics> <mrow> <mi>c</mi> <mi>w</mi> <mi>n</mi> <msub> <mi>d</mi> <mi>t</mi> </msub> </mrow> </semantics></math> represents the congestion window of the agent at time t, while <math display='inline'><semantics> <mrow> <mi>c</mi> <mi>w</mi> <mi>n</mi> <msub> <mi>d</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> </mrow> </semantics></math> represents the average value of the congestion window of the agent during the network’s operating period. <math display='inline'><semantics> <mi>ϵ</mi> </semantics></math> represents the weight information of the utility function, and <math display='inline'><semantics> <mi>ζ</mi> </semantics></math> represents the weight information of the congestion window. By adjusting these two hyperparameters, we can control whether the reward focuses more on the network state or the changes in the congestion window.</div></section><section id='sec3dot6-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 3.6. Training Algorithm</h4><div class='html-p'>In reinforcement learning research, the Markov Decision Process (MDP) is commonly represented by a four-tuple <math display='inline'><semantics> <mrow> <mo>(</mo> <mi>S</mi> <mo>,</mo> <mi>A</mi> <mo>,</mo> <mi>R</mi> <mo>,</mo> <mi>T</mi> <mo>)</mo> </mrow> </semantics></math> to describe a reinforcement learning training process. <span class='html-italic'>S</span> represents the set of states, <span class='html-italic'>A</span> represents the set of actions, <span class='html-italic'>R</span> denotes the reward function, and <span class='html-italic'>T</span> represents the state transition matrix. These four components form the core of a reinforcement learning algorithm. The question to consider is how to make the agent more suitable for the NDN network environment based on the four components of the tuple. The training algorithms for the agent can be divided into two major categories: model-based and model-free. If a model-based training algorithm is used in an NDN network, it requires constructing the entire environment and informing the agent about the number of states and the probabilities of each state, which can be challenging in a complex NDN network environment. On the contrary, if a model-free approach is adopted, there is no need to enumerate all the aforementioned information. In most real network scenarios, network states are unknown or, at the very least, not easily quantifiable. Therefore, a model-free approach is more suitable for applications in network environments.</div><div class='html-p'>When choosing a specific training algorithm, DQN, Double DQN, and Dueling DQN are all methods designed for training with continuous states and discrete actions. However, in the NDN network environment, the state space is discrete. At the same time, considering the convergence speed and computational complexity, the classic Q-learning algorithm is chosen to be integrated with the NDN network. Q-learning is a popular Temporal-Difference (TD) method that not only does not require a model but can be incrementally implemented, and it has been successfully applied in many fields.</div><div class='html-p'>Q-learning uses a simple value iteration update process [<a href="#B34-electronics-13-04609" class="html-bibr">34</a>]. Firstly, use <span class='html-italic'>S</span> to represent the state set and <span class='html-italic'>A</span> to represent the action set. Then, combine each state with each action to form state–action pairs <math display='inline'><semantics> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </semantics></math>, and denote the Q-value of each state–action <math display='inline'><semantics> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </semantics></math> as <math display='inline'><semantics> <mrow> <mi>Q</mi> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </semantics></math>. <math display='inline'><semantics> <mrow> <mi>Q</mi> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </semantics></math> reflects the quality of taking action a when the environment is in state <span class='html-italic'>S</span>. The specific update procedure of the algorithm is given by Equation (<a href="#FD8-electronics-13-04609" class="html-disp-formula">8</a>):<div class='html-disp-formula-info' id='FD8-electronics-13-04609'> <div class='f'> <math display='block'><semantics> <mtable displaystyle="true"> <mtr> <mtd columnalign="right"> <mrow> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>A</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>l</mi> <mrow> <mo>[</mo> <msub> <mi>R</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>ρ</mi> <munder> <mo movablelimits="true" form="prefix">max</mo> <mi>A</mi> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <mi>A</mi> <mo>)</mo> </mrow> <mo>−</mo> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>A</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </semantics></math> </div> <div class='l'> <label >(8)</label> </div> </div></div><div class='html-p'><math display='inline'><semantics> <mrow> <mi>Q</mi> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>A</mi> <mrow> <mi>t</mi> <mo>−</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </semantics></math> is the Q-value corresponding to the state at the last moment and the actual action taken. <math display='inline'><semantics> <mrow> <msub> <mo movablelimits="true" form="prefix">max</mo> <mi>A</mi> </msub> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>,</mo> <mi>A</mi> <mo>)</mo> </mrow> </mrow> </semantics></math> represents the maximum Q-value of all possible actions at time <span class='html-italic'>t</span>. <math display='inline'><semantics> <msub> <mi>R</mi> <mi>t</mi> </msub> </semantics></math> represents the instant reward obtained after executing the action. <span class='html-italic'>l</span> represents the learning rate, and <math display='inline'><semantics> <mi>ρ</mi> </semantics></math> is the discount factor. When <math display='inline'><semantics> <mi>ρ</mi> </semantics></math> approaches 0, the agent gives more importance to short-term rewards; conversely, when <math display='inline'><semantics> <mi>ρ</mi> </semantics></math> approaches 1, the agent prioritizes long-term rewards. The core idea of the Q-learning algorithm is to establish a Q-table that records the Q-values for different actions in each state. The Q-values are updated and maintained to guide the agent in making optimal decisions based on these Q-values.</div><div class='html-p'>The execution process of the Q-NDN algorithm follows Algorithm 1. <table class='html-array_table'><tbody ><tr ><td align='left' valign='middle' style='border-top:solid thin;border-bottom:solid thin' class='html-align-left' ><b>Algorithm 1</b> Q-NDN Execution Process.</td></tr><tr ><td align='left' valign='middle' style='border-bottom:solid thin' class='html-align-left' ><b>Require:</b> The consumer receives network state information.<br><b>Ensure:</b> The consumer adjusts the congestion window. <dl class='html-order'><dt id=''>1:</dt><dd><div class='html-p'>Definition of network state information.(<math display='inline'><semantics> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mo>,</mo> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mo>,</mo> <mi>a</mi> <mi>v</mi> <mi>g</mi> <mo>_</mo> <mi>R</mi> <mi>T</mi> <mi>T</mi> <mo>,</mo> <mi>L</mi> <mi>o</mi> <mi>s</mi> <mi>s</mi> <mo>,</mo> <mi>P</mi> <mi>o</mi> <mi>p</mi> <mi>u</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> </mrow> </semantics></math>)</div></dd><dt id=''>2:</dt><dd><div class='html-p'>Initialize the Q-table with an initial value of 0.</div></dd><dt id=''>3:</dt><dd><div class='html-p'><b>for</b> every time priod <span class='html-italic'>t</span> <b>do</b></div></dd><dt id=''>4:</dt><dd><div class='html-p'> The consumer obtains the network state</div></dd><dt id=''>5:</dt><dd><div class='html-p'> Calculate the <math display='inline'><semantics> <mrow> <mi>U</mi> <mi>t</mi> <mi>i</mi> <mi>l</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> </mrow> </semantics></math> based on Equation (<a href="#FD6-electronics-13-04609" class="html-disp-formula">6</a>)</div></dd><dt id=''>6:</dt><dd><div class='html-p'> Calculate the <math display='inline'><semantics> <mrow> <mi>R</mi> <mi>e</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </semantics></math> based on Equation (<a href="#FD7-electronics-13-04609" class="html-disp-formula">7</a>)</div></dd><dt id=''>7:</dt><dd><div class='html-p'> Update the Q-table based on Equation (<a href="#FD8-electronics-13-04609" class="html-disp-formula">8</a>)</div></dd><dt id=''>8:</dt><dd><div class='html-p'> Execute the <math display='inline'><semantics> <mrow> <mi>A</mi> <mi>c</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> </mrow> </semantics></math> based on Q algorithm</div></dd><dt id=''>9:</dt><dd><div class='html-p'> Adjust cwnd based on Equation (<a href="#FD4-electronics-13-04609" class="html-disp-formula">4</a>) and (5)</div></dd><dt id=''>10:</dt><dd><div class='html-p'><b>end for</b></div></dd></dl></td></tr></tbody></table></div></section></section><section id='sec4-electronics-13-04609' type=''><h2 data-nested='1'> 4. Evaluation</h2><section id='sec4dot1-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 4.1. Experimental Platform</h4><div class='html-p'>To better evaluate the performance of Q-NDN, this study chose to simulate the NDN protocol using the ndnSIM experimental platform. ndnSIM is a simulation tool developed based on the NS-3 platform, where it integrates an independent, novel network protocol module within NS-3. In order to accommodate the NDN network, ndnSIM has undergone a rewriting process for data packet formats, forwarding, and management operations.</div></section><section id='sec4dot2-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 4.2. Experiment Settings</h4><div class='html-p'>The execution flowchart of the Q-NDN algorithm is shown in <a href="#electronics-13-04609-f003" class="html-fig">Figure 3</a>. <a href="#electronics-13-04609-f004" class="html-fig">Figure 4</a> represents the basic network topology selected for the experiment, which focuses on demonstrating the learning process of Q-NDN and aims to achieve the maximum network throughput and minimum packet loss rate. <a href="#electronics-13-04609-f005" class="html-fig">Figure 5</a> depicts a dumbbell-shaped topology for a multi-user scenario with competing network resources, intended to illustrate the congestion situation in the network when multiple consumers compete. Through these topologies, a comprehensive evaluation of the performance of the Q-NDN algorithm in different network environments can be conducted, validating its effectiveness in addressing congestion issues.</div><div class='html-p'>The parameters used in the experiment are shown in <a href="#electronics-13-04609-t001" class="html-table">Table 1</a>. The experimental design specifies a link bandwidth of 400 Mbps, a reinforcement learning rate of 0.1 and a discount factor of 0.9, and the total runtime of the experiment is 60 s.</div><div class='html-p'><a href="#electronics-13-04609-f005" class="html-fig">Figure 5</a> depicts the selected competitive network topology, which is a typical dumbbell-shaped network model. It includes two consumers (Con-1 and Con-2) and two producers (Pro-1 and Pro-2). This topology is used to test the performance of Q-NDN in a competitive network environment for congestion control. The parameters for this experiment are summarized in <a href="#electronics-13-04609-t001" class="html-table">Table 1</a>. Con-2 continuously requests content from Pro-2 throughout the experiment, while Con-1, during the period from the 5th second to the 20th second, requests content from Pro-1. By setting the start/stop time for Con-1, we simulate the congestion phenomenon that occurs when there are sudden user requests in the network, making the experiment closer to the real network running environment.</div></section><section id='sec4dot3-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 4.3. Performance Index</h4><div class='html-p'>When evaluating the performance of Q-NDN, the main focus is on metrics such as packet loss rate, RTT, data packet transmission rate, throughput, and popularity.</div><dl class='html-order'><dt id=''>(1)</dt><dd><div class='html-p'>Packet Loss Rate: Packet loss is a common occurrence during network congestion, leading to unstable network conditions and significantly impacting user experience. By monitoring the packet loss rate, it reflects whether the congestion control mechanism is fast and effective within a given time period and if it can promptly address the occurrence of congestion.</div></dd><dt id=''>(2)</dt><dd><div class='html-p'>RTT: RTT is a crucial parameter, especially in real-time applications. A lower RTT indicates better network performance.</div></dd><dt id=''>(3)</dt><dd><div class='html-p'>Data Packet Sending Rate: This value reflects the quality of outbound data packets in the network. A higher value, closer to the link bandwidth, with less jitter indicates better sending efficiency.</div></dd><dt id=''>(4)</dt><dd><div class='html-p'>Throughput: Throughput represents the rate of message transmission in NDN. The closer this value is to the physical (or logical) bandwidth of the link, the higher the efficiency of message transmission.</div></dd></dl></section><section id='sec4dot4-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 4.4. Experimental Results for Basic Network Topology</h4><div class='html-p'>Under the basic network topology, the performance of Q-NDN is compared with ICP [<a href="#B7-electronics-13-04609" class="html-bibr">7</a>] and RAAMQ (Remote Adaptive Active Management Queue) [<a href="#B17-electronics-13-04609" class="html-bibr">17</a>]. The simulation experiment data are obtained through Trace Helper provided by ndnSIM.</div><div class='html-p'>Under the basic network topology, the packet loss rate is shown in <a href="#electronics-13-04609-f006" class="html-fig">Figure 6</a>a. It can be observed that ICP has a relatively high overall packet loss rate, which remains around 55 Mbit/s, reaching its maximum value of 60 Mbit/s at the 40th second. RAAMQ also exhibits a relatively high packet loss rate, but through experimental runs, it is evident that both algorithms have significantly lower packet loss rates compared to ICP. Both algorithms require the exploration of the unknown network at the beginning, resulting in a large number of interest packets being sent into the network. Subsequent data packets contribute to network congestion, leading to noticeable packet loss. ICP and RAAMQ employ periodic algorithms for congestion control in the network. Therefore, throughout the entire experimental execution phase, noticeable packet loss occurs.</div><div class='html-p'>After 778 iterations of learning, the Q algorithm achieved near convergence. Q-NDN exhibits a lower rate of interest packet transmission in the initial stages, resulting in fewer packet losses. It continuously learns network state information, and by the 40th second of the experimental run, the packet loss rate reaches zero. In subsequent runs, no further packet loss is observed. At this point, Q-NDN has completed learning the network environment, and the consumer has found the optimal congestion window size through continuous learning. Therefore, all subsequent data transmissions are based on this optimal size, eliminating the packet loss phenomenon observed in the other two comparative algorithms throughout the experiment.</div><div class='html-p'>As shown in <a href="#electronics-13-04609-f006" class="html-fig">Figure 6</a>b,c, the Q-NDN algorithm outperforms existing solutions in both packet sending rate and throughput. Based on the experimental comparison using the basic network topology, Q-NDN demonstrates excellence in multiple respects. Firstly, it achieves a low packet loss rate, ensuring reliable data transmission. Secondly, Q-NDN maintains a high and stable packet sending rate and throughput, keeping the network performance consistently at a high level. Additionally, Q-NDN has the advantage of fast network convergence, enabling quick adaptation to network changes and adjustment of transmission strategies. Overall, Q-NDN exhibits good performance and stability in various respects.</div></section><section id='sec4dot5-electronics-13-04609' type=''><h4 class='html-italic' data-nested='2'> 4.5. Experimental Results for Competitive Network Topology</h4><div class='html-p'>We set up an abstract multi-consumer competitive topology for the simulation experiment based on the topology provided on the official ndnSIM website. Although the topology is relatively simple, it can effectively demonstrate the comparison between our algorithm and existing work.</div><div class='html-p'><a href="#electronics-13-04609-f007" class="html-fig">Figure 7</a>a depicts the packet loss rates in the competitive network topology. It is evident that both ICP and RAAMQ exhibit higher packet loss rates in the initial stage, consistent with their performance in the basic topology. Starting from the 10th second, when Con-1 requests information from the network, there is competition for the limited link resources between the two consumers. At this point, RAAMQ experiences a higher packet loss rate of 50 Mbit/s. As the experiment progresses, at the 40th second, when the bursty user (Con-1) concludes its data access, both ICP and RAAMQ algorithms show a noticeable decrease in packet loss rates.</div><div class='html-p'>The emergence of bursty user requests often disrupts the normal operation of the network, leading to a sudden increase in network load and resulting in packet loss. Simultaneously, due to the network’s inability to promptly adapt to these sudden load changes, the packet loss rate rises, thereby impacting network performance and user experience. In comparison to <a href="#electronics-13-04609-f006" class="html-fig">Figure 6</a>a, there is a significant increase in wasted network resources because a considerable number of data packets need to be re-sent due to loss, resulting in bandwidth resource waste. Therefore, handling bursty user requests in the network is crucial, and an effective congestion control mechanism can help the network better handle such bursty loads, reduce packet loss rates, and improve network reliability and stability.</div><div class='html-p'>Q-NDN starts from the 10th second, so the bursty user requests did not result in a high packet loss rate. In fact, compared to <a href="#electronics-13-04609-f006" class="html-fig">Figure 6</a>a, the packet loss rate is lower. However, the introduction of competing users causes a sudden impact on the network state, thus extending the overall convergence process. Nevertheless, the packet loss rate is significantly lower than that of the other two algorithms mentioned. From the 40th second onwards, as the bursty user requests conclude, the network resources transition from competitive usage to being exclusively available to a single user. Due to the earlier learning process of the network, the packet loss rate is lower than in <a href="#electronics-13-04609-f006" class="html-fig">Figure 6</a>a, and by the 50th second, the packet loss rate tends toward zero.</div><div class='html-p'>When bursty user requests (Con-1) occur, the primary network resources are often occupied by more popular traffic from Con-2. This can lead to network congestion and performance degradation. To address this issue, Q-NDN adopts an intelligent traffic scheduling strategy based on content popularity. By adjusting the network rate of Pro-2, Q-NDN ensures that Pro-1 has sufficient network resources available. This allows the network to maintain a dynamic balance, effectively meeting various traffic demands, even in the presence of bursty user requests, while ensuring a fair allocation of network resources.</div><div class='html-p'>In <a href="#electronics-13-04609-f007" class="html-fig">Figure 7</a>b, the packet transmission rate within a competitive network topology is illustrated. Within this structure, the transmission rate during the dual-user competition phase remains relatively stable. This highlights Q-NDN’s robust adaptability and stability in competitive network environments, enabling it to handle competition pressures effectively while maintaining efficient data transmission rates.</div><div class='html-p'>Based on the results shown in <a href="#electronics-13-04609-f007" class="html-fig">Figure 7</a>c, it is evident that Q-NDN exhibits a significant advantage in terms of overall network throughput, surpassing the ICP and RAAMQ algorithms in the latter half of the experiment. Even in the presence of multi-user competition, although the network throughput experiences some fluctuations, the overall throughput of Q-NDN remains stable at around 380 Mbps. This demonstrates the robustness and stability of Q-NDN in the face of network resource competition, as well as its potential and advantages in improving overall network performance.</div><div class='html-p'>The high throughput and stability of Q-NDN provide network users with a more reliable guarantee for data transmission, making it promising for future network applications. This further confirms the practical value of Q-NDN as an effective congestion control method.</div><div class='html-p'>Through the experimental comparison with the competitive network topology, Q-NDN demonstrates good performance in a competitive network environment, achieving higher packet-sending rates and network throughput. In this competitive network environment, the competition for network resources is more intense, and user access demands are more diverse and frequent. The excellent performance of Q-NDN not only reflects its adaptability to complex network environments but also showcases its potential and advantages in addressing real-world network usage scenarios. This means that Q-NDN can better meet the various demands of network communication, providing users with a more stable and efficient network experience.</div></section></section><section id='sec5-electronics-13-04609' type='discussion'><h2 data-nested='1'> 5. Discussion</h2><div class='html-p'>Our experiments were conducted in ndnSIM, and considering the potential physical link failures in real-world scenarios, the experimental setup was based on a theoretical and ideal environment to validate the effectiveness of the algorithm. This approach is similar to that used in the related literature [<a href="#B33-electronics-13-04609" class="html-bibr">33</a>]. Q-NDN is not only suitable for NDN network environments but also has the potential to be extended to other user datagram-based and connectionless network protocols. The five state indicators we selected are comprehensive enough to reflect the network status and fully support the objectivity and comprehensiveness of the performance evaluation. Q-NDN employs a reinforcement learning algorithm, treating network congestion control as a learning process. The algorithm learns the network state first, then schedules accordingly, and adjusts the scheduling strategy based on the real-time network state. This dynamic adjustment capability allows it to outperform other traditional algorithms in terms of performance.</div><div class='html-p'>In our experiments, Q-NDN’s performance showed minimal differences compared to other algorithms in certain situations, particularly when the network state was relatively stable or the load was low. In these cases, as the congestion level was low, the performance differences among all algorithms were small, and the advantage of Q-NDN was not particularly apparent.</div><div class='html-p'>As for situations where Q-NDN’s congestion control strategy might fail, these are mainly concentrated in rapidly changing or unpredictable network environments. For example, in the presence of large-scale sudden traffic surges or drastic changes in the network topology, Q-NDN’s reinforcement learning model may fail to adapt to these changes in a timely manner, leading to delayed adjustments in the scheduling strategy and impacting the algorithm’s performance. Moreover, if the network has high latency or a high packet loss rate, Q-NDN may face difficulties, especially during the model training phase, where it may require more time to converge, thus reducing real-time performance.</div></section><section id='sec6-electronics-13-04609' type='conclusions'><h2 data-nested='1'> 6. Conclusions</h2><div class='html-p'>This paper addresses the congestion control problem in named data networking (NDN) by proposing the Q-NDN algorithm based on reinforcement learning. The Q-NDN algorithm sets the goals of maximizing network throughput and minimizing packet loss rate. It utilizes five real-time performance metrics to provide feedback on network states and dynamically adjusts congestion control actions through the Q-learning algorithm. In the basic network topology experiment, Q-NDN, through learning, not only achieves a 0 packet loss rate but also maintains a high packet send rate and throughput consistently around 390 Mbps. In the more realistic scenario of the competitive topology, where multiple users contend for resources, Q-NDN manages to keep both packet send rate and network throughput consistently above 380 Mbps, with a significantly lower packet loss rate compared to ICP and RAAMQ.</div><div class='html-p'>Q-NDNs have certain application prospects in NDN network applications. For example, video content transmission occupies a large amount of network bandwidth and resources. When congestion occurs in the network, it can lead to increased latency, lag, or decreased image quality in video transmission. Q-NDN can dynamically adjust the data transmission rate based on network conditions to adapt to current network conditions and achieve a better video viewing experience.</div></section> </div> <div class="html-back"> <section class='html-notes'><h2 >Author Contributions</h2><div class='html-p'>Conceptualization, R.Z.; Formal analysis, X.Z.; Methodology, L.W.; Supervision, Q.W.; Writing—original draft, B.Z. All authors have read and agreed to the published version of the manuscript.</div></section><section class='html-notes'><h2>Funding</h2><div class='html-p'>This work was supported in part by the National Natural Science Foundation of China (NSFC) under Grants No. 62172142 and No. 62102134, in part by the Leading talents of science and technology in the Central Plain of China under Grants No. 234200510018, in part by the Science and Technology Development Plan of Henan Province under Grant No. 231100220600, in part by the basic research projects in the University of Henan Province under Grant No. 23ZX003, in part by the Science and Technology Research and Development Plan Joint Fund Project in Henan Province under Grant No. 222103810031, in part by the International Science and Technology Cooperation Project in Henan Province under Grant No. 232102521005, in part by the China Postdoctoral Science Foundation No. 2023M741041, in part by the Key Research and Development Project of Henan Province No. 241111221700, in part by the Doctoral Research Startup Fund of Henan University of Science and Technology hosted by Xuhui Zhao, and in part by Longmen Experimental Project No. LMQYTSKT035.</div></section><section class='html-notes'><h2 >Data Availability Statement</h2><div class='html-p'>Data are contained within the article.</div></section><section class='html-notes'><h2 >Conflicts of Interest</h2><div class='html-p'>The authors declare no conflicts of interest.</div></section><section id='html-references_list'><h2>References</h2><ol class='html-xx'><li id='B1-electronics-13-04609' class='html-x' data-content='1.'>Al-Saadi, R.; Armitage, G.; But, J.; Branch, P. A survey of delay-based and hybrid TCP congestion control algorithms. <span class='html-italic'>IEEE Commun. Surv.</span> <b>2019</b>, <span class='html-italic'>21</span>, 3609–3638. [<a href="https://scholar.google.com/scholar_lookup?title=A+survey+of+delay-based+and+hybrid+TCP+congestion+control+algorithms&author=Al-Saadi,+R.&author=Armitage,+G.&author=But,+J.&author=Branch,+P.&publication_year=2019&journal=IEEE+Commun.+Surv.&volume=21&pages=3609%E2%80%933638&doi=10.1109/COMST.2019.2904994" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/COMST.2019.2904994" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B2-electronics-13-04609' class='html-x' data-content='2.'>Saedi, T.; El-Ocla, H. TCP CERL+: Revisiting TCP congestion control in wireless networks with random loss. <span class='html-italic'>Wirel. Netw.</span> <b>2021</b>, <span class='html-italic'>27</span>, 423–440. [<a href="https://scholar.google.com/scholar_lookup?title=TCP+CERL+:+Revisiting+TCP+congestion+control+in+wireless+networks+with+random+loss&author=Saedi,+T.&author=El-Ocla,+H.&publication_year=2021&journal=Wirel.+Netw.&volume=27&pages=423%E2%80%93440&doi=10.1007/s11276-020-02459-0" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1007/s11276-020-02459-0" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B3-electronics-13-04609' class='html-x' data-content='3.'>Rosa, E.C.; Oliveira, S.F. A review on recent NDN FIB implementations for high-speed switches. In <span class='html-italic'>International Conference on Advanced Information Networking and Applications</span>; Springer International Publishing: Cham, Switzerland, 2022; pp. 288–300. [<a href="https://scholar.google.com/scholar_lookup?title=A+review+on+recent+NDN+FIB+implementations+for+high-speed+switches&author=Rosa,+E.C.&author=Oliveira,+S.F.&publication_year=2022&pages=288%E2%80%93300" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B4-electronics-13-04609' class='html-x' data-content='4.'>Karim, F.A.; Aman, A.H.M.; Hassan, R.; Nisar, K.; Uddin, M. Named data networking: A survey on routing strategies. <span class='html-italic'>IEEE Access</span> <b>2022</b>, <span class='html-italic'>10</span>, 90254–90270. [<a href="https://scholar.google.com/scholar_lookup?title=Named+data+networking:+A+survey+on+routing+strategies&author=Karim,+F.A.&author=Aman,+A.H.M.&author=Hassan,+R.&author=Nisar,+K.&author=Uddin,+M.&publication_year=2022&journal=IEEE+Access&volume=10&pages=90254%E2%80%9390270&doi=10.1109/ACCESS.2022.3201083" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/ACCESS.2022.3201083" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B5-electronics-13-04609' class='html-x' data-content='5.'>Nour, B.; Khelifi, H.; Hussain, R.; Mastorakis, S.; Moungla, H. Access control mechanisms in named data networks: A comprehensive survey. <span class='html-italic'>ACM Comput. Surv. (cSuR)</span> <b>2021</b>, <span class='html-italic'>54</span>, 1–35. [<a href="https://scholar.google.com/scholar_lookup?title=Access+control+mechanisms+in+named+data+networks:+A+comprehensive+survey&author=Nour,+B.&author=Khelifi,+H.&author=Hussain,+R.&author=Mastorakis,+S.&author=Moungla,+H.&publication_year=2021&journal=ACM+Comput.+Surv.+(cSuR)&volume=54&pages=1%E2%80%9335&doi=10.1145/3442150" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1145/3442150" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B6-electronics-13-04609' class='html-x' data-content='6.'>Song, S.; Zhang, L. Effective NDN congestion control based on queue size feedback. In Proceedings of the 9th ACM Conference on Information-Centric Networking, Osaka, Japan, 19–21 September 2022; pp. 11–21. [<a href="https://scholar.google.com/scholar_lookup?title=Effective+NDN+congestion+control+based+on+queue+size+feedback&conference=Proceedings+of+the+9th+ACM+Conference+on+Information-Centric+Networking&author=Song,+S.&author=Zhang,+L.&publication_year=2022&pages=11%E2%80%9321" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B7-electronics-13-04609' class='html-x' data-content='7.'>Carofiglio, G.; Gallo, M.; Muscariello, L. ICP: Design and evaluation of an interest control protocol for content-centric networking. In Proceedings of the IEEE INFOCOM Workshops, Orlando, FL, USA, 25–30 March 2012; pp. 304–309. [<a href="https://scholar.google.com/scholar_lookup?title=ICP:+Design+and+evaluation+of+an+interest+control+protocol+for+content-centric+networking&conference=Proceedings+of+the+IEEE+INFOCOM+Workshops&author=Carofiglio,+G.&author=Gallo,+M.&author=Muscariello,+L.&publication_year=2012&pages=304%E2%80%93309" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B8-electronics-13-04609' class='html-x' data-content='8.'>Xing, S.; Yin, B.; Yao, J.; Zhang, H.; Zhai, Q.; Shi, H. A VCP-based congestion control algorithm in named data networking. In Proceedings of the Advanced Information Technology, Electronic and Automation Control Conference (IAEAC), Chongqing, China, 12–14 October 2018; pp. 463–468. [<a href="https://scholar.google.com/scholar_lookup?title=A+VCP-based+congestion+control+algorithm+in+named+data+networking&conference=Proceedings+of+the+Advanced+Information+Technology,+Electronic+and+Automation+Control+Conference+(IAEAC)&author=Xing,+S.&author=Yin,+B.&author=Yao,+J.&author=Zhang,+H.&author=Zhai,+Q.&author=Shi,+H.&publication_year=2018&pages=463%E2%80%93468" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B9-electronics-13-04609' class='html-x' data-content='9.'>Rozhnova, N.; Fdida, S. An effective hop-by-hop interest shaping mechanism for ccn communications. In Proceedings of the 2012 Proceedings IEEE INFOCOM Workshops, Orlando, FL, USA, 25–30 March 2012; pp. 322–327. [<a href="https://scholar.google.com/scholar_lookup?title=An+effective+hop-by-hop+interest+shaping+mechanism+for+ccn+communications&conference=Proceedings+of+the+2012+Proceedings+IEEE+INFOCOM+Workshops&author=Rozhnova,+N.&author=Fdida,+S.&publication_year=2012&pages=322%E2%80%93327" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B10-electronics-13-04609' class='html-xx' data-content='10.'>Li, W.; Zhou, F.; Chowdhury, K.R.; Meleis, W. QTCP: Adaptive congestion control with reinforcement learning. <span class='html-italic'>IEEE Trans. Netw. Sci. Eng.</span> <b>2018</b>, <span class='html-italic'>6</span>, 445–458. [<a href="https://scholar.google.com/scholar_lookup?title=QTCP:+Adaptive+congestion+control+with+reinforcement+learning&author=Li,+W.&author=Zhou,+F.&author=Chowdhury,+K.R.&author=Meleis,+W.&publication_year=2018&journal=IEEE+Trans.+Netw.+Sci.+Eng.&volume=6&pages=445%E2%80%93458&doi=10.1109/TNSE.2018.2835758" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/TNSE.2018.2835758" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B11-electronics-13-04609' class='html-xx' data-content='11.'>Park, S.; Lim, H. ndnSIM based NDN Network Implementation and Performance Evaluation. <span class='html-italic'>J. Korea Inst. Inf. Commun. Eng.</span> <b>2022</b>, <span class='html-italic'>26</span>, 725–730. [<a href="https://scholar.google.com/scholar_lookup?title=ndnSIM+based+NDN+Network+Implementation+and+Performance+Evaluation&author=Park,+S.&author=Lim,+H.&publication_year=2022&journal=J.+Korea+Inst.+Inf.+Commun.+Eng.&volume=26&pages=725%E2%80%93730" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B12-electronics-13-04609' class='html-xx' data-content='12.'>Ren, Y.; Li, J.; Shi, S.; Wang, G.; Zhang, B. Congestion control in named data networking—A survey. <span class='html-italic'>Comput. Commun.</span> <b>2016</b>, <span class='html-italic'>86</span>, 1–11. [<a href="https://scholar.google.com/scholar_lookup?title=Congestion+control+in+named+data+networking%E2%80%94A+survey&author=Ren,+Y.&author=Li,+J.&author=Shi,+S.&author=Wang,+G.&author=Zhang,+B.&publication_year=2016&journal=Comput.+Commun.&volume=86&pages=1%E2%80%9311&doi=10.1016/j.comcom.2016.04.017" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1016/j.comcom.2016.04.017" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B13-electronics-13-04609' class='html-xx' data-content='13.'>Siddiqui, S.; Waqas, A.; Khan, A.; Zareen, F.; Iqbal, M.N. Congestion controlling mechanisms in content centric networking and named data networking—A survey. In Proceedings of the International Conference on Computing, Mathematics and Engineering Technologies (iCoMET), Sukkur, Pakistan, 30–31 January 2019; pp. 1–7. [<a href="https://scholar.google.com/scholar_lookup?title=Congestion+controlling+mechanisms+in+content+centric+networking+and+named+data+networking%E2%80%94A+survey&conference=Proceedings+of+the+International+Conference+on+Computing,+Mathematics+and+Engineering+Technologies+(iCoMET)&author=Siddiqui,+S.&author=Waqas,+A.&author=Khan,+A.&author=Zareen,+F.&author=Iqbal,+M.N.&publication_year=2019&pages=1%E2%80%937" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B14-electronics-13-04609' class='html-xx' data-content='14.'>El-Bakkouchi, A.; Bouayad, A.; Bekkali, M.E. A hop-by-hop congestion control mechanisms in NDN networks—A survey. In Proceedings of the Mediterranean Congress of Telecommunications (CMT), Fez, Morocco, 24–25 October 2019; pp. 1–4. [<a href="https://scholar.google.com/scholar_lookup?title=A+hop-by-hop+congestion+control+mechanisms+in+NDN+networks%E2%80%94A+survey&conference=Proceedings+of+the+Mediterranean+Congress+of+Telecommunications+(CMT)&author=El-Bakkouchi,+A.&author=Bouayad,+A.&author=Bekkali,+M.E.&publication_year=2019&pages=1%E2%80%934" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B15-electronics-13-04609' class='html-xx' data-content='15.'>Tariq, A.; Rehman, R.A.; Kim, B.S. Forwarding strategies in NDN-based wireless networks: A survey. <span class='html-italic'>IEEE Commun. Surv. Tutorials</span> <b>2019</b>, <span class='html-italic'>22</span>, 68–95. [<a href="https://scholar.google.com/scholar_lookup?title=Forwarding+strategies+in+NDN-based+wireless+networks:+A+survey&author=Tariq,+A.&author=Rehman,+R.A.&author=Kim,+B.S.&publication_year=2019&journal=IEEE+Commun.+Surv.+Tutorials&volume=22&pages=68%E2%80%9395&doi=10.1109/COMST.2019.2935795" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/COMST.2019.2935795" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B16-electronics-13-04609' class='html-xx' data-content='16.'>Wu, F.; Yang, W.; Sun, M.; Ren, J.; Lyu, F. Multi-path selection and congestion control for ndn: An online learning approach. <span class='html-italic'>IEEE Trans. Netw. Serv. Manag.</span> <b>2020</b>, <span class='html-italic'>18</span>, 1977–1989. [<a href="https://scholar.google.com/scholar_lookup?title=Multi-path+selection+and+congestion+control+for+ndn:+An+online+learning+approach&author=Wu,+F.&author=Yang,+W.&author=Sun,+M.&author=Ren,+J.&author=Lyu,+F.&publication_year=2020&journal=IEEE+Trans.+Netw.+Serv.+Manag.&volume=18&pages=1977%E2%80%931989&doi=10.1109/TNSM.2020.3044037" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/TNSM.2020.3044037" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B17-electronics-13-04609' class='html-xx' data-content='17.'>Carofiglio, G.; Gallo, M.; Muscariello, L.; Papali, M. Multipath congestion control in content-centric networks. In Proceedings of the IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Turin, Italy, 14–19 April 2013; pp. 363–368. [<a href="https://scholar.google.com/scholar_lookup?title=Multipath+congestion+control+in+content-centric+networks&conference=Proceedings+of+the+IEEE+Conference+on+Computer+Communications+Workshops+(INFOCOM+WKSHPS)&author=Carofiglio,+G.&author=Gallo,+M.&author=Muscariello,+L.&author=Papali,+M.&publication_year=2013&pages=363%E2%80%93368" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B18-electronics-13-04609' class='html-xx' data-content='18.'>Ren, Y.; Li, J.; Shi, S.; Li, L.; Wang, G. An explicit congestion control algorithm for named data net-working. In Proceedings of the 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), San Francisco, CA, USA, 10–14 April 2016; pp. 294–299. [<a href="https://scholar.google.com/scholar_lookup?title=An+explicit+congestion+control+algorithm+for+named+data+net-working&conference=Proceedings+of+the+2016+IEEE+Conference+on+Computer+Communications+Workshops+(INFOCOM+WKSHPS)&author=Ren,+Y.&author=Li,+J.&author=Shi,+S.&author=Li,+L.&author=Wang,+G.&publication_year=2016&pages=294%E2%80%93299" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B19-electronics-13-04609' class='html-xx' data-content='19.'>Wang, Y.; Rozhnova, N.; Narayanan, A.; Oran, D.; Rhee, I. An improved hop-by-hop interest shaper for congestion control in named data networking. <span class='html-italic'>Acm Sigcomm Comput. Commun. Rev.</span> <b>2013</b>, <span class='html-italic'>43</span>, 55–60. [<a href="https://scholar.google.com/scholar_lookup?title=An+improved+hop-by-hop+interest+shaper+for+congestion+control+in+named+data+networking&author=Wang,+Y.&author=Rozhnova,+N.&author=Narayanan,+A.&author=Oran,+D.&author=Rhee,+I.&publication_year=2013&journal=Acm+Sigcomm+Comput.+Commun.+Rev.&volume=43&pages=55%E2%80%9360&doi=10.1145/2534169.2491233" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1145/2534169.2491233" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B20-electronics-13-04609' class='html-xx' data-content='20.'>Yi, C.; Afanasyev, A.; Moiseenko, I.; Wang, L.; Zhang, B.; Zhang, L. A case for stateful forwarding plane. <span class='html-italic'>Comput. Commun.</span> <b>2013</b>, <span class='html-italic'>36</span>, 779–791. [<a href="https://scholar.google.com/scholar_lookup?title=A+case+for+stateful+forwarding+plane&author=Yi,+C.&author=Afanasyev,+A.&author=Moiseenko,+I.&author=Wang,+L.&author=Zhang,+B.&author=Zhang,+L.&publication_year=2013&journal=Comput.+Commun.&volume=36&pages=779%E2%80%93791&doi=10.1016/j.comcom.2013.01.005" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1016/j.comcom.2013.01.005" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B21-electronics-13-04609' class='html-xx' data-content='21.'>Agarwal, A.; Tahiliani, M.P. BCON: Back pressure based congestion avoidance model for Named Data Networks. In Proceedings of the IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), Bangalore, India, 6–9 November 2016; pp. 1–5. [<a href="https://scholar.google.com/scholar_lookup?title=BCON:+Back+pressure+based+congestion+avoidance+model+for+Named+Data+Networks&conference=Proceedings+of+the+IEEE+International+Conference+on+Advanced+Networks+and+Telecommunications+Systems+(ANTS)&author=Agarwal,+A.&author=Tahiliani,+M.P.&publication_year=2016&pages=1%E2%80%935" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B22-electronics-13-04609' class='html-xx' data-content='22.'>Su, K.; Bronzino, F.; Ramakrishnan, K.K.; Raychaudhuri, D. Mftp: A clean-slate transport protocol for the information centric mobilityfirst network. In Proceedings of the 2nd ACM Conference on Information-Centric Networking, San Francisco, CA, USA, 30 September–2 October2015; pp. 127–136. [<a href="https://scholar.google.com/scholar_lookup?title=Mftp:+A+clean-slate+transport+protocol+for+the+information+centric+mobilityfirst+network&conference=Proceedings+of+the+2nd+ACM+Conference+on+Information-Centric+Networking&author=Su,+K.&author=Bronzino,+F.&author=Ramakrishnan,+K.K.&author=Raychaudhuri,+D.&publication_year=2015&pages=127%E2%80%93136" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B23-electronics-13-04609' class='html-xx' data-content='23.'>Zhang, F.; Zhang, Y.; Reznik, A.; Liu, H.; Qian, C.; Xu, C. A transport protocol for content-centric networking with explicit congestion control. In Proceedings of the International Conference on Computer Communication and Networks (ICCCN), Shanghai, China, 4–7 August 2014; pp. 1–8. [<a href="https://scholar.google.com/scholar_lookup?title=A+transport+protocol+for+content-centric+networking+with+explicit+congestion+control&conference=Proceedings+of+the+International+Conference+on+Computer+Communication+and+Networks+(ICCCN)&author=Zhang,+F.&author=Zhang,+Y.&author=Reznik,+A.&author=Liu,+H.&author=Qian,+C.&author=Xu,+C.&publication_year=2014&pages=1%E2%80%938" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B24-electronics-13-04609' class='html-xx' data-content='24.'>Carofiglio, G.; Gallo, M.; Muscariello, L. Joint hop-by-hop and receiver-driven interest control protocol for content-centric networks. <span class='html-italic'>Acm Sigcomm Comput. Commun. Rev.</span> <b>2012</b>, <span class='html-italic'>42</span>, 491–496. [<a href="https://scholar.google.com/scholar_lookup?title=Joint+hop-by-hop+and+receiver-driven+interest+control+protocol+for+content-centric+networks&author=Carofiglio,+G.&author=Gallo,+M.&author=Muscariello,+L.&publication_year=2012&journal=Acm+Sigcomm+Comput.+Commun.+Rev.&volume=42&pages=491%E2%80%93496&doi=10.1145/2377677.2377772" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1145/2377677.2377772" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B25-electronics-13-04609' class='html-xx' data-content='25.'>Liu, Y.; Piao, X.; Hou, C.; Lei, K. A cubic-based explicit congestion control mechanism in named da-ta networking. In Proceedings of the 2016 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), Chengdu, China, 13–15 October 2016; pp. 360–363. [<a href="https://scholar.google.com/scholar_lookup?title=A+cubic-based+explicit+congestion+control+mechanism+in+named+da-ta+networking&conference=Proceedings+of+the+2016+International+Conference+on+Cyber-Enabled+Distributed+Computing+and+Knowledge+Discovery+(CyberC)&author=Liu,+Y.&author=Piao,+X.&author=Hou,+C.&author=Lei,+K.&publication_year=2016&pages=360%E2%80%93363" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B26-electronics-13-04609' class='html-xx' data-content='26.'>Schneider, K.; Yi, C.; Zhang, B.; Zhang, L. A practical congestion control scheme for named data networking. In Proceedings of the 3rd ACM Conference on Information-Centric Networking, Kyoto, Japan, 26–28 September 2016; pp. 21–30. [<a href="https://scholar.google.com/scholar_lookup?title=A+practical+congestion+control+scheme+for+named+data+networking&conference=Proceedings+of+the+3rd+ACM+Conference+on+Information-Centric+Networking&author=Schneider,+K.&author=Yi,+C.&author=Zhang,+B.&author=Zhang,+L.&publication_year=2016&pages=21%E2%80%9330" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B27-electronics-13-04609' class='html-xx' data-content='27.'>Dong, M.; Li, Q.; Zarchy, D.; Godfrey, P.B.; Schapira, M. PCC: Re-architecting congestion control for consistent high performance. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), Oakland, CA, USA, 4–6 May 2015; pp. 395–408. [<a href="https://scholar.google.com/scholar_lookup?title=PCC:+Re-architecting+congestion+control+for+consistent+high+performance&conference=Proceedings+of+the+USENIX+Symposium+on+Networked+Systems+Design+and+Implementation+(NSDI+15)&author=Dong,+M.&author=Li,+Q.&author=Zarchy,+D.&author=Godfrey,+P.B.&author=Schapira,+M.&publication_year=2015&pages=395%E2%80%93408" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B28-electronics-13-04609' class='html-xx' data-content='28.'>Dong, M.; Meng, T.; Zarchy, D.; Arslan, E.; Gilad, Y.; Godfrey, B.; Schapira, M. PCC Vivace: Online-Learning Congestion Control. In Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18), Oakland, CA, USA, 4–6 May 2015; pp. 343–356. [<a href="https://scholar.google.com/scholar_lookup?title=PCC+Vivace:+Online-Learning+Congestion+Control&conference=Proceedings+of+the+15th+USENIX+Symposium+on+Networked+Systems+Design+and+Implementation+(NSDI+18)&author=Dong,+M.&author=Meng,+T.&author=Zarchy,+D.&author=Arslan,+E.&author=Gilad,+Y.&author=Godfrey,+B.&author=Schapira,+M.&publication_year=2015&pages=343%E2%80%93356" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B29-electronics-13-04609' class='html-xx' data-content='29.'>Nie, X.; Zhao, Y.; Li, Z.; Chen, G.; Sui, K.; Zhang, J.; Ye, Z.; Pei, D. Dynamic TCP initial windows and congestion control schemes through reinforcement learning. <span class='html-italic'>IEEE J. Sel. Areas Commun.</span> <b>2019</b>, <span class='html-italic'>37</span>, 1231–1247. [<a href="https://scholar.google.com/scholar_lookup?title=Dynamic+TCP+initial+windows+and+congestion+control+schemes+through+reinforcement+learning&author=Nie,+X.&author=Zhao,+Y.&author=Li,+Z.&author=Chen,+G.&author=Sui,+K.&author=Zhang,+J.&author=Ye,+Z.&author=Pei,+D.&publication_year=2019&journal=IEEE+J.+Sel.+Areas+Commun.&volume=37&pages=1231%E2%80%931247&doi=10.1109/JSAC.2019.2904350" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/JSAC.2019.2904350" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B30-electronics-13-04609' class='html-xx' data-content='30.'>Narayan, A.; Cangialosi, F.; Raghavan, D.; Goyal, P.; Narayana, S.; Mittal, R.; Alizadeh, M.; Balakrishnan, H. Restructuring endpoint congestion control. In Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication, Budapest, Hungary, 20–25 August 2018; pp. 30–43. [<a href="https://scholar.google.com/scholar_lookup?title=Restructuring+endpoint+congestion+control&conference=Proceedings+of+the+2018+Conference+of+the+ACM+Special+Interest+Group+on+Data+Communication&author=Narayan,+A.&author=Cangialosi,+F.&author=Raghavan,+D.&author=Goyal,+P.&author=Narayana,+S.&author=Mittal,+R.&author=Alizadeh,+M.&author=Balakrishnan,+H.&publication_year=2018&pages=30%E2%80%9343" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B31-electronics-13-04609' class='html-xx' data-content='31.'>Liu, T.; Zhang, M.; Zhu, J.; Zheng, R.; Liu, R.; Wu, Q. ACCP: Adaptive congestion control protocol in named data networking based on deep learning. <span class='html-italic'>Neural Comput. Appl.</span> <b>2019</b>, <span class='html-italic'>31</span>, 4675–4683. [<a href="https://scholar.google.com/scholar_lookup?title=ACCP:+Adaptive+congestion+control+protocol+in+named+data+networking+based+on+deep+learning&author=Liu,+T.&author=Zhang,+M.&author=Zhu,+J.&author=Zheng,+R.&author=Liu,+R.&author=Wu,+Q.&publication_year=2019&journal=Neural+Comput.+Appl.&volume=31&pages=4675%E2%80%934683&doi=10.1007/s00521-018-3408-2" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1007/s00521-018-3408-2" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B32-electronics-13-04609' class='html-xx' data-content='32.'>Yang, J.; Chen, Y.; Xue, K.; Han, J.; Li, J.; Wei, D.S.L.; Sun, Q.; Lu, J. IEACC: An intelligent edge-aided congestion control scheme for named data networking with deep reinforcement learning. <span class='html-italic'>IEEE-Trans. Netw. Serv. Manag.</span> <b>2022</b>, <span class='html-italic'>19</span>, 4932–4947. [<a href="https://scholar.google.com/scholar_lookup?title=IEACC:+An+intelligent+edge-aided+congestion+control+scheme+for+named+data+networking+with+deep+reinforcement+learning&author=Yang,+J.&author=Chen,+Y.&author=Xue,+K.&author=Han,+J.&author=Li,+J.&author=Wei,+D.S.L.&author=Sun,+Q.&author=Lu,+J.&publication_year=2022&journal=IEEE-Trans.+Netw.+Serv.+Manag.&volume=19&pages=4932%E2%80%934947&doi=10.1109/TNSM.2022.3196344" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1109/TNSM.2022.3196344" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B33-electronics-13-04609' class='html-xx' data-content='33.'>Lan, D.; Tan, X.; Lv, J.; Jin, Y.; Yang, J. A deep reinforcement learning based congestion control mechanism for NDN. In Proceedings of the IEEE International Conference on Communications (ICC), Shanghai, China, 20–24 May 2019; pp. 1–7. [<a href="https://scholar.google.com/scholar_lookup?title=A+deep+reinforcement+learning+based+congestion+control+mechanism+for+NDN&conference=Proceedings+of+the+IEEE+International+Conference+on+Communications+(ICC)&author=Lan,+D.&author=Tan,+X.&author=Lv,+J.&author=Jin,+Y.&author=Yang,+J.&publication_year=2019&pages=1%E2%80%937" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B34-electronics-13-04609' class='html-xx' data-content='34.'>Clifton, J.; Laber, E. Q-learning: Theory and applications. <span class='html-italic'>Annu. Rev. Stat. Its Appl.</span> <b>2020</b>, <span class='html-italic'>7</span>, 279–301. [<a href="https://scholar.google.com/scholar_lookup?title=Q-learning:+Theory+and+applications&author=Clifton,+J.&author=Laber,+E.&publication_year=2020&journal=Annu.+Rev.+Stat.+Its+Appl.&volume=7&pages=279%E2%80%93301&doi=10.1146/annurev-statistics-031219-041220" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://doi.org/10.1146/annurev-statistics-031219-041220" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li></ol></section><section id='FiguresandTable' type='display-objects'><div class="html-fig-wrap" id="electronics-13-04609-f001"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f001"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png" alt="Electronics 13 04609 g001" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f001"></a> </div> </div> <div class="html-fig_description"> <b>Figure 1.</b> Architecture of Q-NDN. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f001"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f001"> <div class="html-caption"> <b>Figure 1.</b> Architecture of Q-NDN.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png" alt="Electronics 13 04609 g001" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g001.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f002"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f002"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png" alt="Electronics 13 04609 g002" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f002"></a> </div> </div> <div class="html-fig_description"> <b>Figure 2.</b> Basic functionality of the sliding window. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f002"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f002"> <div class="html-caption"> <b>Figure 2.</b> Basic functionality of the sliding window.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png" alt="Electronics 13 04609 g002" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g002.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f003"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f003"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png" alt="Electronics 13 04609 g003" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f003"></a> </div> </div> <div class="html-fig_description"> <b>Figure 3.</b> Q-NDN algorithm process. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f003"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f003"> <div class="html-caption"> <b>Figure 3.</b> Q-NDN algorithm process.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png" alt="Electronics 13 04609 g003" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g003.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f004"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f004"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png" alt="Electronics 13 04609 g004" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f004"></a> </div> </div> <div class="html-fig_description"> <b>Figure 4.</b> Basic network topology. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f004"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f004"> <div class="html-caption"> <b>Figure 4.</b> Basic network topology.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png" alt="Electronics 13 04609 g004" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g004.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f005"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f005"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png" alt="Electronics 13 04609 g005" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f005"></a> </div> </div> <div class="html-fig_description"> <b>Figure 5.</b> Competitive network topology. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f005"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f005"> <div class="html-caption"> <b>Figure 5.</b> Competitive network topology.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png" alt="Electronics 13 04609 g005" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g005.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f006"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f006"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png" alt="Electronics 13 04609 g006" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f006"></a> </div> </div> <div class="html-fig_description"> <b>Figure 6.</b> Experimental results for basic network topology. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f006"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f006"> <div class="html-caption"> <b>Figure 6.</b> Experimental results for basic network topology.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png" alt="Electronics 13 04609 g006" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g006.png" /></div> </div> <div class="html-fig-wrap" id="electronics-13-04609-f007"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f007"> <img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png" alt="Electronics 13 04609 g007" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007-550.jpg" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#fig_body_display_electronics-13-04609-f007"></a> </div> </div> <div class="html-fig_description"> <b>Figure 7.</b> Experimental results for competitive network topology. <!-- <p><a class="html-figpopup" href="#fig_body_display_electronics-13-04609-f007"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id="fig_body_display_electronics-13-04609-f007"> <div class="html-caption"> <b>Figure 7.</b> Experimental results for competitive network topology.</div> <div class="html-img"><img data-large="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png" data-original="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png" alt="Electronics 13 04609 g007" data-lsrc="/electronics/electronics-13-04609/article_deploy/html/images/electronics-13-04609-g007.png" /></div> </div> <div class="html-table-wrap" id="electronics-13-04609-t001"> <div class="html-table_wrap_td"> <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href='#table_body_display_electronics-13-04609-t001'> <img data-lsrc="https://pub.mdpi-res.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2079-9292/13/23/4609/display" href="#table_body_display_electronics-13-04609-t001"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 1.</b> Experiment parameters. </div> </div> <div class="html-table_show mfp-hide " id="table_body_display_electronics-13-04609-t001"> <div class="html-caption"><b>Table 1.</b> Experiment parameters.</div> <table > <thead ><tr ><th align='left' valign='middle' style='border-bottom:solid thin;border-top:solid thin' class='html-align-left' >Network Parameter</th><th align='left' valign='middle' style='border-bottom:solid thin;border-top:solid thin' class='html-align-left' >Set Value</th></tr></thead><tbody ><tr ><td align='left' valign='middle' class='html-align-left' >Emulator version</td><td align='left' valign='middle' class='html-align-left' >nsnSIM 2.7</td></tr><tr ><td align='left' valign='middle' class='html-align-left' >Link bandwidth</td><td align='left' valign='middle' class='html-align-left' >400 Mbps</td></tr><tr ><td align='left' valign='middle' class='html-align-left' >Link delay</td><td align='left' valign='middle' class='html-align-left' >10 ms</td></tr><tr ><td align='left' valign='middle' class='html-align-left' >Learning rate</td><td align='left' valign='middle' class='html-align-left' >0.1</td></tr><tr ><td align='left' valign='middle' class='html-align-left' >Discount factor</td><td align='left' valign='middle' class='html-align-left' >0.9</td></tr><tr ><td align='left' valign='middle' class='html-align-left' >RTT</td><td align='left' valign='middle' class='html-align-left' >100 ms∼144 ms</td></tr><tr ><td align='left' valign='middle' style='border-bottom:solid thin' class='html-align-left' >Running time</td><td align='left' valign='middle' style='border-bottom:solid thin' class='html-align-left' >60 s</td></tr></tbody> </table> </div> </section><section class='html-fn_group'><table><tr id=''><td></td><td><div class='html-p'><b>Disclaimer/Publisher’s Note:</b> The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.</div></td></tr></table></section> <section id="html-copyright"><br>© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="noopener noreferrer">https://creativecommons.org/licenses/by/4.0/</a>).</section> </div> </div> <div class="additional-content"> <h2><a name="cite"></a>Share and Cite</h2> <div class="social-media-links" style="text-align: left;"> <a href="/cdn-cgi/l/email-protection#576871363a276c2422353d3234236a1125383a7265671a13071e72641672656772656516726567053234323e2132257a13253e21323972656719363a3233726567133623367265671932232038253c3e393072656772656f19131972656e726567143839303224233e38397265671438392325383b7265671a32233f38337265671536243233726567383972656705323e3931382534323a3239237265671b323625393e393071262238236c71363a276c3538332e6a3f232327246d7878202020793a33273e7934383a78646762646e626572641672671672671616726567053234323e2132257a13253e21323972656719363a3233726567133623367265671932232038253c3e393072656772656f19131972656e726567143839303224233e38397265671438392325383b7265671a32233f38337265671536243233726567383972656705323e3931382534323a3239237265671b323625393e3930726716726716163524232536342372641672656719363a3233726567333623367265673932232038253c3e393072656772656f19131972656e7265673e2472656736726567393821323b7265673932232038253c3e393072656727362536333e303a726567343f362536342332253e2d3233726567352e7265673e397a3932232038253c7265673436343f3e3930726514726567253234323e2132257a33253e21323972656734383a3a22393e3436233e38397265147265673639337265673a223b233e7a2438222534327265147265673a223b233e7a2736233f72656733362336726567253223253e3221363b726514726567203f3e343f7265672738243224726567393220726567343f363b3b3239303224726567313825726567343839303224233e38397265673438392325383b79726567122f3e24233e39307265672038253c7265673f36247265673b362530323b2e726567313834222432337265673839726567253234323e2132257a33253e2132397265673a32343f36393e243a2479726567132232726567233872656733323b362e247265673e39726567383523363e393e39307265673932232038253c7265673438392325383b7265673e393138253a36233e383972656772656f233e3a32382223247265147265671916141c2472656e726567203e233f3e3972656719131972651472656734383924223a322524726567362532726567223936353b327265672338726567363434322424726567233f327265673932232038253c726567343839303224233e38397265672423362322247265673125383a726567233f3e247265673e393138253a36233e38397265673e3972656736726567233e3a323b2e7265673a363939322579726567033872656736333325322424726567233f327265673e24242232247265673635382132726514726567233f3e24726567273627322572656734383a353e393224726567233f32726567067a3b323625393e3930726567363b3038253e233f3a726567203e233f726567233f327265671913197265673625343f3e233234232225327265147265672725382738243e3930726567067a191319797265671e39726567067a19131972651472656734383924223a322524726567343639726567332e39363a3e34363b3b2e72656736333d222423726567233f32726567343839303224233e3839726567203e3933382072656772656f3420393372656e726567233f253822303f726567233f327265672532363b7a233e3a327265673a38393e2338253e393072656738317265673932232038253c7265672423362322247265147265673b3221322536303e3930726567233f32726567067a3b323625393e3930726567363b3038253e233f3a72651472656736343f3e32213e3930726567362223383a36233e34726567343839303224233e38397265673438392325383b726567313825726567233f327265671913197265673625343f3e23323423222532797265671633333e233e3839363b3b2e726514726567233f3e2472656727362732257265673e39232538332234322472656734383923323923726567273827223b36253e232e7a353624323372656723253631313e3472656724343f3233223b3e39307265673138257265673a223b233e7a222432257265672434323936253e3824203f3e343f72656736333d22242324726567233f3272656723253639243a3e24243e38397265672536233224726567383172656734383923323923726567203e233f726567333e31313225323923726567273827223b36253e232e7265673b3221323b2472656723387265673a363e3923363e3972656736726567332e39363a3e3472656735363b363934327265673e39726567233f327265673932232038253c79726567033f32726567322f2732253e3a323923363b726567253224223b2324726567243f3820726567233f3623726567067a191319726567343639726567343839213225303272656726223e343c3b2e7265147265673a363c3272656731223b3b726567222432726567383172656735363933203e33233f7265672532243822253432247265147265673639337265673c323227726567233f327265672736343c32237265673b382424726567253623327265672338726567677265673e39726567233f327265673536243e347265673932232038253c0c7979790a" title="Email"> <i class="fa fa-envelope-square" style="font-size: 30px;"></i> </a> <a href="https://twitter.com/intent/tweet?text=A+Receiver-Driven+Named+Data+Networking+%28NDN%29+Congestion+Control+Method+Based+on+Reinforcement+Learning&hashtags=mdpielectronics&url=https%3A%2F%2Fwww.mdpi.com%2F3053952&via=electronicsMDPI" onclick="windowOpen(this.href,600,800); return false" target="_blank" rel="noopener noreferrer"> <i class="fa fa-twitter-x-square" style="font-size: 30px;"></i> </a> <a href=" http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.mdpi.com%2F3053952&title=A%20Receiver-Driven%20Named%20Data%20Networking%20%28NDN%29%20Congestion%20Control%20Method%20Based%20on%20Reinforcement%20Learning%26source%3Dhttps%3A%2F%2Fwww.mdpi.com%26summary%3DNamed%20data%20networking%20%28NDN%29%20is%20a%20novel%20networking%20paradigm%20characterized%20by%20in-network%20caching%2C%20receiver-driven%20communication%2C%20and%20multi-source%2C%20multi-path%20data%20retrieval%2C%20which%20poses%20new%20challenges%20for%20congestion%20control.%20Existing%20work%20has%20largely%20%5B...%5D" onclick="windowOpen(this.href,600,800); return false" title="LinkedIn" target="_blank" rel="noopener noreferrer"> <i class="fa fa-linkedin-square" style="font-size: 30px;"></i> </a> <a href="https://www.facebook.com/sharer.php?u=https://www.mdpi.com/3053952" title="facebook" target="_blank" rel="noopener noreferrer"> <i class="fa fa-facebook-square" style="font-size: 30px;"></i> </a> <a href="javascript:void(0);" title="Wechat" data-reveal-id="weixin-share-modal"> <i class="fa fa-weixin-square" style="font-size: 26px;"></i> </a> <a href="http://www.reddit.com/submit?url=https://www.mdpi.com/3053952" title="Reddit" target="_blank" rel="noopener noreferrer"> <i class="fa fa-reddit-square" style="font-size: 30px;"></i> </a> <a href="http://www.mendeley.com/import/?url=https://www.mdpi.com/3053952" title="Mendeley" target="_blank" rel="noopener noreferrer"> <i class="fa fa-mendeley-square" style="font-size: 30px;"></i> </a> </div> <div class="in-tab" style="padding-top: 0px!important; margin-top: 15px;"> <div><b>MDPI and ACS Style</b></div> <p> Zheng, R.; Zhang, B.; Zhao, X.; Wang, L.; Wu, Q. A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em> <b>2024</b>, <em>13</em>, 4609. https://doi.org/10.3390/electronics13234609 </p> <div style="display: block"> <b>AMA Style</b><br> <p> Zheng R, Zhang B, Zhao X, Wang L, Wu Q. A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em>. 2024; 13(23):4609. https://doi.org/10.3390/electronics13234609 </p> <b>Chicago/Turabian Style</b><br> <p> Zheng, Ruijuan, Bohan Zhang, Xuhui Zhao, Lin Wang, and Qingtao Wu. 2024. "A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning" <em>Electronics</em> 13, no. 23: 4609. https://doi.org/10.3390/electronics13234609 </p> <b>APA Style</b><br> <p> Zheng, R., Zhang, B., Zhao, X., Wang, L., & Wu, Q. (2024). A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em>, <em>13</em>(23), 4609. https://doi.org/10.3390/electronics13234609 </p> </div> </div> <div class="info-box no-margin"> Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details <a target="_blank" href="https://www.mdpi.com/about/announcements/784">here</a>. </div> <h2><a name="metrics"></a>Article Metrics</h2> <div class="row"> <div class="small-12 columns"> <div id="loaded_cite_count" style="display:none">No</div> <div id="framed_div_cited_count" class="in-tab" style="display: none; overflow: auto;"></div> <div id="loaded" style="display:none">No</div> <div id="framed_div" class="in-tab" style="display: none; margin-top: 10px;"></div> </div> <div class="small-12 columns"> <div id="article_stats_div" style="display: none; margin-bottom: 1em;"> <h3>Article Access Statistics</h3> <div id="article_stats_swf" ></div> For more information on the journal statistics, click <a href="/journal/electronics/stats">here</a>. <div class="info-box"> Multiple requests from the same IP address are counted as one view. </div> </div> </div> </div> </div> </div> </article> </div> </div></div> <div class="webpymol-controls webpymol-controls-template" style="margin-top: 10px; display: none;"> <a class="bzoom">Zoom</a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="borient"> Orient </a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="blines"> As Lines </a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="bsticks"> As Sticks </a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="bcartoon"> As Cartoon </a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="bsurface"> As Surface </a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="bprevscene">Previous Scene</a> <span style="display: inline-block; margin-left: 5px; margin-right: 5px;">|</span> <a class="bnextscene">Next Scene</a> </div> <div id="scifeed-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> </div> <div id="recommended-articles-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> </div> <div id="author-biographies-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> </div> <div id="cite-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="Captcha" aria-hidden="true" role="dialog"> <div class="row"> <div class="small-12 columns"> <h2 style="margin: 0;">Cite</h2> </div> <div class="small-12 columns"> <!-- BibTeX --> <form style="margin:0; padding:0; display:inline;" name="export-bibtex" method="POST" action="/export"> <input type="hidden" name="articles_ids[]" value="1526976"> <input type="hidden" name="export_format_top" value="bibtex"> <input type="hidden" name="export_submit_top" value=""> </form> <!-- EndNote --> <form style="margin:0; padding:0; display:inline;" name="export-endnote" method="POST" action="/export"> <input type="hidden" name="articles_ids[]" value="1526976"> <input type="hidden" name="export_format_top" value="endnote_no_abstract"> <input type="hidden" name="export_submit_top" value=""> </form> <!-- RIS --> <form style="margin:0; padding:0; display:inline;" name="export-ris" method="POST" action="/export"> <input type="hidden" name="articles_ids[]" value="1526976"> <input type="hidden" name="export_format_top" value="ris"> <input type="hidden" name="export_submit_top" value=""> </form> <div> Export citation file: <a href="javascript:window.document.forms['export-bibtex'].submit()">BibTeX</a> | <a href="javascript:window.document.forms['export-endnote'].submit()">EndNote</a> | <a href="javascript:window.document.forms['export-ris'].submit()">RIS</a> </div> </div> <div class="small-12 columns"> <div class="in-tab"> <div><b>MDPI and ACS Style</b></div> <p> Zheng, R.; Zhang, B.; Zhao, X.; Wang, L.; Wu, Q. A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em> <b>2024</b>, <em>13</em>, 4609. https://doi.org/10.3390/electronics13234609 </p> <div style="display: block"> <b>AMA Style</b><br> <p> Zheng R, Zhang B, Zhao X, Wang L, Wu Q. A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em>. 2024; 13(23):4609. https://doi.org/10.3390/electronics13234609 </p> <b>Chicago/Turabian Style</b><br> <p> Zheng, Ruijuan, Bohan Zhang, Xuhui Zhao, Lin Wang, and Qingtao Wu. 2024. "A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning" <em>Electronics</em> 13, no. 23: 4609. https://doi.org/10.3390/electronics13234609 </p> <b>APA Style</b><br> <p> Zheng, R., Zhang, B., Zhao, X., Wang, L., & Wu, Q. (2024). A Receiver-Driven Named Data Networking (NDN) Congestion Control Method Based on Reinforcement Learning. <em>Electronics</em>, <em>13</em>(23), 4609. https://doi.org/10.3390/electronics13234609 </p> </div> </div> <div class="info-box no-margin"> Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details <a target="_blank" href="https://www.mdpi.com/about/announcements/784">here</a>. </div> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> </div> </div> </div> </div> </section> <div id="footer"> <div class="journal-info"> <span> <em><a class="Var_JournalInfo" href="/journal/electronics">Electronics</a></em>, EISSN 2079-9292, Published by MDPI </span> <div class="large-right"> <span> <a href="/rss/journal/electronics" class="rss-link">RSS</a> </span> <span> <a href="/journal/electronics/toc-alert">Content Alert</a> </span> </div> </div> <div class="row full-width footer-links" data-equalizer="footer" data-equalizer-mq="small"> <div class="large-2 large-push-4 medium-3 small-6 columns" data-equalizer-watch="footer"> <h3> Further Information </h3> <a href="/apc"> Article Processing Charges </a> <a href="/about/payment"> Pay an Invoice </a> <a href="/openaccess"> Open Access Policy </a> <a href="/about/contact"> Contact MDPI </a> <a href="https://careers.mdpi.com" target="_blank" rel="noopener noreferrer"> Jobs at MDPI </a> </div> <div class="large-2 large-push-4 medium-3 small-6 columns" data-equalizer-watch="footer"> <h3> Guidelines </h3> <a href="/authors"> For Authors </a> <a href="/reviewers"> For Reviewers </a> <a href="/editors"> For Editors </a> <a href="/librarians"> For Librarians </a> <a href="/publishing_services"> For Publishers </a> <a href="/societies"> For Societies </a> <a href="/conference_organizers"> For Conference Organizers </a> </div> <div class="large-2 large-push-4 medium-3 small-6 columns"> <h3> MDPI Initiatives </h3> <a href="https://sciforum.net" target="_blank" rel="noopener noreferrer"> Sciforum </a> <a href="https://www.mdpi.com/books" target="_blank" rel="noopener noreferrer"> MDPI Books </a> <a href="https://www.preprints.org" target="_blank" rel="noopener noreferrer"> Preprints.org </a> <a href="https://www.scilit.net" target="_blank" rel="noopener noreferrer"> Scilit </a> <a href="https://sciprofiles.com?utm_source=mpdi.com&utm_medium=bottom_menu&utm_campaign=initiative" target="_blank" rel="noopener noreferrer"> SciProfiles </a> <a href="https://encyclopedia.pub" target="_blank" rel="noopener noreferrer"> Encyclopedia </a> <a href="https://jams.pub" target="_blank" rel="noopener noreferrer"> JAMS </a> <a href="/about/proceedings"> Proceedings Series </a> </div> <div class="large-2 large-push-4 medium-3 small-6 right-border-large-without columns UA_FooterFollowMDPI"> <h3> Follow MDPI </h3> <a href="https://www.linkedin.com/company/mdpi" target="_blank" rel="noopener noreferrer"> LinkedIn </a> <a href="https://www.facebook.com/MDPIOpenAccessPublishing" target="_blank" rel="noopener noreferrer"> Facebook </a> <a href="https://twitter.com/MDPIOpenAccess" target="_blank" rel="noopener noreferrer"> Twitter </a> </div> <div id="footer-subscribe" class="large-4 large-pull-8 medium-12 small-12 left-border-large columns"> <div class="footer-subscribe__container"> <img class="show-for-large-up" src="https://pub.mdpi-res.com/img/design/mdpi-pub-logo-white-small.png?71d18e5f805839ab?1732286508" alt="MDPI" title="MDPI Open Access Journals" style="height: 50px; margin-bottom: 10px;"> <form id="newsletter" method="POST" action="/subscribe"> <p> Subscribe to receive issue release notifications and newsletters from MDPI journals </p> <select multiple id="newsletter-journal" class="foundation-select" name="journals[]"> <option value="acoustics">Acoustics</option> <option value="amh">Acta Microbiologica Hellenica</option> <option value="actuators">Actuators</option> <option value="admsci">Administrative Sciences</option> <option value="adolescents">Adolescents</option> <option value="arm">Advances in Respiratory Medicine</option> <option value="aerobiology">Aerobiology</option> <option value="aerospace">Aerospace</option> <option value="agriculture">Agriculture</option> <option value="agriengineering">AgriEngineering</option> <option value="agrochemicals">Agrochemicals</option> <option value="agronomy">Agronomy</option> <option value="ai">AI</option> <option value="air">Air</option> <option value="algorithms">Algorithms</option> <option value="allergies">Allergies</option> <option value="alloys">Alloys</option> <option value="analytica">Analytica</option> <option value="analytics">Analytics</option> <option value="anatomia">Anatomia</option> <option value="anesthres">Anesthesia Research</option> <option value="animals">Animals</option> <option value="antibiotics">Antibiotics</option> <option value="antibodies">Antibodies</option> <option value="antioxidants">Antioxidants</option> <option value="applbiosci">Applied Biosciences</option> <option value="applmech">Applied Mechanics</option> <option value="applmicrobiol">Applied Microbiology</option> <option value="applnano">Applied Nano</option> <option value="applsci">Applied Sciences</option> <option value="asi">Applied System Innovation</option> <option value="appliedchem">AppliedChem</option> <option value="appliedmath">AppliedMath</option> <option value="aquacj">Aquaculture Journal</option> <option value="architecture">Architecture</option> <option value="arthropoda">Arthropoda</option> <option value="arts">Arts</option> <option value="astronomy">Astronomy</option> <option value="atmosphere">Atmosphere</option> <option value="atoms">Atoms</option> <option value="audiolres">Audiology Research</option> <option value="automation">Automation</option> <option value="axioms">Axioms</option> <option value="bacteria">Bacteria</option> <option value="batteries">Batteries</option> <option value="behavsci">Behavioral Sciences</option> <option value="beverages">Beverages</option> <option value="BDCC">Big Data and Cognitive Computing</option> <option value="biochem">BioChem</option> <option value="bioengineering">Bioengineering</option> <option value="biologics">Biologics</option> <option value="biology">Biology</option> <option value="blsf">Biology and Life Sciences Forum</option> <option value="biomass">Biomass</option> <option value="biomechanics">Biomechanics</option> <option value="biomed">BioMed</option> <option value="biomedicines">Biomedicines</option> <option value="biomedinformatics">BioMedInformatics</option> <option value="biomimetics">Biomimetics</option> <option value="biomolecules">Biomolecules</option> <option value="biophysica">Biophysica</option> <option value="biosensors">Biosensors</option> <option value="biotech">BioTech</option> <option value="birds">Birds</option> <option value="blockchains">Blockchains</option> <option value="brainsci">Brain Sciences</option> <option value="buildings">Buildings</option> <option value="businesses">Businesses</option> <option value="carbon">C</option> <option value="cancers">Cancers</option> <option value="cardiogenetics">Cardiogenetics</option> <option value="catalysts">Catalysts</option> <option value="cells">Cells</option> <option value="ceramics">Ceramics</option> <option value="challenges">Challenges</option> <option value="ChemEngineering">ChemEngineering</option> <option value="chemistry">Chemistry</option> <option value="chemproc">Chemistry Proceedings</option> <option value="chemosensors">Chemosensors</option> <option value="children">Children</option> <option value="chips">Chips</option> <option value="civileng">CivilEng</option> <option value="cleantechnol">Clean Technologies</option> <option value="climate">Climate</option> <option value="ctn">Clinical and Translational Neuroscience</option> <option value="clinbioenerg">Clinical Bioenergetics</option> <option value="clinpract">Clinics and Practice</option> <option value="clockssleep">Clocks & Sleep</option> <option value="coasts">Coasts</option> <option value="coatings">Coatings</option> <option value="colloids">Colloids and Interfaces</option> <option value="colorants">Colorants</option> <option value="commodities">Commodities</option> <option value="complications">Complications</option> <option value="compounds">Compounds</option> <option value="computation">Computation</option> <option value="csmf">Computer Sciences & Mathematics Forum</option> <option value="computers">Computers</option> <option value="condensedmatter">Condensed Matter</option> <option value="conservation">Conservation</option> <option value="constrmater">Construction Materials</option> <option value="cmd">Corrosion and Materials Degradation</option> <option value="cosmetics">Cosmetics</option> <option value="covid">COVID</option> <option value="crops">Crops</option> <option value="cryo">Cryo</option> <option value="cryptography">Cryptography</option> <option value="crystals">Crystals</option> <option value="cimb">Current Issues in Molecular Biology</option> <option value="curroncol">Current Oncology</option> <option value="dairy">Dairy</option> <option value="data">Data</option> <option value="dentistry">Dentistry Journal</option> <option value="dermato">Dermato</option> <option value="dermatopathology">Dermatopathology</option> <option value="designs">Designs</option> <option value="diabetology">Diabetology</option> <option value="diagnostics">Diagnostics</option> <option value="dietetics">Dietetics</option> <option value="digital">Digital</option> <option value="disabilities">Disabilities</option> <option value="diseases">Diseases</option> <option value="diversity">Diversity</option> <option value="dna">DNA</option> <option value="drones">Drones</option> <option value="ddc">Drugs and Drug Candidates</option> <option value="dynamics">Dynamics</option> <option value="earth">Earth</option> <option value="ecologies">Ecologies</option> <option value="econometrics">Econometrics</option> <option value="economies">Economies</option> <option value="education">Education Sciences</option> <option value="electricity">Electricity</option> <option value="electrochem">Electrochem</option> <option value="electronicmat">Electronic Materials</option> <option value="electronics">Electronics</option> <option value="ecm">Emergency Care and Medicine</option> <option value="encyclopedia">Encyclopedia</option> <option value="endocrines">Endocrines</option> <option value="energies">Energies</option> <option value="esa">Energy Storage and Applications</option> <option value="eng">Eng</option> <option value="engproc">Engineering Proceedings</option> <option value="entropy">Entropy</option> <option value="environsciproc">Environmental Sciences Proceedings</option> <option value="environments">Environments</option> <option value="epidemiologia">Epidemiologia</option> <option value="epigenomes">Epigenomes</option> <option value="ebj">European Burn Journal</option> <option value="ejihpe">European Journal of Investigation in Health, Psychology and Education</option> <option value="fermentation">Fermentation</option> <option value="fibers">Fibers</option> <option value="fintech">FinTech</option> <option value="fire">Fire</option> <option value="fishes">Fishes</option> <option value="fluids">Fluids</option> <option value="foods">Foods</option> <option value="forecasting">Forecasting</option> <option value="forensicsci">Forensic Sciences</option> <option value="forests">Forests</option> <option value="fossstud">Fossil Studies</option> <option value="foundations">Foundations</option> <option value="fractalfract">Fractal and Fractional</option> <option value="fuels">Fuels</option> <option value="future">Future</option> <option value="futureinternet">Future Internet</option> <option value="futurepharmacol">Future Pharmacology</option> <option value="futuretransp">Future Transportation</option> <option value="galaxies">Galaxies</option> <option value="games">Games</option> <option value="gases">Gases</option> <option value="gastroent">Gastroenterology Insights</option> <option value="gastrointestdisord">Gastrointestinal Disorders</option> <option value="gastronomy">Gastronomy</option> <option value="gels">Gels</option> <option value="genealogy">Genealogy</option> <option value="genes">Genes</option> <option value="geographies">Geographies</option> <option value="geohazards">GeoHazards</option> <option value="geomatics">Geomatics</option> <option value="geometry">Geometry</option> <option value="geosciences">Geosciences</option> <option value="geotechnics">Geotechnics</option> <option value="geriatrics">Geriatrics</option> <option value="glacies">Glacies</option> <option value="gucdd">Gout, Urate, and Crystal Deposition Disease</option> <option value="grasses">Grasses</option> <option value="hardware">Hardware</option> <option value="healthcare">Healthcare</option> <option value="hearts">Hearts</option> <option value="hemato">Hemato</option> <option value="hematolrep">Hematology Reports</option> <option value="heritage">Heritage</option> <option value="histories">Histories</option> <option value="horticulturae">Horticulturae</option> <option value="hospitals">Hospitals</option> <option value="humanities">Humanities</option> <option value="humans">Humans</option> <option value="hydrobiology">Hydrobiology</option> <option value="hydrogen">Hydrogen</option> <option value="hydrology">Hydrology</option> <option value="hygiene">Hygiene</option> <option value="immuno">Immuno</option> <option value="idr">Infectious Disease Reports</option> <option value="informatics">Informatics</option> <option value="information">Information</option> <option value="infrastructures">Infrastructures</option> <option value="inorganics">Inorganics</option> <option value="insects">Insects</option> <option value="instruments">Instruments</option> <option value="iic">Intelligent Infrastructure and Construction</option> <option value="ijerph">International Journal of Environmental Research and Public Health</option> <option value="ijfs">International Journal of Financial Studies</option> <option value="ijms">International Journal of Molecular Sciences</option> <option value="IJNS">International Journal of Neonatal Screening</option> <option value="ijpb">International Journal of Plant Biology</option> <option value="ijt">International Journal of Topology</option> <option value="ijtm">International Journal of Translational Medicine</option> <option value="ijtpp">International Journal of Turbomachinery, Propulsion and Power</option> <option value="ime">International Medical Education</option> <option value="inventions">Inventions</option> <option value="IoT">IoT</option> <option value="ijgi">ISPRS International Journal of Geo-Information</option> <option value="J">J</option> <option value="jal">Journal of Ageing and Longevity</option> <option value="jcdd">Journal of Cardiovascular Development and Disease</option> <option value="jcto">Journal of Clinical & Translational Ophthalmology</option> <option value="jcm">Journal of Clinical Medicine</option> <option value="jcs">Journal of Composites Science</option> <option value="jcp">Journal of Cybersecurity and Privacy</option> <option value="jdad">Journal of Dementia and Alzheimer's Disease</option> <option value="jdb">Journal of Developmental Biology</option> <option value="jeta">Journal of Experimental and Theoretical Analyses</option> <option value="jfb">Journal of Functional Biomaterials</option> <option value="jfmk">Journal of Functional Morphology and Kinesiology</option> <option value="jof">Journal of Fungi</option> <option value="jimaging">Journal of Imaging</option> <option value="jintelligence">Journal of Intelligence</option> <option value="jlpea">Journal of Low Power Electronics and Applications</option> <option value="jmmp">Journal of Manufacturing and Materials Processing</option> <option value="jmse">Journal of Marine Science and Engineering</option> <option value="jmahp">Journal of Market Access & Health Policy</option> <option value="jmp">Journal of Molecular Pathology</option> <option value="jnt">Journal of Nanotheranostics</option> <option value="jne">Journal of Nuclear Engineering</option> <option value="ohbm">Journal of Otorhinolaryngology, Hearing and Balance Medicine</option> <option value="jop">Journal of Parks</option> <option value="jpm">Journal of Personalized Medicine</option> <option value="jpbi">Journal of Pharmaceutical and BioTech Industry</option> <option value="jor">Journal of Respiration</option> <option value="jrfm">Journal of Risk and Financial Management</option> <option value="jsan">Journal of Sensor and Actuator Networks</option> <option value="joma">Journal of the Oman Medical Association</option> <option value="jtaer">Journal of Theoretical and Applied Electronic Commerce Research</option> <option value="jvd">Journal of Vascular Diseases</option> <option value="jox">Journal of Xenobiotics</option> <option value="jzbg">Journal of Zoological and Botanical Gardens</option> <option value="journalmedia">Journalism and Media</option> <option value="kidneydial">Kidney and Dialysis</option> <option value="kinasesphosphatases">Kinases and Phosphatases</option> <option value="knowledge">Knowledge</option> <option value="labmed">LabMed</option> <option value="laboratories">Laboratories</option> <option value="land">Land</option> <option value="languages">Languages</option> <option value="laws">Laws</option> <option value="life">Life</option> <option value="limnolrev">Limnological Review</option> <option value="lipidology">Lipidology</option> <option value="liquids">Liquids</option> <option value="literature">Literature</option> <option value="livers">Livers</option> <option value="logics">Logics</option> <option value="logistics">Logistics</option> <option value="lubricants">Lubricants</option> <option value="lymphatics">Lymphatics</option> <option value="make">Machine Learning and Knowledge Extraction</option> <option value="machines">Machines</option> <option value="macromol">Macromol</option> <option value="magnetism">Magnetism</option> <option value="magnetochemistry">Magnetochemistry</option> <option value="marinedrugs">Marine Drugs</option> <option value="materials">Materials</option> <option value="materproc">Materials Proceedings</option> <option value="mca">Mathematical and Computational Applications</option> <option value="mathematics">Mathematics</option> <option value="medsci">Medical Sciences</option> <option value="msf">Medical Sciences Forum</option> <option value="medicina">Medicina</option> <option value="medicines">Medicines</option> <option value="membranes">Membranes</option> <option value="merits">Merits</option> <option value="metabolites">Metabolites</option> <option value="metals">Metals</option> <option value="meteorology">Meteorology</option> <option value="methane">Methane</option> <option value="mps">Methods and Protocols</option> <option value="metrics">Metrics</option> <option value="metrology">Metrology</option> <option value="micro">Micro</option> <option value="microbiolres">Microbiology Research</option> <option value="micromachines">Micromachines</option> <option value="microorganisms">Microorganisms</option> <option value="microplastics">Microplastics</option> <option value="minerals">Minerals</option> <option value="mining">Mining</option> <option value="modelling">Modelling</option> <option value="mmphys">Modern Mathematical Physics</option> <option value="molbank">Molbank</option> <option value="molecules">Molecules</option> <option value="mti">Multimodal Technologies and Interaction</option> <option value="muscles">Muscles</option> <option value="nanoenergyadv">Nanoenergy Advances</option> <option value="nanomanufacturing">Nanomanufacturing</option> <option value="nanomaterials">Nanomaterials</option> <option value="ndt">NDT</option> <option value="network">Network</option> <option value="neuroglia">Neuroglia</option> <option value="neurolint">Neurology International</option> <option value="neurosci">NeuroSci</option> <option value="nitrogen">Nitrogen</option> <option value="ncrna">Non-Coding RNA</option> <option value="nursrep">Nursing Reports</option> <option value="nutraceuticals">Nutraceuticals</option> <option value="nutrients">Nutrients</option> <option value="obesities">Obesities</option> <option value="oceans">Oceans</option> <option value="onco">Onco</option> <option value="optics">Optics</option> <option value="oral">Oral</option> <option value="organics">Organics</option> <option value="organoids">Organoids</option> <option value="osteology">Osteology</option> <option value="oxygen">Oxygen</option> <option value="parasitologia">Parasitologia</option> <option value="particles">Particles</option> <option value="pathogens">Pathogens</option> <option value="pathophysiology">Pathophysiology</option> <option value="pediatrrep">Pediatric Reports</option> <option value="pets">Pets</option> <option value="pharmaceuticals">Pharmaceuticals</option> <option value="pharmaceutics">Pharmaceutics</option> <option value="pharmacoepidemiology">Pharmacoepidemiology</option> <option value="pharmacy">Pharmacy</option> <option value="philosophies">Philosophies</option> <option value="photochem">Photochem</option> <option value="photonics">Photonics</option> <option value="phycology">Phycology</option> <option value="physchem">Physchem</option> <option value="psf">Physical Sciences Forum</option> <option value="physics">Physics</option> <option value="physiologia">Physiologia</option> <option value="plants">Plants</option> <option value="plasma">Plasma</option> <option value="platforms">Platforms</option> <option value="pollutants">Pollutants</option> <option value="polymers">Polymers</option> <option value="polysaccharides">Polysaccharides</option> <option value="populations">Populations</option> <option value="poultry">Poultry</option> <option value="powders">Powders</option> <option value="proceedings">Proceedings</option> <option value="processes">Processes</option> <option value="prosthesis">Prosthesis</option> <option value="proteomes">Proteomes</option> <option value="psychiatryint">Psychiatry International</option> <option value="psychoactives">Psychoactives</option> <option value="psycholint">Psychology International</option> <option value="publications">Publications</option> <option value="qubs">Quantum Beam Science</option> <option value="quantumrep">Quantum Reports</option> <option value="quaternary">Quaternary</option> <option value="radiation">Radiation</option> <option value="reactions">Reactions</option> <option value="realestate">Real Estate</option> <option value="receptors">Receptors</option> <option value="recycling">Recycling</option> <option value="rsee">Regional Science and Environmental Economics</option> <option value="religions">Religions</option> <option value="remotesensing">Remote Sensing</option> <option value="reports">Reports</option> <option value="reprodmed">Reproductive Medicine</option> <option value="resources">Resources</option> <option value="rheumato">Rheumato</option> <option value="risks">Risks</option> <option value="robotics">Robotics</option> <option value="ruminants">Ruminants</option> <option value="safety">Safety</option> <option value="sci">Sci</option> <option value="scipharm">Scientia Pharmaceutica</option> <option value="sclerosis">Sclerosis</option> <option value="seeds">Seeds</option> <option value="sensors">Sensors</option> <option value="separations">Separations</option> <option value="sexes">Sexes</option> <option value="signals">Signals</option> <option value="sinusitis">Sinusitis</option> <option value="smartcities">Smart Cities</option> <option value="socsci">Social Sciences</option> <option value="siuj">Société Internationale d’Urologie Journal</option> <option value="societies">Societies</option> <option value="software">Software</option> <option value="soilsystems">Soil Systems</option> <option value="solar">Solar</option> <option value="solids">Solids</option> <option value="spectroscj">Spectroscopy Journal</option> <option value="sports">Sports</option> <option value="standards">Standards</option> <option value="stats">Stats</option> <option value="stresses">Stresses</option> <option value="surfaces">Surfaces</option> <option value="surgeries">Surgeries</option> <option value="std">Surgical Techniques Development</option> <option value="sustainability">Sustainability</option> <option value="suschem">Sustainable Chemistry</option> <option value="symmetry">Symmetry</option> <option value="synbio">SynBio</option> <option value="systems">Systems</option> <option value="targets">Targets</option> <option value="taxonomy">Taxonomy</option> <option value="technologies">Technologies</option> <option value="telecom">Telecom</option> <option value="textiles">Textiles</option> <option value="thalassrep">Thalassemia Reports</option> <option value="therapeutics">Therapeutics</option> <option value="thermo">Thermo</option> <option value="timespace">Time and Space</option> <option value="tomography">Tomography</option> <option value="tourismhosp">Tourism and Hospitality</option> <option value="toxics">Toxics</option> <option value="toxins">Toxins</option> <option value="transplantology">Transplantology</option> <option value="traumacare">Trauma Care</option> <option value="higheredu">Trends in Higher Education</option> <option value="tropicalmed">Tropical Medicine and Infectious Disease</option> <option value="universe">Universe</option> <option value="urbansci">Urban Science</option> <option value="uro">Uro</option> <option value="vaccines">Vaccines</option> <option value="vehicles">Vehicles</option> <option value="venereology">Venereology</option> <option value="vetsci">Veterinary Sciences</option> <option value="vibration">Vibration</option> <option value="virtualworlds">Virtual Worlds</option> <option value="viruses">Viruses</option> <option value="vision">Vision</option> <option value="waste">Waste</option> <option value="water">Water</option> <option value="wild">Wild</option> <option value="wind">Wind</option> <option value="women">Women</option> <option value="world">World</option> <option value="wevj">World Electric Vehicle Journal</option> <option value="youth">Youth</option> <option value="zoonoticdis">Zoonotic Diseases</option> </select> <input name="email" type="email" placeholder="Enter your email address..." required="required" /> <button class="genericCaptcha button button--dark UA_FooterNewsletterSubscribeButton" type="submit">Subscribe</button> </form> </div> </div> </div> <div id="footer-copyright"> <div class="row"> <div class="columns large-6 medium-6 small-12 text-left"> © 1996-2024 MDPI (Basel, Switzerland) unless otherwise stated </div> <div class="columns large-6 medium-6 small-12 small-text-left medium-text-right large-text-right"> <a data-dropdown="drop-view-disclaimer" aria-controls="drop-view-disclaimer" aria-expanded="false" data-options="align:top; is_hover:true; hover_timeout:2000;"> Disclaimer </a> <div id="drop-view-disclaimer" class="f-dropdown label__btn__dropdown label__btn__dropdown--wide text-left" data-dropdown-content aria-hidden="true" tabindex="-1"> Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. </div> <a href="/about/terms-and-conditions"> Terms and Conditions </a> <a href="/about/privacy"> Privacy Policy </a> </div> </div> </div> </div> <div id="cookie-notification" class="js-allow-cookies" style="display: none;"> <div class="columns large-10 medium-10 small-12"> We use cookies on our website to ensure you get the best experience.<br class="show-for-medium-up"/> Read more about our cookies <a href="/about/privacy">here</a>. </div> <div class="columns large-2 medium-2 small-12 small-only-text-left text-right"> <a class="button button--default" href="/accept_cookies">Accept</a> </div> </div> </div> <div id="main-share-modal" class="reveal-modal reveal-modal-new reveal-modal-new--small" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> <div class="row"> <div class="small-12 columns"> <h2 style="margin: 0;">Share Link</h2> </div> <div class="small-12 columns"> <div class="social-media-links UA_ShareModalLinks" style="text-align: left;"> <a href="/cdn-cgi/l/email-protection#d0eff6b1bda0eba3a5b2bab5b3a4ed96a2bfbdf5e2e09d948099f5e391f5e2e0f5e2e291f5e2e082b5b3b5b9a6b5a2fd94a2b9a6b5bef5e2e09eb1bdb5b4f5e2e094b1a4b1f5e2e09eb5a4a7bfa2bbb9beb7f5e2e0f5e2e89e949ef5e2e9f5e2e093bfbeb7b5a3a4b9bfbef5e2e093bfbea4a2bfbcf5e2e09db5a4b8bfb4f5e2e092b1a3b5b4f5e2e0bfbef5e2e082b5b9beb6bfa2b3b5bdb5bea4f5e2e09cb5b1a2beb9beb7f6a1a5bfa4ebf6b1bda0ebb2bfb4a9edb8a4a4a0a3eaffffa7a7a7febdb4a0b9feb3bfbdffe3e0e5e3e9e5e2f5e391f5e091f5e09191f5e2e082b5b3b5b9a6b5a2fd94a2b9a6b5bef5e2e09eb1bdb5b4f5e2e094b1a4b1f5e2e09eb5a4a7bfa2bbb9beb7f5e2e0f5e2e89e949ef5e2e9f5e2e093bfbeb7b5a3a4b9bfbef5e2e093bfbea4a2bfbcf5e2e09db5a4b8bfb4f5e2e092b1a3b5b4f5e2e0bfbef5e2e082b5b9beb6bfa2b3b5bdb5bea4f5e2e09cb5b1a2beb9beb7dada9eb1bdb5b4f5e2e0b4b1a4b1f5e2e0beb5a4a7bfa2bbb9beb7f5e2e0f5e2e89e949ef5e2e9f5e2e0b9a3f5e2e0b1f5e2e0bebfa6b5bcf5e2e0beb5a4a7bfa2bbb9beb7f5e2e0a0b1a2b1b4b9b7bdf5e2e0b3b8b1a2b1b3a4b5a2b9aab5b4f5e2e0b2a9f5e2e0b9befdbeb5a4a7bfa2bbf5e2e0b3b1b3b8b9beb7f5e293f5e2e0a2b5b3b5b9a6b5a2fdb4a2b9a6b5bef5e2e0b3bfbdbda5beb9b3b1a4b9bfbef5e293f5e2e0b1beb4f5e2e0bda5bca4b9fda3bfa5a2b3b5f5e293f5e2e0bda5bca4b9fda0b1a4b8f5e2e0b4b1a4b1f5e2e0a2b5a4a2b9b5a6b1bcf5e293f5e2e0a7b8b9b3b8f5e2e0a0bfa3b5a3f5e2e0beb5a7f5e2e0b3b8b1bcbcb5beb7b5a3f5e2e0b6bfa2f5e2e0b3bfbeb7b5a3a4b9bfbef5e2e0b3bfbea4a2bfbcfef5e2e095a8b9a3a4b9beb7f5e2e0a7bfa2bbf5e2e0b8b1a3f5e2e0bcb1a2b7b5bca9f5e2e0b6bfb3a5a3b5b4f5e2e0bfbef5e2e0a2b5b3b5b9a6b5a2fdb4a2b9a6b5bef5e2e0bdb5b3b8b1beb9a3bda3fef5e2e094a5b5f5e2e0a4bff5e2e0b4b5bcb1a9a3f5e2e0b9bef5e2e0bfb2a4b1b9beb9beb7f5e2e0beb5a4a7bfa2bbf5e2e0b3bfbea4a2bfbcf5e2e0b9beb6bfa2bdb1a4b9bfbef5e2e0f5e2e8a4b9bdb5bfa5a4a3f5e293f5e2e09e91939ba3f5e2e9f5e2e0a7b9a4b8b9bef5e2e09e949ef5e293f5e2e0b3bfbea3a5bdb5a2a3f5e2e0b1a2b5f5e2e0a5beb1b2bcb5f5e2e0a4bff5e2e0b1b3b3b5a3a3f5e2e0a4b8b5f5e2e0beb5a4a7bfa2bbf5e2e0b3bfbeb7b5a3a4b9bfbef5e2e0a3a4b1a4a5a3f5e2e0b6a2bfbdf5e2e0a4b8b9a3f5e2e0b9beb6bfa2bdb1a4b9bfbef5e2e0b9bef5e2e0b1f5e2e0a4b9bdb5bca9f5e2e0bdb1bebeb5a2fef5e2e084bff5e2e0b1b4b4a2b5a3a3f5e2e0a4b8b5f5e2e0b9a3a3a5b5a3f5e2e0b1b2bfa6b5f5e293f5e2e0a4b8b9a3f5e2e0a0b1a0b5a2f5e2e0b3bfbdb2b9beb5a3f5e2e0a4b8b5f5e2e081fdbcb5b1a2beb9beb7f5e2e0b1bcb7bfa2b9a4b8bdf5e2e0a7b9a4b8f5e2e0a4b8b5f5e2e09e949ef5e2e0b1a2b3b8b9a4b5b3a4a5a2b5f5e293f5e2e0a0a2bfa0bfa3b9beb7f5e2e081fd9e949efef5e2e099bef5e2e081fd9e949ef5e293f5e2e0b3bfbea3a5bdb5a2a3f5e2e0b3b1bef5e2e0b4a9beb1bdb9b3b1bcbca9f5e2e0b1b4baa5a3a4f5e2e0a4b8b5f5e2e0b3bfbeb7b5a3a4b9bfbef5e2e0a7b9beb4bfa7f5e2e0f5e2e8b3a7beb4f5e2e9f5e2e0a4b8a2bfa5b7b8f5e2e0a4b8b5f5e2e0a2b5b1bcfda4b9bdb5f5e2e0bdbfbeb9a4bfa2b9beb7f5e2e0bfb6f5e2e0beb5a4a7bfa2bbf5e2e0a3a4b1a4a5a3f5e293f5e2e0bcb5a6b5a2b1b7b9beb7f5e2e0a4b8b5f5e2e081fdbcb5b1a2beb9beb7f5e2e0b1bcb7bfa2b9a4b8bdf5e293f5e2e0b1b3b8b9b5a6b9beb7f5e2e0b1a5a4bfbdb1a4b9b3f5e2e0b3bfbeb7b5a3a4b9bfbef5e2e0b3bfbea4a2bfbcf5e2e0b6bfa2f5e2e0a4b8b5f5e2e09e949ef5e2e0b1a2b3b8b9a4b5b3a4a5a2b5fef5e2e091b4b4b9a4b9bfbeb1bcbca9f5e293f5e2e0a4b8b9a3f5e2e0a0b1a0b5a2f5e2e0b9bea4a2bfb4a5b3b5a3f5e2e0b3bfbea4b5bea4f5e2e0a0bfa0a5bcb1a2b9a4a9fdb2b1a3b5b4f5e2e0a4a2b1b6b6b9b3f5e2e0a3b3b8b5b4a5bcb9beb7f5e2e0b6bfa2f5e2e0bda5bca4b9fda5a3b5a2f5e2e0a3b3b5beb1a2b9bfa3a7b8b9b3b8f5e2e0b1b4baa5a3a4a3f5e2e0a4b8b5f5e2e0a4a2b1bea3bdb9a3a3b9bfbef5e2e0a2b1a4b5a3f5e2e0bfb6f5e2e0b3bfbea4b5bea4f5e2e0a7b9a4b8f5e2e0b4b9b6b6b5a2b5bea4f5e2e0a0bfa0a5bcb1a2b9a4a9f5e2e0bcb5a6b5bca3f5e2e0a4bff5e2e0bdb1b9bea4b1b9bef5e2e0b1f5e2e0b4a9beb1bdb9b3f5e2e0b2b1bcb1beb3b5f5e2e0b9bef5e2e0a4b8b5f5e2e0beb5a4a7bfa2bbfef5e2e084b8b5f5e2e0b5a8a0b5a2b9bdb5bea4b1bcf5e2e0a2b5a3a5bca4a3f5e2e0a3b8bfa7f5e2e0a4b8b1a4f5e2e081fd9e949ef5e2e0b3b1bef5e2e0b3bfbea6b5a2b7b5f5e2e0a1a5b9b3bbbca9f5e293f5e2e0bdb1bbb5f5e2e0b6a5bcbcf5e2e0a5a3b5f5e2e0bfb6f5e2e0b2b1beb4a7b9b4a4b8f5e2e0a2b5a3bfa5a2b3b5a3f5e293f5e2e0b1beb4f5e2e0bbb5b5a0f5e2e0a4b8b5f5e2e0a0b1b3bbb5a4f5e2e0bcbfa3a3f5e2e0a2b1a4b5f5e2e0a4bff5e2e0e0f5e2e0b9bef5e2e0a4b8b5f5e2e0b2b1a3b9b3f5e2e0beb5a4a7bfa2bbf5e2e0a4bfa0bfbcbfb7a9fef5e2e099be8bfefefe8d" title="Email"> <i class="fa fa-envelope-square" style="font-size: 30px;"></i> </a> <a href="https://twitter.com/intent/tweet?text=A+Receiver-Driven+Named+Data+Networking+%28NDN%29+Congestion+Control+Method+Based+on+Reinforcement+Learning&hashtags=mdpielectronics&url=https%3A%2F%2Fwww.mdpi.com%2F3053952&via=electronicsMDPI" onclick="windowOpen(this.href,600,800); return false" title="Twitter" target="_blank" rel="noopener noreferrer"> <i class="fa fa-twitter-x-square" style="font-size: 30px;"></i> </a> <a href=" http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.mdpi.com%2F3053952&title=A%20Receiver-Driven%20Named%20Data%20Networking%20%28NDN%29%20Congestion%20Control%20Method%20Based%20on%20Reinforcement%20Learning%26source%3Dhttps%3A%2F%2Fwww.mdpi.com%26summary%3DNamed%20data%20networking%20%28NDN%29%20is%20a%20novel%20networking%20paradigm%20characterized%20by%20in-network%20caching%2C%20receiver-driven%20communication%2C%20and%20multi-source%2C%20multi-path%20data%20retrieval%2C%20which%20poses%20new%20challenges%20for%20congestion%20control.%20Existing%20work%20has%20largely%20%5B...%5D" onclick="windowOpen(this.href,600,800); return false" title="LinkedIn" target="_blank" rel="noopener noreferrer"> <i class="fa fa-linkedin-square" style="font-size: 30px;"></i> </a> <a href="https://www.facebook.com/sharer.php?u=https://www.mdpi.com/3053952" title="facebook" target="_blank" rel="noopener noreferrer"> <i class="fa fa-facebook-square" style="font-size: 30px;"></i> </a> <a href="javascript:void(0);" title="Wechat" data-reveal-id="weixin-share-modal"> <i class="fa fa-weixin-square" style="font-size: 26px;"></i> </a> <a href="http://www.reddit.com/submit?url=https://www.mdpi.com/3053952" title="Reddit" target="_blank" rel="noopener noreferrer"> <i class="fa fa-reddit-square" style="font-size: 30px;"></i> </a> <a href="http://www.mendeley.com/import/?url=https://www.mdpi.com/3053952" title="Mendeley" target="_blank" rel="noopener noreferrer"> <i class="fa fa-mendeley-square" style="font-size: 30px;"></i> </a> <a href="http://www.citeulike.org/posturl?url=https://www.mdpi.com/3053952" title="CiteULike" target="_blank" rel="noopener noreferrer"> <i class="fa fa-citeulike-square" style="font-size: 30px;"></i> </a> </div> </div> <div class="small-9 columns"> <input id="js-clipboard-text" type="text" readonly value="https://www.mdpi.com/3053952" /> </div> <div class="small-3 columns text-left"> <a class="button button--color js-clipboard-copy" data-clipboard-target="#js-clipboard-text">Copy</a> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> <div id="weixin-share-modal" class="reveal-modal reveal-modal-new" data-reveal aria-labelledby="weixin-share-modal-title" aria-hidden="true" role="dialog"> <div class="row"> <div class="small-12 columns"> <h2 id="weixin-share-modal-title" style="margin: 0;">Share</h2> </div> <div class="small-12 columns"> <div class="weixin-qr-code-section"> <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg"> <desc>https://www.mdpi.com/3053952</desc> <g id="elements" fill="black" stroke="none"> <rect x="0" y="0" width="12" height="12" /> <rect x="12" y="0" width="12" height="12" /> <rect x="24" y="0" width="12" height="12" /> <rect x="36" y="0" width="12" height="12" /> <rect x="48" y="0" width="12" height="12" /> <rect x="60" y="0" width="12" height="12" /> <rect x="72" y="0" width="12" height="12" /> <rect x="96" y="0" width="12" height="12" /> <rect x="108" y="0" width="12" height="12" /> <rect x="120" y="0" width="12" height="12" /> <rect x="132" y="0" width="12" height="12" /> <rect x="156" y="0" width="12" height="12" /> <rect x="168" y="0" width="12" height="12" /> <rect x="216" y="0" width="12" height="12" /> <rect x="228" y="0" width="12" height="12" /> <rect x="240" y="0" width="12" height="12" /> <rect x="252" y="0" width="12" height="12" /> <rect x="264" y="0" width="12" height="12" /> <rect x="276" y="0" width="12" height="12" /> <rect x="288" y="0" width="12" height="12" /> <rect x="0" y="12" width="12" height="12" /> <rect x="72" y="12" width="12" height="12" /> <rect x="96" y="12" width="12" height="12" /> <rect x="132" y="12" width="12" height="12" /> <rect x="156" y="12" width="12" height="12" /> <rect x="216" y="12" width="12" height="12" /> <rect x="288" y="12" width="12" height="12" /> <rect x="0" y="24" width="12" height="12" /> <rect x="24" y="24" width="12" height="12" /> <rect x="36" y="24" width="12" height="12" /> <rect x="48" y="24" width="12" height="12" /> <rect x="72" y="24" width="12" height="12" /> <rect x="108" y="24" width="12" height="12" /> <rect x="156" y="24" width="12" height="12" /> <rect x="216" y="24" width="12" height="12" /> <rect x="240" y="24" width="12" height="12" /> <rect x="252" y="24" width="12" height="12" /> <rect x="264" y="24" width="12" height="12" /> <rect x="288" y="24" width="12" height="12" /> <rect x="0" y="36" width="12" height="12" /> <rect x="24" y="36" width="12" height="12" /> <rect x="36" y="36" width="12" height="12" /> <rect x="48" y="36" width="12" height="12" /> <rect x="72" y="36" width="12" height="12" /> <rect x="132" y="36" width="12" height="12" /> <rect x="156" y="36" width="12" height="12" /> <rect x="168" y="36" width="12" height="12" /> <rect x="180" y="36" width="12" height="12" /> <rect x="216" y="36" width="12" height="12" /> <rect x="240" y="36" width="12" height="12" /> <rect x="252" y="36" width="12" height="12" /> <rect x="264" y="36" width="12" height="12" /> <rect x="288" y="36" width="12" height="12" /> <rect x="0" y="48" width="12" height="12" /> <rect x="24" y="48" width="12" height="12" /> <rect x="36" y="48" width="12" height="12" /> <rect x="48" y="48" width="12" height="12" /> <rect x="72" y="48" width="12" height="12" /> <rect x="96" y="48" width="12" height="12" /> <rect x="132" y="48" width="12" height="12" /> <rect x="144" y="48" width="12" height="12" /> <rect x="168" y="48" width="12" height="12" /> <rect x="192" y="48" width="12" height="12" /> <rect x="216" y="48" width="12" height="12" /> <rect x="240" y="48" width="12" height="12" /> <rect x="252" y="48" width="12" height="12" /> <rect x="264" y="48" width="12" height="12" /> <rect x="288" y="48" width="12" height="12" /> <rect x="0" y="60" width="12" height="12" /> <rect x="72" y="60" width="12" height="12" /> <rect x="96" y="60" width="12" height="12" /> <rect x="108" y="60" width="12" height="12" /> <rect x="120" y="60" width="12" height="12" /> <rect x="156" y="60" width="12" height="12" /> <rect x="168" y="60" width="12" height="12" /> <rect x="192" y="60" width="12" height="12" /> <rect x="216" y="60" width="12" height="12" /> <rect x="288" y="60" width="12" height="12" /> <rect x="0" y="72" width="12" height="12" /> <rect x="12" y="72" width="12" height="12" /> <rect x="24" y="72" width="12" height="12" /> <rect x="36" y="72" width="12" height="12" /> <rect x="48" y="72" width="12" height="12" /> <rect x="60" y="72" width="12" height="12" /> <rect x="72" y="72" width="12" height="12" /> <rect x="96" y="72" width="12" height="12" /> <rect x="120" y="72" width="12" height="12" /> <rect x="144" y="72" width="12" height="12" /> <rect x="168" y="72" width="12" height="12" /> <rect x="192" y="72" width="12" height="12" /> <rect x="216" y="72" width="12" height="12" /> <rect x="228" y="72" width="12" height="12" /> <rect x="240" y="72" width="12" height="12" /> <rect x="252" y="72" width="12" height="12" /> <rect x="264" y="72" width="12" height="12" /> <rect x="276" y="72" width="12" height="12" /> <rect x="288" y="72" width="12" height="12" /> <rect x="96" y="84" width="12" height="12" /> <rect x="108" y="84" width="12" height="12" /> <rect x="168" y="84" width="12" height="12" /> <rect x="0" y="96" width="12" height="12" /> <rect x="12" y="96" width="12" height="12" /> <rect x="24" y="96" width="12" height="12" /> <rect x="60" y="96" width="12" height="12" /> <rect x="72" y="96" width="12" height="12" /> <rect x="96" y="96" width="12" height="12" /> <rect x="108" y="96" width="12" height="12" /> <rect x="132" y="96" width="12" height="12" /> <rect x="144" y="96" width="12" height="12" /> <rect x="192" y="96" width="12" height="12" /> <rect x="204" y="96" width="12" height="12" /> <rect x="216" y="96" width="12" height="12" /> <rect x="228" y="96" width="12" height="12" /> <rect x="240" y="96" width="12" height="12" /> <rect x="276" y="96" width="12" height="12" /> <rect x="288" y="96" width="12" height="12" /> <rect x="0" y="108" width="12" height="12" /> <rect x="12" y="108" width="12" height="12" /> <rect x="24" y="108" width="12" height="12" /> <rect x="36" y="108" width="12" height="12" /> <rect x="60" y="108" width="12" height="12" /> <rect x="96" y="108" width="12" height="12" /> <rect x="156" y="108" width="12" height="12" /> <rect x="180" y="108" width="12" height="12" /> <rect x="192" y="108" width="12" height="12" /> <rect x="204" y="108" width="12" height="12" /> <rect x="216" y="108" width="12" height="12" /> <rect x="228" y="108" width="12" height="12" /> <rect x="252" y="108" width="12" height="12" /> <rect x="276" y="108" width="12" height="12" /> <rect x="288" y="108" width="12" height="12" /> <rect x="0" y="120" width="12" height="12" /> <rect x="36" y="120" width="12" height="12" /> <rect x="72" y="120" width="12" height="12" /> <rect x="84" y="120" width="12" height="12" /> <rect x="96" y="120" width="12" height="12" /> <rect x="108" y="120" width="12" height="12" /> <rect x="120" y="120" width="12" height="12" /> <rect x="156" y="120" width="12" height="12" /> <rect x="180" y="120" width="12" height="12" /> <rect x="192" y="120" width="12" height="12" /> <rect x="216" y="120" width="12" height="12" /> <rect x="252" y="120" width="12" height="12" /> <rect x="264" y="120" width="12" height="12" /> <rect x="288" y="120" width="12" height="12" /> <rect x="12" y="132" width="12" height="12" /> <rect x="24" y="132" width="12" height="12" /> <rect x="36" y="132" width="12" height="12" /> <rect x="84" y="132" width="12" height="12" /> <rect x="120" y="132" width="12" height="12" /> <rect x="168" y="132" width="12" height="12" /> <rect x="204" y="132" width="12" height="12" /> <rect x="216" y="132" width="12" height="12" /> <rect x="228" y="132" width="12" height="12" /> <rect x="252" y="132" width="12" height="12" /> <rect x="24" y="144" width="12" height="12" /> <rect x="48" y="144" width="12" height="12" /> <rect x="72" y="144" width="12" height="12" /> <rect x="84" y="144" width="12" height="12" /> <rect x="96" y="144" width="12" height="12" /> <rect x="108" y="144" width="12" height="12" /> <rect x="120" y="144" width="12" height="12" /> <rect x="132" y="144" width="12" height="12" /> <rect x="168" y="144" width="12" height="12" /> <rect x="180" y="144" width="12" height="12" /> <rect x="216" y="144" width="12" height="12" /> <rect x="288" y="144" width="12" height="12" /> <rect x="24" y="156" width="12" height="12" /> <rect x="36" y="156" width="12" height="12" /> <rect x="108" y="156" width="12" height="12" /> <rect x="120" y="156" width="12" height="12" /> <rect x="132" y="156" width="12" height="12" /> <rect x="144" y="156" width="12" height="12" /> <rect x="180" y="156" width="12" height="12" /> <rect x="192" y="156" width="12" height="12" /> <rect x="204" y="156" width="12" height="12" /> <rect x="216" y="156" width="12" height="12" /> <rect x="228" y="156" width="12" height="12" /> <rect x="276" y="156" width="12" height="12" /> <rect x="288" y="156" width="12" height="12" /> <rect x="0" y="168" width="12" height="12" /> <rect x="12" y="168" width="12" height="12" /> <rect x="36" y="168" width="12" height="12" /> <rect x="72" y="168" width="12" height="12" /> <rect x="84" y="168" width="12" height="12" /> <rect x="96" y="168" width="12" height="12" /> <rect x="108" y="168" width="12" height="12" /> <rect x="132" y="168" width="12" height="12" /> <rect x="144" y="168" width="12" height="12" /> <rect x="156" y="168" width="12" height="12" /> <rect x="168" y="168" width="12" height="12" /> <rect x="180" y="168" width="12" height="12" /> <rect x="192" y="168" width="12" height="12" /> <rect x="216" y="168" width="12" height="12" /> <rect x="252" y="168" width="12" height="12" /> <rect x="264" y="168" width="12" height="12" /> <rect x="288" y="168" width="12" height="12" /> <rect x="36" y="180" width="12" height="12" /> <rect x="60" y="180" width="12" height="12" /> <rect x="84" y="180" width="12" height="12" /> <rect x="120" y="180" width="12" height="12" /> <rect x="192" y="180" width="12" height="12" /> <rect x="204" y="180" width="12" height="12" /> <rect x="216" y="180" width="12" height="12" /> <rect x="228" y="180" width="12" height="12" /> <rect x="240" y="180" width="12" height="12" /> <rect x="252" y="180" width="12" height="12" /> <rect x="0" y="192" width="12" height="12" /> <rect x="12" y="192" width="12" height="12" /> <rect x="72" y="192" width="12" height="12" /> <rect x="108" y="192" width="12" height="12" /> <rect x="120" y="192" width="12" height="12" /> <rect x="132" y="192" width="12" height="12" /> <rect x="144" y="192" width="12" height="12" /> <rect x="156" y="192" width="12" height="12" /> <rect x="180" y="192" width="12" height="12" /> <rect x="192" y="192" width="12" height="12" /> <rect x="204" y="192" width="12" height="12" /> <rect x="216" y="192" width="12" height="12" /> <rect x="228" y="192" width="12" height="12" /> <rect x="240" y="192" width="12" height="12" /> <rect x="276" y="192" width="12" height="12" /> <rect x="96" y="204" width="12" height="12" /> <rect x="108" y="204" width="12" height="12" /> <rect x="120" y="204" width="12" height="12" /> <rect x="144" y="204" width="12" height="12" /> <rect x="192" y="204" width="12" height="12" /> <rect x="240" y="204" width="12" height="12" /> <rect x="288" y="204" width="12" height="12" /> <rect x="0" y="216" width="12" height="12" /> <rect x="12" y="216" width="12" height="12" /> <rect x="24" y="216" width="12" height="12" /> <rect x="36" y="216" width="12" height="12" /> <rect x="48" y="216" width="12" height="12" /> <rect x="60" y="216" width="12" height="12" /> <rect x="72" y="216" width="12" height="12" /> <rect x="120" y="216" width="12" height="12" /> <rect x="132" y="216" width="12" height="12" /> <rect x="144" y="216" width="12" height="12" /> <rect x="192" y="216" width="12" height="12" /> <rect x="216" y="216" width="12" height="12" /> <rect x="240" y="216" width="12" height="12" /> <rect x="288" y="216" width="12" height="12" /> <rect x="0" y="228" width="12" height="12" /> <rect x="72" y="228" width="12" height="12" /> <rect x="96" y="228" width="12" height="12" /> <rect x="120" y="228" width="12" height="12" /> <rect x="132" y="228" width="12" height="12" /> <rect x="156" y="228" width="12" height="12" /> <rect x="168" y="228" width="12" height="12" /> <rect x="180" y="228" width="12" height="12" /> <rect x="192" y="228" width="12" height="12" /> <rect x="240" y="228" width="12" height="12" /> <rect x="0" y="240" width="12" height="12" /> <rect x="24" y="240" width="12" height="12" /> <rect x="36" y="240" width="12" height="12" /> <rect x="48" y="240" width="12" height="12" /> <rect x="72" y="240" width="12" height="12" /> <rect x="132" y="240" width="12" height="12" /> <rect x="144" y="240" width="12" height="12" /> <rect x="156" y="240" width="12" height="12" /> <rect x="168" y="240" width="12" height="12" /> <rect x="180" y="240" width="12" height="12" /> <rect x="192" y="240" width="12" height="12" /> <rect x="204" y="240" width="12" height="12" /> <rect x="216" y="240" width="12" height="12" /> <rect x="228" y="240" width="12" height="12" /> <rect x="240" y="240" width="12" height="12" /> <rect x="288" y="240" width="12" height="12" /> <rect x="0" y="252" width="12" height="12" /> <rect x="24" y="252" width="12" height="12" /> <rect x="36" y="252" width="12" height="12" /> <rect x="48" y="252" width="12" height="12" /> <rect x="72" y="252" width="12" height="12" /> <rect x="108" y="252" width="12" height="12" /> <rect x="132" y="252" width="12" height="12" /> <rect x="168" y="252" width="12" height="12" /> <rect x="180" y="252" width="12" height="12" /> <rect x="240" y="252" width="12" height="12" /> <rect x="264" y="252" width="12" height="12" /> <rect x="276" y="252" width="12" height="12" /> <rect x="0" y="264" width="12" height="12" /> <rect x="24" y="264" width="12" height="12" /> <rect x="36" y="264" width="12" height="12" /> <rect x="48" y="264" width="12" height="12" /> <rect x="72" y="264" width="12" height="12" /> <rect x="96" y="264" width="12" height="12" /> <rect x="108" y="264" width="12" height="12" /> <rect x="120" y="264" width="12" height="12" /> <rect x="144" y="264" width="12" height="12" /> <rect x="168" y="264" width="12" height="12" /> <rect x="204" y="264" width="12" height="12" /> <rect x="228" y="264" width="12" height="12" /> <rect x="240" y="264" width="12" height="12" /> <rect x="252" y="264" width="12" height="12" /> <rect x="276" y="264" width="12" height="12" /> <rect x="288" y="264" width="12" height="12" /> <rect x="0" y="276" width="12" height="12" /> <rect x="72" y="276" width="12" height="12" /> <rect x="96" y="276" width="12" height="12" /> <rect x="108" y="276" width="12" height="12" /> <rect x="120" y="276" width="12" height="12" /> <rect x="192" y="276" width="12" height="12" /> <rect x="204" y="276" width="12" height="12" /> <rect x="216" y="276" width="12" height="12" /> <rect x="228" y="276" width="12" height="12" /> <rect x="240" y="276" width="12" height="12" /> <rect x="0" y="288" width="12" height="12" /> <rect x="12" y="288" width="12" height="12" /> <rect x="24" y="288" width="12" height="12" /> <rect x="36" y="288" width="12" height="12" /> <rect x="48" y="288" width="12" height="12" /> <rect x="60" y="288" width="12" height="12" /> <rect x="72" y="288" width="12" height="12" /> <rect x="96" y="288" width="12" height="12" /> <rect x="108" y="288" width="12" height="12" /> <rect x="132" y="288" width="12" height="12" /> <rect x="144" y="288" width="12" height="12" /> <rect x="156" y="288" width="12" height="12" /> <rect x="168" y="288" width="12" height="12" /> <rect x="192" y="288" width="12" height="12" /> <rect x="204" y="288" width="12" height="12" /> <rect x="252" y="288" width="12" height="12" /> <rect x="288" y="288" width="12" height="12" /> </g> </svg> </div> </div> </div> <a class="close-reveal-modal" aria-label="Close"> <i class="material-icons">clear</i> </a> </div> <a href="#" class="back-to-top"><span class="show-for-medium-up">Back to Top</span><span class="show-for-small">Top</span></a> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script src="https://pub.mdpi-res.com/assets/js/modernizr-2.8.3.min.js?5227e0738f7f421d?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery-1.12.4.min.js?4f252523d4af0b47?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/foundation-5.5.3.min.js?6b2ec41c18b29054?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/foundation-5.5.3.equalizer.min.js?0f6c549b75ec554c?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery.multiselect.js?0edd3998731d1091?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery.cycle2.min.js?63413052928f97ee?1732286508"></script> <script> // old browser fix - this way the console log rows won't throw (silent) errors in browsers not supporting console log if (!window.console) window.console = {}; if (!window.console.log) window.console.log = function () { }; var currentJournalNameSystem = "electronics"; $(document).ready(function() { $('select.foundation-select').multiselect({ search: true, minHeight: 130, maxHeight: 130, }); $(document).foundation({ orbit: { timer_speed: 4000, }, reveal: { animation: 'fadeAndPop', animation_speed: 100, } }); $(".chosen-select").each(function(element) { var maxSelected = (undefined !== $(this).data('maxselectedoptions') ? $(this).data('maxselectedoptions') : 100); $(this).on('chosen:ready', function(event, data) { var select = $(data.chosen.form_field); if (select.attr('id') === 'journal-browser-volume') { $(data.chosen.dropdown).addClass('UI_JournalBrowser_Volume_Options'); } if (select.attr('id') === 'journal-browser-issue') { $(data.chosen.dropdown).addClass('UI_JournalBrowser_Issue_Options'); } }).chosen({ display_disabled_options: false, disable_search_threshold: 7, max_selected_options: maxSelected, width: "100%" }); }); $(".toEncode").each(function(e) { var oldHref = $(this).attr("href"); var newHref = oldHref.replace('.botdefense.please.enable.javascript.','@'); $(this).attr("href", newHref); if (!$(this).hasClass("emailCaptcha")) { $(this).html(newHref.replace('mailto:', '')); } $(this).removeClass("visibility-hidden"); }); $(document).on('opened.fndtn.reveal', '[data-reveal]', function() { $(document).foundation('equalizer', 'reflow'); }); // fix the images that have tag height / width defined // otherwise the default foundation styles overwrite the tag definitions $("img").each(function() { if ($(this).attr('width') != undefined || $(this).attr('height') != undefined) { $(this).addClass("img-fixed"); } }); $("#basic_search, #advanced_search").submit(function(e) { var searchArguments = false; $(this).find("input,select").not("#search,.search-button").each(function() { if (undefined === $(this).val() || "" === $(this).val()) { $(this).attr('name', null); } else { $(this).attr('name'); searchArguments = true; } }); if (!searchArguments) { window.location = $(this).attr('action'); return false; } }); $(".hide-show-desktop-option").click(function(e) { e.preventDefault(); var parentDiv = $(this).closest("div"); $.ajax({ url: $(this).attr('href'), success: function(msg) { parentDiv.removeClass().hide(); } }); }); $(".generic-toggleable-header").click(function(e) { $(this).toggleClass("active"); $(this).next(".generic-toggleable-content").toggleClass("active"); }); /* * handle whole row as a link if the row contains only one visible link */ $("table.new tr").hover(function() { if ($(this).find("td:visible a").length == 1) { $(this).addClass("single-link"); } }, function() { $(this).removeClass("single-link"); }); $("table.new:not(.table-of-tables)").on("click", "tr.single-link", function(e) { var target = $(e.target); if (!e.ctrlKey && !target.is("a")) { $(this).find("td:visible a")[0].click(); } }); $(document).on("click", ".custom-accordion-for-small-screen-link", function(e) { if ($(this).closest("#basic_search").length > 0) { if ($(".search-container__advanced").first().is(":visible")) { openAdvanced() } } if (Foundation.utils.is_small_only()) { if ($(this).hasClass("active")) { $(this).removeClass("active"); $(this).next(".custom-accordion-for-small-screen-content").addClass("show-for-medium-up"); } else { $(this).addClass("active"); $(this).next(".custom-accordion-for-small-screen-content").removeClass("show-for-medium-up"); $(document).foundation('orbit', 'reflow'); } } if (undefined !== $(this).data("callback")) { var customCallback = $(this).data("callback"); func = window[customCallback]; func(); } }); $(document).on("click", ".js-open-small-search", function(e) { e.preventDefault(); $(this).toggleClass("active").closest(".tab-bar").toggleClass("active"); $(".search-container").toggleClass("hide-for-small-down"); }); $(document).on("click", ".js-open-menu", function(e) { $(".search-container").addClass("hide-for-small-down"); }); $(window).on('resize', function() { recalculate_main_browser_position(); recalculate_responsive_moving_containers(); }); updateSearchLabelVisibilities(); recalculate_main_browser_position(); recalculate_responsive_moving_containers(); if (window.document.documentMode == 11) { $("<link/>", { rel: "stylesheet", type: "text/css", href: "https://fonts.googleapis.com/icon?family=Material+Icons"}).appendTo("head"); } }); function recalculate_main_browser_position() { if (Foundation.utils.is_small_only()) { if ($("#js-main-top-container").parent("#js-large-main-top-container").length > 0) { $("#js-main-top-container").appendTo($("#js-small-main-top-container")); } } else { if ($("#js-main-top-container").parent("#js-small-main-top-container").length > 0) { $("#js-main-top-container").appendTo($("#js-large-main-top-container")); } } } function recalculate_responsive_moving_containers() { $(".responsive-moving-container.large").each(function() { var previousParent = $(".responsive-moving-container.active[data-id='"+$(this).data("id")+"']"); var movingContent = previousParent.html(); if (Foundation.utils.is_small_only()) { var currentParent = $(".responsive-moving-container.small[data-id='"+$(this).data("id")+"']"); } else if (Foundation.utils.is_medium_only()) { var currentParent = $(".responsive-moving-container.medium[data-id='"+$(this).data("id")+"']"); } else { var currentParent = $(".responsive-moving-container.large[data-id='"+$(this).data("id")+"']"); } if (previousParent.attr("class") !== currentParent.attr("class")) { currentParent.html(movingContent); previousParent.html(); currentParent.addClass("active"); previousParent.removeClass("active"); } }); } // cookies allowed is checked from a) local storage and b) from server separately so that the footer bar doesn't // get included in the custom page caches function checkCookiesAllowed() { var cookiesEnabled = localStorage.getItem("mdpi_cookies_enabled"); if (null === cookiesEnabled) { $.ajax({ url: "/ajax_cookie_value/mdpi_cookies_accepted", success: function(data) { if (data.value) { localStorage.setItem("mdpi_cookies_enabled", true); checkDisplaySurvey(); } else { $(".js-allow-cookies").show(); } } }); } else { checkDisplaySurvey(); } } function checkDisplaySurvey() { } window.addEventListener('CookiebotOnAccept', function (e) { var CookieDate = new Date; if (Cookiebot.consent.preferences) { CookieDate.setFullYear(CookieDate.getFullYear() + 1); document.cookie = "mdpi_layout_type_v2=mobile; path=/; expires=" + CookieDate.toUTCString() + ";"; $(".js-toggle-desktop-layout-link").css("display", "inline-block"); } }, false); window.addEventListener('CookiebotOnDecline', function (e) { if (!Cookiebot.consent.preferences) { $(".js-toggle-desktop-layout-link").hide(); if ("" === "desktop") { window.location = "/toggle_desktop_layout_cookie"; } } }, false); var hash = $(location).attr('hash'); if ("#share" === hash) { if (1 === $("#main-share-modal").length) { $('#main-share-modal').foundation('reveal', 'open'); } } </script> <script src="https://pub.mdpi-res.com/assets/js/lib.js?f8d3d71b3a772f9d?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/mdpi.js?c267ce58392b15da?1732286508"></script> <script>var banners_url = 'https://serve.mdpi.com';</script> <script type='text/javascript' src='https://pub.mdpi-res.com/assets/js/ifvisible.min.js?c621d19ecb761212?1732286508'></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/affix.js?ac4ea55275297c15?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/clipboard.min.js?3f3688138a1b9fc4?1732286508"></script> <script type="text/javascript"> $(document).ready(function() { var helpFunctions = $(".middle-column__help__fixed"); var leftColumnAffix = $(".left-column__fixed"); var middleColumn = $("#middle-column"); var clone = null; helpFunctions.affix({ offset: { top: function() { return middleColumn.offset().top - 8 - (Foundation.utils.is_medium_only() ? 30 : 0); }, bottom: function() { return $("#footer").innerHeight() + 74 + (Foundation.utils.is_medium_only() ? 0 : 0); } } }); if (leftColumnAffix.length > 0) { clone = leftColumnAffix.clone(); clone.addClass("left-column__fixed__affix"); clone.insertBefore(leftColumnAffix); clone.css('width', leftColumnAffix.outerWidth() + 50); clone.affix({ offset: { top: function() { return leftColumnAffix.offset().top - 30 - (Foundation.utils.is_medium_only() ? 50 : 0); }, bottom: function() { return $("#footer").innerHeight() + 92 + (Foundation.utils.is_medium_only() ? 0 : 0); } } }); } $(window).on("resize", function() { if (clone !== null) { clone.css('width', leftColumnAffix.outerWidth() + 50); } }); new ClipboardJS('.js-clipboard-copy'); }); </script> <script src="https://pub.mdpi-res.com/assets/js/jquery-ui-1.13.2.min.js?1e2047978946a1d2?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/slick.min.js?d5a61c749e44e471?1732286508"></script> <script> $(document).ready(function() { $(".link-article-menu").click(function(e) { e.preventDefault(); $(this).find('span').toggle(); $(this).next("div").toggleClass("active"); }); $(".js-similarity-related-articles").click(function(e) { e.preventDefault(); if ('' !== $('#recommended-articles-modal').attr('data-url')) { $('#recommended-articles-modal').foundation('reveal', 'open', $('#recommended-articles-modal').attr('data-url')); } }); $.ajax({ url: "/article/1526976/similarity-related/show-link", success: function(result) { if (result.show) { $('#recommended-articles-modal').attr('data-url', result.link); $('.js-article-similarity-container').show(); } } }); $(document).on('opened.fndtn.reveal', '[data-reveal]', function() { var modal = $(this); if (modal.attr('id') === "author-biographies-modal") { modal.find('.multiple-items').slick({ slidesToShow: 1, nextArrow: '<a class="slick-next" href="#"><i class="material-icons">chevron_right</i></a>', prevArrow: '<a class="slick-prev" href="#"><i class="material-icons">chevron_left</i></a>', slidesToScroll: 1, draggable: false, }); modal.find('.multiple-items').slick('refresh'); } }); }); </script> <script> $(document).ready(function() { $(document).on('keyup', function (e) { if (e.keyCode == 27) { var hElem = $(this).find(".annotator-adder"); if (hElem.length){ hElem.css({'visibility':'hidden'}); } else { document.querySelector("hypothesis-adder").shadowRoot.querySelector(".annotator-adder").style.visibility = "hidden"; } } }); }); </script> <script> window.hypothesisConfig = function () { return { sidebarAppUrl: 'https://commenting.mdpi.com/app.html', showHighlights: 'whenSidebarOpen' , openSidebar: false , assetRoot: 'https://commentingres.mdpi.com/hypothesis', services: [{ apiUrl: 'https://commenting.mdpi.com/api/', authority: 'mdpi', grantToken: '', doi: '10.3390/electronics13234609' }], }; }; </script> <script async id="hypothesis_frame"></script> <script type="text/javascript"> if (-1 !== window.location.href.indexOf("?src=")) { window.history.replaceState({}, '', `${location.pathname}`); } $(document).ready(function() { var scifeedCounter = 0; var search = window.location.search; var mathjaxReady = false; // late image file loading $("img[data-lsrc]").each(function() { $(this).attr("src", $(this).data("lsrc")); }); // late mathjax initialization var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.type = "text/x-mathjax-config"; script[(window.opera ? "innerHTML" : "text")] = "MathJax.Hub.processSectionDelay = 0;\n" + "MathJax.Hub.Config({\n" + " \"menuSettings\": {\n" + " CHTMLpreview: false\n" + " },\n" + " \"CHTML-preview\":{\n" + " disabled: true\n" + " },\n" + " \"HTML-CSS\": {\n" + " scale: 90,\n" + " availableFonts: [],\n" + " preferredFont: null,\n" + " preferredFonts: null,\n" + " webFont:\"Gyre-Pagella\",\n" + " imageFont:'TeX',\n" + " undefinedFamily:\"'Arial Unicode MS',serif\",\n" + " linebreaks: { automatic: false }\n" + " },\n" + " \"TeX\": {\n" + " extensions: ['noErrors.js'],\n" + " noErrors: {\n" + " inlineDelimiters: [\"\",\"\"],\n" + " multiLine: true,\n" + " style: {\n" + " 'font-size': '90%',\n" + " 'text-align': 'left',\n" + " 'color': 'black',\n" + " 'padding': '1px 3px',\n" + " 'border': '1px solid'\n" + " }\n" + " }\n" + " }\n" + "});\n" + "MathJax.Hub.Register.StartupHook('End', function() {\n" + " refreshMathjaxWidths();\n" + " mathjaxReady = true;\n" + "});\n" + "MathJax.Hub.Startup.signal.Interest(function (message) {\n" + " if (message == 'End') {\n" + " var hypoLink = document.getElementById('hypothesis_frame');\n" + " if (null !== hypoLink) {\n" + " hypoLink.setAttribute('src', 'https://commenting.mdpi.com/embed.js');\n" + " }\n" + " }\n" + "});"; head.appendChild(script); script = document.createElement("script"); script.type = "text/javascript"; script.src = "https://pub.mdpi-res.com/bundles/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; head.appendChild(script); // article version checker if (0 === search.indexOf('?type=check_update&version=')) { $.ajax({ url: "/2079-9292/13/23/4609" + "/versioncheck" + search, success: function(result) { $(".js-check-update-container").html(result); } }); } $('#feed_option').click(function() { // tracker if ($('#scifeed_clicked').length<1) { $(this).append('<span style="display:none" id="scifeed_clicked">done</span>'); } $('#feed_data').toggle('slide', { direction: 'up'}, '1000'); // slideToggle(700); OR toggle(700) $("#scifeed_error_msg").html('').hide(); $("#scifeed_notice_msg").html('').hide(); }); $('#feed_option').click(function(event) { setTimeout(function(){ var captchaSection = $("#captchaSection"); captchaSection.removeClass('ui-helper-hidden').find('input').prop('disabled', false); // var img = captchaSection.find('img'); // img.attr('src', img.data('url') + "?" + (new Date()).getTime()); // $(".captcha_reload").trigger("click"); var img = document.getElementById('gregwar_captcha_scifeed'); img.src = '/generate-captcha/gcb_captcha?n=' + (new Date()).getTime(); },800); }); $(document).on('click', '.split_feeds', function() { var name = $( this ).attr('name'); var flag = 1 - ($(this).is(":checked")*1); $('.split_feeds').each(function (index) { if ($( this ).attr('name') !== name) { $(this)[0].checked = flag; } }); }); $(document).on('click', '#scifeed_submit, #scifeed_submit1', function(event) { event.preventDefault(); $(".captcha_reload").trigger("click"); $("#scifeed_error_msg").html(""); $("#scifeed_error_msg").hide(); }); $(document).on('click', '.subscription_toggle', function(event) { if ($(this).val() === 'Create SciFeed' && $('#scifeed_hidden_flag').length>0) { event.preventDefault(); // alert('Here there would be a captcha because user is not logged in'); var captchaSection = $("#captchaSection"); if (captchaSection.hasClass('ui-helper-hidden')) { captchaSection.removeClass('ui-helper-hidden').find('input').prop('disabled', false); var img = captchaSection.find('img'); img.attr('src', img.data('url') + "?" + (new Date()).getTime()); $("#reloadCaptcha").trigger("click"); } } }); $(document).on('click', '.scifeed_msg', function(){ $(this).hide(); }); $(document).on('click', '.article-scilit-search', function(e) { e.preventDefault(); var data = $(".article-scilit-search-data").val(); var dataArray = data.split(';').map(function(keyword) { return "(\"" + keyword.trim() + "\")"; }); var searchQuery = dataArray.join(" OR "); var searchUrl = encodeURI("https://www.scilit.net/articles/search?q="+ searchQuery + "&advanced=1&highlight=1"); var win = window.open(searchUrl, '_blank'); if (win) { win.focus(); } else { window.location(searchUrl); } }); display_stats(); citedCount(); follow_goto(); // Select the node that will be observed for mutations const targetNodes = document.getElementsByClassName('hypothesis-count-container'); // Options for the observer (which mutations to observe) const config = { attributes: false, childList: true, subtree: false }; // Callback function to execute when mutations are observed const callback = function(mutationList, observer) { for(const mutation of mutationList) { if (mutation.type === 'childList') { let node = $(mutation.target); if (parseInt(node.html()) > 0) { node.show(); } } } }; // Create an observer instance linked to the callback function const observer = new MutationObserver(callback); // Start observing the target node for configured mutations for(const targetNode of targetNodes) { observer.observe(targetNode, config); } // Select the node that will be observed for mutations const mathjaxTargetNode = document.getElementById('middle-column'); // Callback function to execute when mutations are observed const mathjaxCallback = function(mutationList, observer) { if (mathjaxReady && typeof(MathJax) !== 'undefined') { refreshMathjaxWidths(); } }; // Create an observer instance linked to the callback function const mathjaxObserver = new ResizeObserver(mathjaxCallback); // Start observing the target node for configured mutations mathjaxObserver.observe(mathjaxTargetNode); }); /* END $(document).ready */ function refreshMathjaxWidths() { let width = ($('.html-body').width()*0.9) + "px"; $('.MathJax_Display').css('max-width', width); $('.MJXc-display').css('max-width', width); } function sendScifeedFrom(form) { if (!$('#scifeed_email').val().trim()) { // empty email alert('Please, provide an email for subscribe to this scifeed'); return false; } else if (!$('#captchaSection').hasClass('ui-helper-hidden') && !$('#captchaSection').find('input').val().trim()) { // empty captcha alert('Please, fill the captcha field.'); return false; } else if( ((($('#scifeed_form').find('input:checkbox:checked').length)-($('#split_feeds:checked').length))<1) || ($('#scifeed_kwd_txt').length < 0 && !$('#scifeed_kwd_txt').val().trim()) || ($('#scifeed_author_txt').length<0 &&!$('#scifeed_author_txt').val().trim()) ) { alert('You did not select anything to subscribe'); return false; } else if(($('#scifeed_form').find('input:checkbox:checked').length)-($('#split_feeds2:checked').length)<1){ alert("You did not select anything to subscribe"); return false; } else { var url = $('#scifeed_subscribe_url').html(); var formData = $(form).serializeArray(); $.post(url, formData).done(function (data) { if (JSON.parse(data)) { $('.scifeed_msg').hide(); var res = JSON.parse(data); var successFeeds = 0; var errorFeeds = 0; if (res) { $('.scifeed_msg').html(''); $.each(res, function (index, val) { if (val) { if (val.error) { errorFeeds++; $("#scifeed_error_msg").append(index+' - '+val.error+'<br>'); } if (val.notice) // for successful feed creation { successFeeds++; // $("#scifeed_notice_msg").append(index+' - '+val.notice+'<br>'); $("#scifeed_notice_msg").append('<li>'+index+'</li>'); } } }); if (successFeeds>0) { text = $('#scifeed_notice_msg').html(); text = 'The following feed'+(successFeeds>1?'s have':' has')+ ' been sucessfully created:<br><ul>'+ text + '</ul>' +($('#scifeed_hidden_flag').length>0 ? 'You are not logged in, so you probably need to validate '+ (successFeeds>1?'them':' it')+'.<br>' :'' ) +'Please check your email'+(successFeeds>1?'s':'')+' for more details.'; //(successFeeds>1?' for each of them':'')+'.<br>'; $("#scifeed_notice_msg").html(text); $("#scifeed_notice_msg").show(); } if (errorFeeds>0) { $("#scifeed_error_msg").show();; } } $("#feed_data").hide(); } }); } } function follow_goto() { var hashStr = location.hash.replace("#",""); if(typeof hashStr !== 'undefined') { if( hashStr == 'supplementary') { document.getElementById('suppl_id').scrollIntoView(); } if( hashStr == 'citedby') { document.getElementById('cited_id').scrollIntoView(); } } } function cited() { $("#framed_div").toggle('fast', function(){ if ($(this).css('display') != 'none') { var loaded = document.getElementById("loaded"); if(loaded.innerHTML == "No") { // Load Xref result var container = document.getElementById("framed_div"); // This replace the content container.innerHTML = "<img src=\"https://pub.mdpi-res.com/img/loading_circle.gif?9a82694213036313?1732286508\" height=\"20\" width=\"20\" alt=\"Processing...\" style=\"vertical-align:middle; margin-right:0.6em;\">"; var url = "/citedby/10.3390%252Felectronics13234609/127"; $.post(url, function(result) { if (result.success) { container.innerHTML = result.view; } loaded.innerHTML = "Yes"; }); } } return true; // for not going at the beginning of the page... }) return true; // for not going at the beginning of the page... } function detect_device() { // Added by Bastien (18/08/2014): based on the http://detectmobilebrowsers.com/ detector var check = false; (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); return check; } function display_stats(){ $("#article_stats_div").toggle(); return false; } /* * Cited By Scopus */ function citedCount(){ $("#framed_div_cited_count").toggle('fast', function(){ if ($(this).css('display') != 'none') { var loaded = document.getElementById("loaded_cite_count"); // to load only once the result! if(loaded.innerHTML == "No") { // Load Xref result var d = document.getElementById("framed_div_cited_count"); // This replace the content d.innerHTML = "<img src=\"https://pub.mdpi-res.com/img/loading_circle.gif?9a82694213036313?1732286508\" height=\"20\" width=\"20\" alt=\"Processing...\" style=\"vertical-align:middle; margin-right:0.6em;\">"; $.ajax({ method : "POST", url : "/cite-count/10.3390%252Felectronics13234609", success : function(data) { if (data.succ) { d.innerHTML = data.view; loaded.innerHTML = "Yes"; follow_goto(); } } }); } } // end else return true; // for not going at the beginning of the page... }) return true; // for not going at the beginning of the page... } </script><script type="text/javascript" src="https://pub.mdpi-res.com/assets/js/third-party/highcharts/highcharts.js?bdd06f45e34c33df?1732286508"></script><script type="text/javascript" src="https://pub.mdpi-res.com/assets/js/third-party/highcharts/modules/exporting.js?944dc938d06de3a8?1732286508"></script><script type="text/javascript" defer="defer"> var advancedStatsData; var selectedStatsType = "abstract"; $(function(){ var countWrapper = $('#counts-wrapper'); $('#author_stats_id #type_links a').on('click', function(e) { e.preventDefault(); selectedStatsType = $(this).data('type'); $('#article_advanced_stats').vectorMap('set', 'values', advancedStatsData[selectedStatsType]); $('#advanced_stats_max').html(advancedStatsData[selectedStatsType].max); $('#type_links a').removeClass('active'); $(this).addClass('active'); }); $.get('/2079-9292/13/23/4609/stats', function (result) { if (!result.success) { return; } // process article metrics part in left column var viewNumber = countWrapper.find(".view-number"); viewNumber.html(result.metrics.views); viewNumber.parent().toggleClass("count-div--grey", result.metrics.views == 0); var downloadNumber = countWrapper.find(".download-number"); downloadNumber.html(result.metrics.downloads); downloadNumber.parent().toggleClass("count-div--grey", result.metrics.downloads == 0); var citationsNumber = countWrapper.find(".citations-number"); citationsNumber.html(result.metrics.citations); citationsNumber.parent().toggleClass("count-div--grey", result.metrics.citations == 0); if (result.metrics.views > 0 || result.metrics.downloads > 0 || result.metrics.citations > 0) { countWrapper.find("#js-counts-wrapper__views, #js-counts-wrapper__downloads").addClass("visible").show(); if (result.metrics.citations > 0) { countWrapper.find('.citations-number').html(result.metrics.citations).show(); countWrapper.find("#js-counts-wrapper__citations").addClass("visible").show(); } else { countWrapper.find("#js-counts-wrapper__citations").remove(); } $("[data-id='article-counters']").removeClass("hidden"); } if (result.metrics.altmetrics_score > 0) { $("#js-altmetrics-donut").show(); } // process view chart in main column var jsondata = result.chart; var series = new Array(); $.each(jsondata.elements, function(i, element) { var dataValues = new Array(); $.each(element.values, function(i, value) { dataValues.push(new Array(value.tip, value.value)); }); series[i] = {name: element.text, data:dataValues}; }); Highcharts.setOptions({ chart: { style: { fontFamily: 'Arial,sans-serif' } } }); $('#article_stats_swf').highcharts({ chart: { type: 'line', width: $("#tabs").width() //* 0.91 }, credits: { enabled: false }, exporting: { enabled: true }, title: { text: jsondata.title.text, x: -20 //center }, xAxis: { categories: jsondata.x_axis.labels.labels, offset: jsondata.x_axis.offset, labels:{ step: jsondata.x_axis.labels.steps, rotation: 30 } }, yAxis: { max: jsondata.y_axis.max, min: jsondata.y_axis.min, offset: jsondata.y_axis.offset, labels: { steps: jsondata.y_axis.steps }, title: { enabled: false } }, tooltip: { formatter: function (){ return this.key.replace("#val#", this.y); } }, legend: { align: 'top', itemDistance: 50 }, series: series }); }); $('#supplement_link').click(function() { document.getElementById('suppl_id').scrollIntoView(); }); $('#stats_link').click(function() { document.getElementById('stats_id').scrollIntoView(); }); // open mol viewer for molbank special supplementary files $('.showJmol').click(function(e) { e.preventDefault(); var jmolModal = $("#jmolModal"); var url = "/article/1526976/jsmol_viewer/__supplementary_id__"; url = url.replace(/__supplementary_id__/g, $(this).data('index')); $('#jsmol-content').attr('src', url); jmolModal.find(".content").html($(this).data('description')); jmolModal.foundation("reveal", "open"); }); }); !function() { "use strict"; function e(e) { try { if ("undefined" == typeof console) return; "error"in console ? console.error(e) : console.log(e) } catch (e) {} } function t(e) { return d.innerHTML = '<a href="' + e.replace(/"/g, """) + '"></a>', d.childNodes[0].getAttribute("href") || "" } function n(n, c) { var o = ""; var k = parseInt(n.substr(c + 4, 2), 16); for (var i = c; i < n.length; i += 2) { if (i != c + 4) { var s = parseInt(n.substr(i, 2), 16) ^ k; o += String.fromCharCode(s); } } try { o = decodeURIComponent(escape(o)); } catch (error) { console.error(error); } return t(o); } function c(t) { for (var r = t.querySelectorAll("a"), c = 0; c < r.length; c++) try { var o = r[c] , a = o.href.indexOf(l); a > -1 && (o.href = "mailto:" + n(o.href, a + l.length)) } catch (i) { e(i) } } function o(t) { for (var r = t.querySelectorAll(u), c = 0; c < r.length; c++) try { var o = r[c] , a = o.parentNode , i = o.getAttribute(f); if (i) { var l = n(i, 0) , d = document.createTextNode(l); a.replaceChild(d, o) } } catch (h) { e(h) } } function a(t) { for (var r = t.querySelectorAll("template"), n = 0; n < r.length; n++) try { i(r[n].content) } catch (c) { e(c) } } function i(t) { try { c(t), o(t), a(t) } catch (r) { e(r) } } var l = "/cnd-cgi/l/email-protection#" , u = ".__cf_email__" , f = "data-cfemail" , d = document.createElement("div"); i(document), function() { var e = document.currentScript || document.scripts[document.scripts.length - 1]; e.parentNode.removeChild(e) }() }(); </script><script type="text/javascript"> function setCookie(cname, cvalue, ctime) { ctime = (typeof ctime === 'undefined') ? 10*365*24*60*60*1000 : ctime; // default => 10 years var d = new Date(); d.setTime(d.getTime() + ctime); // ==> 1 hour = 60*60*1000 var expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires +"; path=/"; } function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ""; } </script><script type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script><script> $(document).ready(function() { if ($("#js-similarity-related-data").length > 0) { $.ajax({ url: '/article/1526976/similarity-related', success: function(response) { $("#js-similarity-related-data").html(response); $("#js-related-articles-menu").show(); $(document).foundation('tab', 'reflow'); MathJax.Hub.Queue(["Typeset", MathJax.Hub]); } }); } }); </script><link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/jquery-ui-1.10.4.custom.min.css?80647d88647bf347?1732286508"><link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/magnific-popup.min.css?04d343e036f8eecd?1732286508"><script type="text/javascript" src="https://pub.mdpi-res.com/assets/js/magnific-popup.min.js?2be3d9e7dc569146?1732286508"></script><script> $(function() { $(".js-show-more-academic-editors").on("click", function(e) { e.preventDefault(); $(this).hide(); $(".academic-editor-container").removeClass("hidden"); }); }); </script> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/vmap/jqvmap.min.css?126a06688aa11c13?1732286508"> <script src="https://pub.mdpi-res.com/assets/js/vmap/jquery.vmap.min.js?935f68d33bdd88a1?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/vmap/jquery.vmap.world.js?16677403c0e1bef1?1732286508"></script> <script> function updateSlick() { $('.multiple-items').slick('setPosition'); } $(document).ready(function() { $('.multiple-items').slick({ slidesToShow: 1, nextArrow: '<a class="slick-next" href="#"><i class="material-icons">chevron_right</i></a>', prevArrow: '<a class="slick-prev" href="#"><i class="material-icons">chevron_left</i></a>', slidesToScroll: 1, responsive: [ { breakpoint: 1024, settings: { slidesToShow: 1, slidesToScroll: 1, } }, { breakpoint: 600, settings: { slidesToShow: 1, slidesToScroll: 1, } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1, } } ] }); $('.multiple-items').show(); $(document).on('click', '.reviewReportSelector', function(e) { let path = $(this).attr('data-path'); handleReviews(path, $(this)); }); $(document).on('click', '.viewReviewReports', function(e) { let versionOne = $('#versionTab_1'); if (!versionOne.hasClass('activeTab')) { let path = $(this).attr('data-path'); handleReviews(path, versionOne); } location.href = "#reviewReports"; }); $(document).on('click', '.reviewersResponse, .authorResponse', function(e) { let version = $(this).attr('data-version'); let targetVersion = $('#versionTab_' + version); if (!targetVersion.hasClass('activeTab')) { let path = targetVersion.attr('data-path'); handleReviews(path, targetVersion); } location.href = $(this).attr('data-link'); }); $(document).on('click', '.tab', function (e) { e.preventDefault(); $('.tab').removeClass('activeTab'); $(this).addClass('activeTab') $('.tab').each(function() { $(this).closest('.tab-title').removeClass('active'); }); $(this).closest('.tab-title').addClass('active') }); }); function handleReviews(path, target) { $.ajax({ url: path, context: this, success: function (data) { $('.activeTab').removeClass('activeTab'); target.addClass('activeTab'); $('#reviewSection').html(data.view); }, error: function (xhr, ajaxOptions, thrownError) { console.log(xhr.status); console.log(thrownError); } }); } </script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/affix.js?v1?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/storage.js?e9b262d3a3476d25?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/jquery-scrollspy.js?09cbaec0dbb35a67?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/magnific-popup.js?4a09c18460afb26c?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/underscore.js?f893e294cde60c24?1732286508"></script> <script type="text/javascript"> $('document').ready(function(){ $("#left-column").addClass("show-for-large-up"); $("#middle-column").removeClass("medium-9").removeClass("left-bordered").addClass("medium-12"); $(window).on('resize scroll', function() { /* if ($('.button--drop-down').isInViewport($(".top-bar").outerHeight())) { */ if ($('.button--drop-down').isInViewport()) { $("#js-button-download").hide(); } else { $("#js-button-download").show(); } }); }); $(document).on('DOMNodeInserted', function(e) { var element = $(e.target); if (element.hasClass('menu') && element.hasClass('html-nav') ) { element.addClass("side-menu-ul"); } }); </script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/articles.js?5118449d9ad8913a?1732286508"></script> <script> repositionOpenSideBar = function() { $('#left-column').addClass("show-for-large-up show-for-medium-up").show(); $('#middle-column').removeClass('large-12').removeClass('medium-12'); $('#middle-column').addClass('large-9'); } repositionCloseSideBar = function() { $('#left-column').removeClass("show-for-large-up show-for-medium-up").hide(); $('#middle-column').removeClass('large-9'); $('#middle-column').addClass('large-12').addClass('medium-12'); } </script> <!--[if lt IE 9]> <script src="https://pub.mdpi-res.com/assets/js/ie8/ie8.js?6eef8fcbc831f5bd?1732286508"></script> <script src="https://pub.mdpi-res.com/assets/js/ie8/jquery.xdomainrequest.min.js?a945caca315782b0?1732286508"></script> <![endif]--> <!-- Twitter universal website tag code --> <script type="text/plain" data-cookieconsent="marketing"> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); // Insert Twitter Pixel ID and Standard Event data below twq('init','o2pip'); twq('track','PageView'); </script> <!-- End Twitter universal website tag code --> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e720164eac89cc8',t:'MTczMjM3Mzc4Mi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>