CINXE.COM
IETF Standardization in the Field of the Internet of Things (IoT): A Survey
<!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>IETF Standardization in the Field of the Internet of Things (IoT): A Survey</title><link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/font-awesome.min.css?eb190a3a77e5e1ee?1732884643"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/jquery.multiselect.css?f56c135cbf4d1483?1732884643"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/chosen.min.css?d7ca5ca9441ef9e1?1732884643"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/main2.css?69b39374e6b554b7?1732884643"> <link rel="mask-icon" href="https://pub.mdpi-res.com/img/mask-icon-128.svg?c1c7eca266cd7013?1732884643" color="#4f5671"> <link rel="apple-touch-icon" sizes="180x180" href="https://pub.mdpi-res.com/icon/apple-touch-icon-180x180.png?1732884643"> <link rel="apple-touch-icon" sizes="152x152" href="https://pub.mdpi-res.com/icon/apple-touch-icon-152x152.png?1732884643"> <link rel="apple-touch-icon" sizes="144x144" href="https://pub.mdpi-res.com/icon/apple-touch-icon-144x144.png?1732884643"> <link rel="apple-touch-icon" sizes="120x120" href="https://pub.mdpi-res.com/icon/apple-touch-icon-120x120.png?1732884643"> <link rel="apple-touch-icon" sizes="114x114" href="https://pub.mdpi-res.com/icon/apple-touch-icon-114x114.png?1732884643"> <link rel="apple-touch-icon" sizes="76x76" href="https://pub.mdpi-res.com/icon/apple-touch-icon-76x76.png?1732884643"> <link rel="apple-touch-icon" sizes="72x72" href="https://pub.mdpi-res.com/icon/apple-touch-icon-72x72.png?1732884643"> <link rel="apple-touch-icon" sizes="57x57" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732884643"> <link rel="apple-touch-icon" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732884643"> <link rel="apple-touch-icon-precomposed" href="https://pub.mdpi-res.com/icon/apple-touch-icon-57x57.png?1732884643"> <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/jsan-logo-sq.png?7d72d0cb50b582ad"> <link rel="apple-touch-icon" href="https://pub.mdpi-res.com/img/journals/jsan-logo-sq.png?7d72d0cb50b582ad"> <meta name="msapplication-TileImage" content="https://pub.mdpi-res.com/img/journals/jsan-logo-sq.png?7d72d0cb50b582ad"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/jquery-ui-1.10.4.custom.min.css?80647d88647bf347?1732884643"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/magnific-popup.min.css?04d343e036f8eecd?1732884643"> <link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/xml2html/article-html.css?230b005b39af4260?1732884643"> <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(11,40,23,0.75) !important; font-weight: 700; } .accordion-navigation__journal .side-menu-li:hover::before , .accordion-navigation__journal .side-menu-li:hover a { color: rgba(11,40,23,0.75) !important; } .side-menu-ul li.active a, .side-menu-ul li.active, .side-menu-ul li.active::before { color: rgba(11,40,23,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(11,40,23,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(11,40,23,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?1732884643"> <meta name="title" content="IETF Standardization in the Field of the Internet of Things (IoT): A Survey"> <meta name="description" content="Smart embedded objects will become an important part of what is called the Internet of Things. However, the integration of embedded devices into the Internet introduces several challenges, since many of the existing Internet technologies and protocols were not designed for this class of devices. In the past few years, there have been many efforts to enable the extension of Internet technologies to constrained devices. Initially, this resulted in proprietary protocols and architectures. Later, the integration of constrained devices into the Internet was embraced by IETF, moving towards standardized IP-based protocols. In this paper, we will briefly review the history of integrating constrained devices into the Internet, followed by an extensive overview of IETF standardization work in the 6LoWPAN, ROLL and CoRE working groups. This is complemented with a broad overview of related research results that illustrate how this work can be extended or used to tackle other problems and with a discussion on open issues and challenges. As such the aim of this paper is twofold: apart from giving readers solid insights in IETF standardization work on the Internet of Things, it also aims to encourage readers to further explore the world of Internet-connected objects, pointing to future research opportunities." > <link rel="image_src" href="https://pub.mdpi-res.com/img/journals/jsan-logo.png?7d72d0cb50b582ad" > <meta name="dc.title" content="IETF Standardization in the Field of the Internet of Things (IoT): A Survey"> <meta name="dc.creator" content="Isam Ishaq"> <meta name="dc.creator" content="David Carels"> <meta name="dc.creator" content="Girum K. Teklemariam"> <meta name="dc.creator" content="Jeroen Hoebeke"> <meta name="dc.creator" content="Floris Van den Abeele"> <meta name="dc.creator" content="Eli De Poorter"> <meta name="dc.creator" content="Ingrid Moerman"> <meta name="dc.creator" content="Piet Demeester"> <meta name="dc.type" content="Review"> <meta name="dc.source" content="Journal of Sensor and Actuator Networks 2013, Vol. 2, Pages 235-287"> <meta name="dc.date" content="2013-04-25"> <meta name ="dc.identifier" content="10.3390/jsan2020235"> <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="Smart embedded objects will become an important part of what is called the Internet of Things. However, the integration of embedded devices into the Internet introduces several challenges, since many of the existing Internet technologies and protocols were not designed for this class of devices. In the past few years, there have been many efforts to enable the extension of Internet technologies to constrained devices. Initially, this resulted in proprietary protocols and architectures. Later, the integration of constrained devices into the Internet was embraced by IETF, moving towards standardized IP-based protocols. In this paper, we will briefly review the history of integrating constrained devices into the Internet, followed by an extensive overview of IETF standardization work in the 6LoWPAN, ROLL and CoRE working groups. This is complemented with a broad overview of related research results that illustrate how this work can be extended or used to tackle other problems and with a discussion on open issues and challenges. As such the aim of this paper is twofold: apart from giving readers solid insights in IETF standardization work on the Internet of Things, it also aims to encourage readers to further explore the world of Internet-connected objects, pointing to future research opportunities." > <meta name="dc.subject" content="Internet of Things" > <meta name="dc.subject" content="standardization" > <meta name="dc.subject" content="survey" > <meta name="dc.subject" content="constrained devices" > <meta name="dc.subject" content="IETF ROLL" > <meta name="dc.subject" content="IETF CoRE" > <meta name="dc.subject" content="IETF 6LoWPAN" > <meta name="dc.subject" content="RPL" > <meta name="dc.subject" content="CoAP" > <meta name="dc.subject" content="Web of Things" > <meta name ="prism.issn" content="2224-2708"> <meta name ="prism.publicationName" content="Journal of Sensor and Actuator Networks"> <meta name ="prism.publicationDate" content="2013-04-25"> <meta name ="prism.volume" content="2"> <meta name ="prism.number" content="2"> <meta name ="prism.section" content="Review" > <meta name ="prism.startingPage" content="235" > <meta name ="prism.endingPage" content="287" > <meta name="citation_issn" content="2224-2708"> <meta name="citation_journal_title" content="Journal of Sensor and Actuator Networks"> <meta name="citation_publisher" content="Multidisciplinary Digital Publishing Institute"> <meta name="citation_title" content="IETF Standardization in the Field of the Internet of Things (IoT): A Survey"> <meta name="citation_publication_date" content="2013/6"> <meta name="citation_online_date" content="2013/04/25"> <meta name="citation_volume" content="2"> <meta name="citation_issue" content="2"> <meta name="citation_firstpage" content="235"> <meta name="citation_author" content="Ishaq, Isam"> <meta name="citation_author" content="Carels, David"> <meta name="citation_author" content="Teklemariam, Girum K."> <meta name="citation_author" content="Hoebeke, Jeroen"> <meta name="citation_author" content="Abeele, Floris Van den"> <meta name="citation_author" content="Poorter, Eli De"> <meta name="citation_author" content="Moerman, Ingrid"> <meta name="citation_author" content="Demeester, Piet"> <meta name ="citation_lastpage" content="287" > <meta name="citation_doi" content="10.3390/jsan2020235"> <meta name="citation_id" content="mdpi-jsan2020235"> <meta name="citation_abstract_html_url" content="https://www.mdpi.com/2224-2708/2/2/235"> <meta name="citation_pdf_url" content="https://www.mdpi.com/2224-2708/2/2/235/pdf?version=1366896384"> <link rel="alternate" type="application/pdf" title="PDF Full-Text" href="https://www.mdpi.com/2224-2708/2/2/235/pdf?version=1366896384"> <meta name="fulltext_pdf" content="https://www.mdpi.com/2224-2708/2/2/235/pdf?version=1366896384"> <meta name="citation_fulltext_html_url" content="https://www.mdpi.com/2224-2708/2/2/235/htm"> <link rel="alternate" type="text/html" title="HTML Full-Text" href="https://www.mdpi.com/2224-2708/2/2/235/htm"> <meta name="fulltext_html" content="https://www.mdpi.com/2224-2708/2/2/235/htm"> <link rel="alternate" type="text/xml" title="XML Full-Text" href="https://www.mdpi.com/2224-2708/2/2/235/xml"> <meta name="fulltext_xml" content="https://www.mdpi.com/2224-2708/2/2/235/xml"> <meta name="citation_xml_url" content="https://www.mdpi.com/2224-2708/2/2/235/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/jsan-logo-social.png?7d72d0cb50b582ad" /> <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/2224-2708/2/2/235" /> <meta property="og:title" content="IETF Standardization in the Field of the Internet of Things (IoT): A Survey" /> <meta property="og:description" content="Smart embedded objects will become an important part of what is called the Internet of Things. However, the integration of embedded devices into the Internet introduces several challenges, since many of the existing Internet technologies and protocols were not designed for this class of devices. In the past few years, there have been many efforts to enable the extension of Internet technologies to constrained devices. Initially, this resulted in proprietary protocols and architectures. Later, the integration of constrained devices into the Internet was embraced by IETF, moving towards standardized IP-based protocols. In this paper, we will briefly review the history of integrating constrained devices into the Internet, followed by an extensive overview of IETF standardization work in the 6LoWPAN, ROLL and CoRE working groups. This is complemented with a broad overview of related research results that illustrate how this work can be extended or used to tackle other problems and with a discussion on open issues and challenges. As such the aim of this paper is twofold: apart from giving readers solid insights in IETF standardization work on the Internet of Things, it also aims to encourage readers to further explore the world of Internet-connected objects, pointing to future research opportunities." /> <meta property="og:image" content="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-ag-550.jpg?1580949960" /> <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?1732884643"> <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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/ie8/rem.min.js?94b62787dcd6d2f2?1732884643"></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="/2224-2708/2/2/288">TinyCoAP: A Novel Constrained Application Protocol (CoAP) Implementation for Embedding RESTful Web Services in Wireless Sensor Networks Based on TinyOS</a></div> Next Article in Special Issue<br> <div><a href="/2224-2708/2/3/388">Prototyping an Operational System with Multiple Sensors for Pasture Monitoring</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="/2224-2708/2/2/213">Channel Allocation in Wireless Networks with Directional Antennas</a></div> Previous Article in Special Issue<br> <div><a href="/2224-2708/2/2/172">Semantic Models for Scalable Search in the Internet of Things</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?1732884643" 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?1732884643" 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=jsan " 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" > 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" selected='selected'> 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="2" /> </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="2" /> </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/jsan">JSAN</a> </div> <div class="breadcrumb__element"> <a href="/2224-2708/2">Volume 2</a> </div> <div class="breadcrumb__element"> <a href="/2224-2708/2/2">Issue 2</a> </div> <div class="breadcrumb__element"> <a href="#">10.3390/jsan2020235</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/jsan"> <img src="https://pub.mdpi-res.com/img/journals/jsan-logo.png?7d72d0cb50b582ad" alt="jsan-logo" title="Journal of Sensor and Actuator Networks" 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%3D138" 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/jsan" data-path="/2224-2708/2/2/235" 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-direct-link"> <a href="/2224-2708/2/2/235/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-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=IETF%20Standardization%20in%20the%20Field%20of%20the%20%20Internet%20of%20Things%20%28IoT%29%3A%20A%20Survey" 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%22Isam%20Ishaq%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">Ishaq, I.</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%22David%20Carels%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">Carels, D.</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%22Girum%20K.%20Teklemariam%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">Teklemariam, G. K.</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%22Jeroen%20Hoebeke%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">Hoebeke, J.</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%22Floris%20Van%20den%20Abeele%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">Abeele, F. Van den</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%22Eli%20De%20Poorter%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">Poorter, E. De</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%22Ingrid%20Moerman%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">Moerman, I.</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%22Piet%20Demeester%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">Demeester, P.</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=Isam%20Ishaq" target="_blank" rel="noopener noreferrer">Ishaq, I.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=David%20Carels" target="_blank" rel="noopener noreferrer">Carels, D.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Girum%20K.%20Teklemariam" target="_blank" rel="noopener noreferrer">Teklemariam, G. K.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Jeroen%20Hoebeke" target="_blank" rel="noopener noreferrer">Hoebeke, J.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Floris%20Van%20den%20Abeele" target="_blank" rel="noopener noreferrer">Abeele, F. Van den</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Eli%20De%20Poorter" target="_blank" rel="noopener noreferrer">Poorter, E. De</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Ingrid%20Moerman" target="_blank" rel="noopener noreferrer">Moerman, I.</a> <li> </li> <li class="li-link"> <a href="https://scholar.google.com/scholar?q=Piet%20Demeester" target="_blank" rel="noopener noreferrer">Demeester, P.</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=Isam%20Ishaq" target="_blank" rel="noopener noreferrer">Ishaq, I.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=David%20Carels" target="_blank" rel="noopener noreferrer">Carels, D.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Girum%20K.%20Teklemariam" target="_blank" rel="noopener noreferrer">Teklemariam, G. K.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Jeroen%20Hoebeke" target="_blank" rel="noopener noreferrer">Hoebeke, J.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Floris%20Van%20den%20Abeele" target="_blank" rel="noopener noreferrer">Abeele, F. Van den</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Eli%20De%20Poorter" target="_blank" rel="noopener noreferrer">Poorter, E. De</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Ingrid%20Moerman" target="_blank" rel="noopener noreferrer">Moerman, I.</a> <li> </li> <li class="li-link"> <a href="http://www.pubmed.gov/?cmd=Search&term=Piet%20Demeester" target="_blank" rel="noopener noreferrer">Demeester, P.</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/jsan2020235'></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/2224-2708/2/2/235/cite" > <i class="material-icons">format_quote</i> <span>Cite</span> </a> <a href="https://sciprofiles.com/discussion-groups/public/10.3390/jsan2020235?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="/2224-2708/2/2/235/pdf?version=1366896384" data-name="IETF Standardization in the Field of the Internet of Things (IoT): A Survey" data-journal="jsan"> <i class="material-icons custom-download"></i> Download PDF </a> <div class='nav-btn'> <i class='material-icons'>settings</i> </div> <a href="/2224-2708/2/2/235/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/2224-2708/2/2/235"></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">Review</span></div> <h1 class="title hypothesis_container" itemprop="name"> IETF Standardization in the Field of the Internet of Things (IoT): A Survey </h1> <div class="art-authors hypothesis_container"> by <span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176346' data-options='is_hover:true, hover_timeout:5000'> Isam Ishaq</div><div id="profile-card-drop176346" 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">Isam Ishaq</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/40630?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=Isam%20Ishaq" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Isam%20Ishaq&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Isam%20Ishaq" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup> *</sup><span style="display: inline; margin-left: 5px;"></span><a class="toEncode emailCaptcha visibility-hidden" data-author-id="176346" href="/cdn-cgi/l/email-protection#e3cc808d87ce80848acc8fcc868e828a8fce93918c978680978a8c8dc0d3d3d282d5dad3dbd3d7d7d4d3d3d282d3d2d3dbd2dbd1dad3d3d3d4d287d380d382d7d4d280d386d380d3d4d287d7d4d381d380"><sup><i class="fa fa-envelope-o"></i></sup></a>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176347' data-options='is_hover:true, hover_timeout:5000'> David Carels</div><div id="profile-card-drop176347" 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">David Carels</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/author/a3NMcHJnQkIrc0s0bnhkRXpvZE56d29JZlYrTnk4alY3U2pBc2U0alZPMD0=?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=David%20Carels" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=David%20Carels&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=David%20Carels" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176348' data-options='is_hover:true, hover_timeout:5000'> Girum K. Teklemariam</div><div id="profile-card-drop176348" 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">Girum K. Teklemariam</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/186523?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=Girum%20K.%20Teklemariam" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Girum%20K.%20Teklemariam&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Girum%20K.%20Teklemariam" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176349' data-options='is_hover:true, hover_timeout:5000'> Jeroen Hoebeke</div><div id="profile-card-drop176349" 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">Jeroen Hoebeke</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/76263?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=Jeroen%20Hoebeke" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Jeroen%20Hoebeke&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Jeroen%20Hoebeke" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup><a href="https://orcid.org/0000-0003-2039-007X" target="_blank" rel="noopener noreferrer"><img src="https://pub.mdpi-res.com/img/design/orcid.png?0465bc3812adeb52?1732884643" title="ORCID" style="position: relative; width: 13px; margin-left: 3px; max-width: 13px !important; height: auto; top: -5px;"></a>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176350' data-options='is_hover:true, hover_timeout:5000'> Floris Van den Abeele</div><div id="profile-card-drop176350" 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">Floris Van den Abeele</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/author/TGdyaGFwOG5LR2lIa2NnUzNGbGNDaFdPWFFiV2lXYUExN1BzQ1BwNEFTQU9YVHA4dzZjcjI0OUxRRk9MRFkybA==?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=Floris%20Van%20den%20Abeele" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Floris%20Van%20den%20Abeele&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Floris%20Van%20den%20Abeele" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176351' data-options='is_hover:true, hover_timeout:5000'> Eli De Poorter</div><div id="profile-card-drop176351" 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">Eli De Poorter</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/138648?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=Eli%20De%20Poorter" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Eli%20De%20Poorter&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Eli%20De%20Poorter" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup>, </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176352' data-options='is_hover:true, hover_timeout:5000'> Ingrid Moerman</div><div id="profile-card-drop176352" 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/306326/thumb/Ingrid_Moerman.png" style="width: auto; height: 16px; border-radius: 50%;"><span class="sciprofiles-link__name">Ingrid Moerman</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/306326?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=Ingrid%20Moerman" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Ingrid%20Moerman&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Ingrid%20Moerman" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup><a href="https://orcid.org/0000-0003-2377-3674" target="_blank" rel="noopener noreferrer"><img src="https://pub.mdpi-res.com/img/design/orcid.png?0465bc3812adeb52?1732884643" title="ORCID" style="position: relative; width: 13px; margin-left: 3px; max-width: 13px !important; height: auto; top: -5px;"></a> and </span><span class="inlineblock "><div class='profile-card-drop' data-dropdown='profile-card-drop176353' data-options='is_hover:true, hover_timeout:5000'> Piet Demeester</div><div id="profile-card-drop176353" 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">Piet Demeester</span></div></div></div><div class="profile-card__buttons" style="margin-bottom: 10px;"><a href="https://sciprofiles.com/profile/author/YUltYmNBbUF0azNOZTA4cURtUzdIV29WOWVoSEJmWW5iTTd0SFhNakluVT0=?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=Piet%20Demeester" class="button button--color-inversed" target="_blank"> Scilit </a><a href="https://www.preprints.org/search?search1=Piet%20Demeester&field1=authors" class="button button--color-inversed" target="_blank"> Preprints.org </a><a href="https://scholar.google.com/scholar?q=Piet%20Demeester" class="button button--color-inversed" target="_blank" rels="noopener noreferrer"> Google Scholar </a></div></div><sup></sup></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-name ">Department of Information Technology (INTEC), Ghent University - iMinds, Gaston Crommenlaan 8 Bus 201, Ghent 9050, Belgium</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>J. Sens. Actuator Netw.</em> <b>2013</b>, <em>2</em>(2), 235-287; <a href="https://doi.org/10.3390/jsan2020235">https://doi.org/10.3390/jsan2020235</a> </div> <div class="pubhistory" style="font-weight: bold; padding-bottom: 10px;"> <span style="display: inline-block">Submission received: 15 February 2013</span> / <span style="display: inline-block">Revised: 2 April 2013</span> / <span style="display: inline-block">Accepted: 9 April 2013</span> / <span style="display: inline-block">Published: 25 April 2013</span> </div> <div class="belongsTo" style="margin-bottom: 10px;"> (This article belongs to the Special Issue <a href=" /journal/jsan/special_issues/feature_papers_jsan ">Feature Papers</a>)<br/> </div> <div class="highlight-box1"> <div class="download"> <a class="button button--color-inversed button--drop-down" data-dropdown="drop-download-25291" aria-controls="drop-supplementary-25291" aria-expanded="false"> Download <i class="material-icons">keyboard_arrow_down</i> </a> <div id="drop-download-25291" class="f-dropdown label__btn__dropdown label__btn__dropdown--button" data-dropdown-content aria-hidden="true" tabindex="-1"> <a class="UD_ArticlePDF" href="/2224-2708/2/2/235/pdf?version=1366896384" data-name="IETF Standardization in the Field of the Internet of Things (IoT): A Survey" data-journal="jsan">Download PDF</a> <br/> <a id="js-pdf-with-cover-access-captcha" href="#" data-target="/2224-2708/2/2/235/pdf-with-cover" class="accessCaptcha">Download PDF with Cover</a> <br/> <a id="js-xml-access-captcha" href="#" data-target="/2224-2708/2/2/235/xml" class="accessCaptcha">Download XML</a> <br/> <a href="/2224-2708/2/2/235/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/2224-2708/2/2/235/browse" >Browse Figures</a> </div> <div id="article-popup" class="popupgallery" style="display: inline; line-height: 200%"> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-ag.png?1580949960" title=" <strong>Graphical abstract</strong><br/> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png?1390328991" title=" <strong>Figure 1</strong><br/> <p>Gateways and proprietary protocols are often used to interconnect sensor networks to the Internet.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png?1390328991" title=" <strong>Figure 2</strong><br/> <p>Internet protocols are extended to the sensor networks. The Gateway translates between the two standardized protocol stacks.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png?1390328991" title=" <strong>Figure 3</strong><br/> <p>IEEE 802.15.4 The <span class="html-italic">Physical Protocol Data Unit</span> (PPDU) and <span class="html-italic">MAC Protocol Data Unit</span> (MPDU) formats.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png?1390328991" title=" <strong>Figure 4</strong><br/> <p>6LoWPAN encapsulation header stack examples.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png?1390328991" title=" <strong>Figure 5</strong><br/> <p>IPHC Compression.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png?1390328991" title=" <strong>Figure 6</strong><br/> <p>Internet Protocol Version 6 (IPv6) Header Compression Example.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png?1390328991" title=" <strong>Figure 7</strong><br/> <p>6LoWPAN Fragmentation Header. (<b>a</b>) 6LowPAN encapsulation header stack for the first fragment, containing the Fragmentation header (FRAG1) and IPv6 Header Compression header (<b>b</b>) 6LowPAN encapsulation header stack for subsequent fragments, containing the Fragmentation header (FRAGN).</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png?1390328991" title=" <strong>Figure 8</strong><br/> <p>6LoWPAN Mesh Addressing Header.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png?1390328991" title=" <strong>Figure 9</strong><br/> <p>Packet flow for point-to-point traffic between two nodes in an RPL network.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png?1390328991" title=" <strong>Figure 10</strong><br/> <p>ICMPv6 header for RPL control messages.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png?1390328991" title=" <strong>Figure 11</strong><br/> <p>The DODAG Information Object (DIO) Base Object.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png?1390328991" title=" <strong>Figure 12</strong><br/> <p>The DAO Base Object.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png?1390328991" title=" <strong>Figure 13</strong><br/> <p>CoAP Message Format consisting of a 4-bytes base binary header followed by optional extensions.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png?1390328991" title=" <strong>Figure 14</strong><br/> <p>CoAP Option Format.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png?1390328991" title=" <strong>Figure 15</strong><br/> <p>An example of Constrained RESTful Environments (CoRE) resource discovery and Constrained Application Protocol (CoAP) request.</p> "> </a> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png?1390328991" title=" <strong>Figure 16</strong><br/> <p>IETF LLN protocol stack.</p> "> </a> </div> <a class="button button--color-inversed" href="/2224-2708/2/2/235/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">Smart embedded objects will become an important part of what is called the Internet of Things. However, the integration of embedded devices into the Internet introduces several challenges, since many of the existing Internet technologies and protocols were not designed for this class of devices. In the past few years, there have been many efforts to enable the extension of Internet technologies to constrained devices. Initially, this resulted in proprietary protocols and architectures. Later, the integration of constrained devices into the Internet was embraced by IETF, moving towards standardized IP-based protocols. In this paper, we will briefly review the history of integrating constrained devices into the Internet, followed by an extensive overview of IETF standardization work in the 6LoWPAN, ROLL and CoRE working groups. This is complemented with a broad overview of related research results that illustrate how this work can be extended or used to tackle other problems and with a discussion on open issues and challenges. As such the aim of this paper is twofold: apart from giving readers solid insights in IETF standardization work on the Internet of Things, it also aims to encourage readers to further explore the world of Internet-connected objects, pointing to future research opportunities.</div> </section> <div id="html-keywords"> <div class="html-gwd-group"><div id="html-keywords-title">Keywords: </div><a href="/search?q=Internet+of+Things">Internet of Things</a>; <a href="/search?q=standardization">standardization</a>; <a href="/search?q=survey">survey</a>; <a href="/search?q=constrained+devices">constrained devices</a>; <a href="/search?q=IETF+ROLL">IETF ROLL</a>; <a href="/search?q=IETF+CoRE">IETF CoRE</a>; <a href="/search?q=IETF+6LoWPAN">IETF 6LoWPAN</a>; <a href="/search?q=RPL">RPL</a>; <a href="/search?q=CoAP">CoAP</a>; <a href="/search?q=Web+of+Things">Web of Things</a></div> </div> </div> </p> </div> <div class="row"> <div class="columns large-12 text-center"> <div class="abstract-image-preview open js-browse-figures"> <a href="#" class="openpopupgallery" data-target='article-popup-ga'> <img src="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-ag-550.jpg?1580949960" style="max-width: 100%; max-height: 280px; padding: 10px;"> </a> <div id="article-popup-ga" class="popupgallery" style="display: inline; line-height: 200%"> <a href="https://pub.mdpi-res.com/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-ag.png?1580949960" title="<strong>Graphical Abstract</strong>"></a> </div> <p>Graphical Abstract</p> </div> </div> </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='1Introduction' type='intro'><h2 data-nested='1'> 1. Introduction</h2><div class='html-p'>Internet protocol technology is rapidly spreading to new domains where constrained embedded devices such as sensors and actuators play a prominent role. This expansion of the Internet is comparable in scale to the spread of the Internet in the ’90s and the resulting Internet is now commonly referred to as the Internet of Things (IoT). The integration of embedded devices into the Internet introduces several new challenges, since many of the existing Internet technologies and protocols were not designed for this class of devices. These embedded devices are typically designed for low cost and power consumption and thus have very limited power, memory and processing resources and are often disabled for long-times (sleep periods) to save energy. The networks formed by these embedded devices also have different characteristics than those typical in today’s Internet. These constrained networks have different traffic patterns, high packet loss, low throughput, frequent topology changes and small useful payload sizes.</div><div class='html-p'>In the past few years, several innovations were developed to enable the extension of Internet technologies to constrained devices, moving away from proprietary architectures and protocols. Most of these efforts focused on the networking layer: <span class='html-italic'>IPv6 over Low-Power Wireless Personal Area Networks</span> (RFC 4919) [<a href="#B1-jsan-02-00235" class="html-bibr">1</a>], <span class='html-italic'>Transmission of IPv6 Packets over IEEE 802.15.4 Networks</span> (RFC 4944) [<a href="#B2-jsan-02-00235" class="html-bibr">2</a>], IETF <span class='html-italic'>routing over low-power and lossy networks</span> [<a href="#B3-jsan-02-00235" class="html-bibr">3</a>] or the ZigBee adoption of <span class='html-italic'>Internet Protocol Version 6</span> (IPv6) [<a href="#B4-jsan-02-00235" class="html-bibr">4</a>]. These new standards enable the realization of an Internet of Things, where end-to-end IP-based network connectivity with tiny objects such as sensors and actuators becomes possible.</div><div class='html-p'>However, it was not global connectivity that was at the basis of the great success of the current Internet, but the World Wide Web and the resulting web service technologies. Today, an embedded counterpart of web service technology is needed in order to exploit all great opportunities offered by the Internet of Things and turn it into a Web of Things. Recently, standardization work has started within the IETF <span class='html-italic'>Constrained RESTful Environments</span> (CoRE) working group [<a href="#B5-jsan-02-00235" class="html-bibr">5</a>] to allow the integration of constrained devices with the Internet at the service level.</div><div class='html-p'>With these technologies, it has now become possible to deploy a self-organizing sensor network, to interconnect it with IPv6 Internet and to build applications that interact with these networks using embedded web service technology. Application developers using high-level programming languages can count on these standardized technologies in the realization of a Semantic Web of Things or Sensor Web, which enables data producers and users to publish and access sensor information via web- and standards based interfaces. In this paper, we will briefly review the history of integrating constrained devices into the Internet, with a prime focus on the IETF standardization work. The key realizations of the related IETF working groups will be discussed, complemented with an extensive overview of related research results that illustrate how these novel technologies can be extended or used to tackle other problems and with a discussion on open issues and challenges.</div><div class='html-p'>The remainder of this paper is organized as follows. In <a href="#sec2-jsan-02-00235" class="html-sec">Section 2</a>, we discuss the evolution from proprietary solutions towards IP-based integration of constrained devices using standardized protocols, introducing the most relevant standardization bodies and groups. In the following sections we will extensively discuss these standardization efforts, related work and open issues and challenges. <a href="#sec3-jsan-02-00235" class="html-sec">Section 3</a> introduces IEEE 802.15.4 as it is the most widely used physical layer and MAC layer in constrained networks, providing the foundations for the networking protocols at the higher layers. From that point on, the focus is shifted to the IETF standardization, discussing IETF 6LoWPAN, IETF RoLL and IETF CoRE extensively in <a href="#sec4-jsan-02-00235" class="html-sec">Section 4</a>, <a href="#sec5-jsan-02-00235" class="html-sec">Section 5</a> and <a href="#sec6-jsan-02-00235" class="html-sec">Section 6</a> respectively. <a href="#sec7-jsan-02-00235" class="html-sec">Section 7</a> glues everything together, illustrating how all these standardization efforts contribute to the realization of the Internet or Web of Things. Finally, <a href="#sec8-jsan-02-00235" class="html-sec">section 8</a> concludes this paper.</div></section><section id='sec2-jsan-02-00235' type=''><h2 data-nested='1'> 2. Integration of Constrained Devices into the Internet</h2><div class='html-p'>In the absence of widely accepted standard protocols for resource-constrained devices, out-of-necessity many vendors developed proprietary protocols to run inside their sensor networks. Connectivity between the Internet and the sensor networks was achieved through the use of vendor-specific gateways or proxies. These gateways have to translate between protocols used in the Internet and proprietary protocols used in the sensor networks. <a href="#jsan-02-00235-f001" class="html-fig">Figure 1</a> displays two different sensor networks that are connected to the Internet by gateways. Users on the Internet have to connect to the gateways in order to obtain data from the corresponding sensor network. There are several ways how a gateway can handle such user requests. For example, the gateway from vendor 1 translates standard Internet protocols into proprietary sensor protocols and relays the requests to the sensors in its network. The gateway then receives the answers from the relevant sensors by means of the proprietary sensor protocols and sends back the appropriate reply to the user using standard Internet protocols. The gateway offers an API that applications should use in order to create requests that can be understood by the gateway. This approach has the benefit that direct (real-time) interaction with sensor nodes is possible, but only by using a vendor-specific interface. Alternatively, the gateway of vendor 2 contains a database with pre-collected sensor data. When it gets a request from a user on the Internet, it replies directly to the requester using the data in the database. In some cases, the gateway is simply running a web server that makes the data available to the outside world. In this case, existing database technologies can be reused, but the user does not know whether the returned data is coming in real-time from the sensors or whether it is coming from a value that has been previously stored in a database.</div><div class='html-p'>The use of standardized solutions is mostly limited to the use of a standard for the physical layer and MAC layer, although tailored MAC protocols could be used as well. It is clear that such an approach hinders the integration of sensors into the Internet. Little flexibility is offered since users can query the sensors only in the way that is allowed by the gateway. Another disadvantage is the vendor lock-in: gateways and sensors often have to be from the same vendor in order to be compatible. In addition, creating and maintaining the gateway requires significant development effort: often even adding new sensor resources requires making (administrative) changes to the gateway. Finally, due to the lack of real end-to-end connectivity, no real-time interaction with the resource-constrained devices is supported.</div><div class="html-fig-wrap" id="jsan-02-00235-f001"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f001"> <img alt="Jsan 02 00235 g001 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f001"></a> </div> </div> <div class="html-fig_description"> <b>Figure 1.</b> Gateways and proprietary protocols are often used to interconnect sensor networks to the Internet. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f001"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f001" > <div class="html-caption" > <b>Figure 1.</b> Gateways and proprietary protocols are often used to interconnect sensor networks to the Internet.</div> <div class="html-img"><img alt="Jsan 02 00235 g001" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g001.png" /></div> </div><div class='html-p'>These limitations in combination with the general understanding that constrained devices will take up a prominent role in the future Internet, raised the need for standardized, open solutions for network communication with constrained devices. To ensure wide adoption, these new solutions have to be interoperable with the most widely used protocols in the Internet, initially IP and, in a later stage, HTTP. To address these needs, the IETF—responsible for the development of high-quality Internet standards—has formed several working groups: <span class='html-italic'>IPv6 over Low Power WPAN</span> (6LoWPAN) [<a href="#B6-jsan-02-00235" class="html-bibr">6</a>], <span class='html-italic'>Routing Over Low Power and Lossy Networks</span> (ROLL) [<a href="#B3-jsan-02-00235" class="html-bibr">3</a>] and <span class='html-italic'>Constrained Restful Environments</span> (CORE) [<a href="#B7-jsan-02-00235" class="html-bibr">7</a>]. The 6LoWPAN group tackles the transmission of IPv6 packets over IEEE 802.15.4 networks, the ROLL group develops IPv6 routing solutions for Low Power and Lossy Networks (LLNs) and the CoRE group aims at providing a framework for resource-oriented applications intended to run on constrained IP networks. Together, these protocols allow the IP-based integration of constrained devices into the Internet in a standardized way, as shown in <a href="#jsan-02-00235-f002" class="html-fig">Figure 2</a>. Due to the popularity of IEEE 802.15.4, this standard is used at the physical layer and the medium access control layer.</div><div class="html-fig-wrap" id="jsan-02-00235-f002"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f002"> <img alt="Jsan 02 00235 g002 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f002"></a> </div> </div> <div class="html-fig_description"> <b>Figure 2.</b> Internet protocols are extended to the sensor networks. The Gateway translates between the two standardized protocol stacks. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f002"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f002" > <div class="html-caption" > <b>Figure 2.</b> Internet protocols are extended to the sensor networks. The Gateway translates between the two standardized protocol stacks.</div> <div class="html-img"><img alt="Jsan 02 00235 g002" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g002.png" /></div> </div><div class='html-p'>Similar to the previous approaches, gateways are still used to translate between the protocols used in the Internet and protocols used in the sensor networks, e.g., IPv6 to 6LoWPAN and vice versa. However, due to the use of standardized protocols, many of the disadvantages from the previous approaches are now solved. For example it is now possible to combine sensor devices from different vendors in the same network, or to use a gateway from a different vendor than the vendor of the sensor devices. Flexibility is also improved by this approach as users are not confined to the API offered by the gateway: users can directly query the sensors without the need for the gateway that understands the query or needs to interpret the data. The application payload can now travel directly from the client to the sensor, where it is processed and acted upon. The gateway takes care of the translation between standardized protocols. This end-to-end approach makes adding and removing sensor resources transparent to the gateway and improves interoperability of devices.</div></section><section id='sec3-jsan-02-00235' type=''><h2 data-nested='1'> 3. IEEE 802.15.4</h2><div class='html-p'>To create a standardized protocol stack for constrained networks and devices, the IETF builds further upon the IEEE 802.15.4 standard. The IEEE 802.15.4 standard is maintained by the IEEE 802.15 working group [<a href="#B8-jsan-02-00235" class="html-bibr">8</a>] and defines low-data-rate, low-power, and short-range radio frequency transmissions for <span class='html-italic'>wireless personal area networks</span> (WPANs). The working group aims to keep the complexity of the standard and the cost of the necessary hardware low, making it suitable for wireless communication among constrained devices such as sensors and actuators. The standard describes a Physical (PHY) layer and a <span class='html-italic'>Medium Access Control</span> (MAC) sublayer. These will be discussed in the following two subsections. Furthermore, 802.15.4 has proven to be a popular technology for wireless communication in WPANs and a number of examples that have adopted 802.15.4 are listed in the last subsection.</div><section id='31PhysicalLayer' type=''><h4 class=html-italic data-nested='2'> 3.1. Physical Layer</h4><div class='html-p'>The IEEE 802.15.4 physical layer is responsible for (de)activating the radio transceiver, data reception and transmission, channel frequency selection, energy detection within a channel and determining whether or not the communication channel is occupied by a transmission (<span class='html-italic'>i.e.</span>, Clear Channel Assessment, CCA). IEEE Std 802.15.4–2011 [<a href="#B9-jsan-02-00235" class="html-bibr">9</a>] defines a total of 15 different PHY modes. The PHY mode specifies which frequency band and modulation are used for data transmission.</div><div class='html-p'>An 802.15.4 compliant radio typically operates at one of the following license-free frequency bands: 868–868.6 MHz (e.g., Europe), 902–928 MHz (e.g., North America) or 2,400–2,483.5 MHz (worldwide, <span class='html-italic'>i.e.</span>, ISM band). O-QPSK and BPSK are the most commonly used constellations for (de)modulating the signal. Almost all of the defined PHY modes apply a spreading technique that allows spreading out the signal so that it occupies a larger bandwidth. By using these simple constellations and the spreading technique, the communication is more robust and has an increased resistance to interference and (narrow-band) noise even when using a low transmission power.</div><div class='html-p'>Depending on the environment and the PHY mode, the communication range varies between 10 and 100 meters. In 802.15.4–2011 the maximum PHY data rate for the ISM band is limited to 250 kbps when using <span class='html-italic'>Direct-Sequence Spread Spectrum</span> (DSSS) or 1,000 kbps when using <span class='html-italic'>Chirp Spread Spectrum</span> (CSS) respectively as a spreading technique. CSS is, however, an optional feature of the standard and in most applications 250 kbps is the maximum PHY data rate. </div></section><section id='sec3dot2-jsan-02-00235' type=''><h4 class=html-italic data-nested='2'> 3.2. MAC Sublayer</h4><div class='html-p'>Because devices that are in each other’s proximity share the same communication medium, the access to the medium has to be controlled. When a device wants to send a packet, the MAC sublayer asks the PHY layer’s CCA to check whether the medium is occupied. If the CCA indicates that another transmission is currently taking place, the MAC sublayer defers its transmission and waits for a set amount of time before it retries sending the packet. If, on the other hand, the CCA determines the medium to be free then the MAC sublayer transmits the packet immediately.</div><div class='html-p'>Apart from medium access control the MAC sublayer also provides acknowledgement of frame reception and validation of incoming frames. The standard defines three different network structures: star topology, mesh topology and cluster tree topology. However, these 802.15.4 topologies are hardly ever used in practice and protocols that run on top of 802.15.4 build their own networks instead. To limit energy consumption, duty cycles are often used by MAC protocols. As a result, transceivers can be in sleeping mode up to 99% of the time, which drastically reduces power consumption and increases operational lifespan.</div><div class='html-p'>The <span class='html-italic'>Physical Protocol Data Unit</span> (PPDU) and <span class='html-italic'>MAC Protocol Data Unit</span> (MPDU) formats as defined in IEEE Std 802.15.4–2011 are shown in <a href="#jsan-02-00235-f003" class="html-fig">Figure 3</a>. The PPDU for O-QPSK consists of a SYNC header (for receiver clock synchronization), a PHY header (which contains the length of the PSDU) and a PHY payload referred to as the <span class='html-italic'>Physical Service Data Unit</span> (PSDU). To limit packet error rates, the PSDU is limited in size to 127 bytes. An 802.15.4 MPDU or MAC frame is transported as the PSDU of the PPDU and consists of three parts: (i) the <span class='html-italic'>MAC header</span> (MHR), (ii) the MAC payload and (iii) the <span class='html-italic'>MAC footer</span> (MFR). The MHR comprises frame control (indicating the type of frame), sequence number (for referring to frames, e.g., in acknowledgements), addressing information (for source and destination identification) and security-related information, and is of variable length. The frame payload also has a variable length and contains information specific to the frame type. Finally, the MFR is 2 bytes long and contains a <span class='html-italic'>frame check sequence</span> (FCS) that is calculated by the sender and that is used for frame validation by the receiver.</div><div class="html-fig-wrap" id="jsan-02-00235-f003"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f003"> <img alt="Jsan 02 00235 g003 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f003"></a> </div> </div> <div class="html-fig_description"> <b>Figure 3.</b> IEEE 802.15.4 The <span class='html-italic'>Physical Protocol Data Unit</span> (PPDU) and <span class='html-italic'>MAC Protocol Data Unit</span> (MPDU) formats. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f003"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f003" > <div class="html-caption" > <b>Figure 3.</b> IEEE 802.15.4 The <span class='html-italic'>Physical Protocol Data Unit</span> (PPDU) and <span class='html-italic'>MAC Protocol Data Unit</span> (MPDU) formats.</div> <div class="html-img"><img alt="Jsan 02 00235 g003" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g003.png" /></div> </div><div class='html-p'>Depending on the frame type the length of the addressing fields varies. An acknowledgement control frame for instance will not contain any addressing information. For data frames the length depends on which addressing format is being used and whether or not (optional) PAN identifiers of 2 bytes are included. The standard specifies two addressing formats: long 64-bit addresses that are globally unique and short 16-bit addresses that are unique within a PAN. When using the long addressing format, the MHR’s length is 19 bytes and the maximum size of the payload is limited to 106 bytes. For the short addressing format the MHR is 7 bytes long and the maximum payload size is limited to 118 bytes. Using link-layer security can further reduce the size available for the payload size by as much as 14 bytes.</div></section><section id='33IEEE802154BasedSolutions' type=''><h4 class=html-italic data-nested='2'> 3.3. IEEE 802.15.4 Based Solutions</h4><div class='html-p'>Several higher layer protocols have been defined directly on top of the IEEE 802.15.4 MAC sublayer. For completeness, a very brief overview of the most commonly used non-IETF solutions that have been built on top of IEEE 802.15.4 is given below.</div><ul class='html-bullet'><li><div class='html-p'>ZigBee [<a href="#B10-jsan-02-00235" class="html-bibr">10</a>] builds upon the physical layer and medium access control defined in IEEE standard 802.15.4 for low-rate WPAN with additional network, security and application software layers. Predefined application services specify which actions a device can take, the main example being ”turn the lights on“ and ”turn the lights off”.</div></li><li><div class='html-p'>Wireless HART [<a href="#B11-jsan-02-00235" class="html-bibr">11</a>] focuses on automation and industrial applications that require real time guarantees. To realize these goals, a time synchronized, self-organizing, and self-healing mesh architecture is used. The standard was initiated in early 2004 and developed by 37 <span class='html-italic'>HART Communications Foundation</span> (HCF) companies. In April 2010, WirelessHart was approved by the <span class='html-italic'>International Electrotechnical Commission</span> (IEC) unanimously, making it a wireless international standard as IEC 62591.</div></li><li><div class='html-p'>The MiWi protocol stacks [<a href="#B12-jsan-02-00235" class="html-bibr">12</a>] are small foot-print alternatives to ZigBee (40K–100K), which makes them useful for cost-sensitive applications with limited memory. Although the MiWi software is free, there exists a unique restriction and obligation to use it only with Microchip microcontrollers.</div></li><li><div class='html-p'>ISA100 [<a href="#B13-jsan-02-00235" class="html-bibr">13</a>] addresses wireless manufacturing and control systems (developed by the <span class='html-italic'>Systems and Automation Society</span> (ISA)). They defined ISA100.11a, a wireless networking standard that builds upon IEEE 802.15.4.</div></li></ul><div class='html-p'>Contrary to most of the above solutions, the IETF standards are fully open (no contributor fees are required). To ensure that each device is IP-addressable, an IPv6 layer (6LoWPAN layer) is defined above the IEEE 802.15.4 MAC sublayer. This adaptation layer is discussed in the next section.</div></section></section><section id='sec4-jsan-02-00235' type=''><h2 data-nested='1'> 4. IETF 6LoWPAN Working Group (IPv6)</h2><div class='html-p'>The IPv6 protocol has a high overhead and restrictions that make it unsuitable for LLNs such as IEEE 802.15.4 networks. For instance, considering the limited space available for the MAC payload in an 802.15.4 MPDU, the use of a 40-byte IPv6 header would be too excessive. Therefore, the IETF 6LoWPAN (IPv6 for Low-power Wireless Personal Area Network) Working Group was formed to work on the IPv6 protocol extensions required for such networks where the nodes are interconnected by IEEE 802.15.4 radios [<a href="#B14-jsan-02-00235" class="html-bibr">14</a>]. Meanwhile the working group has produced several proposed standards and informational documents regarding these required extensions.</div><div class='html-p'>Starting from a well-defined set of assumptions and a problem statement, as defined in the informational RFC 4919 [<a href="#B1-jsan-02-00235" class="html-bibr">1</a>], a solution for transmitting IPv6 packets over IEEE 802.15.4 networks was defined, resulting in RFC 4944 [<a href="#B15-jsan-02-00235" class="html-bibr">15</a>]: <span class='html-italic'>Transmission of IPv6 Packets over IEEE 802.15.4 Networks</span>. This document describes the frame format, the methods of link-local address formation and autoconfigured addresses, simple header compression and mesh-under routing for multi-hop IEEE 802.15.4 networks. Subsequent RFCs of the 6LoWPAN working group, <span class='html-italic'>Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks</span> (RFC 6282) [<a href="#B16-jsan-02-00235" class="html-bibr">16</a>] and <span class='html-italic'>Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</span> (RFC 6775) [<a href="#B17-jsan-02-00235" class="html-bibr">17</a>], which respectively cover advanced header compression and Neighbor Discovery optimization, have updated RFC 4944. In addition to this, the working group has produced 2 other informational RFCs addressing use case descriptions (RFC 6568) [<a href="#B18-jsan-02-00235" class="html-bibr">18</a>] and routing requirements (RFC 6606) [<a href="#B19-jsan-02-00235" class="html-bibr">19</a>] and is in the process of finalizing an internet draft on the transmission of IPv6 packets over Bluetooth (draft-ietf-6lowpan-btle-11) [<a href="#B20-jsan-02-00235" class="html-bibr">20</a>].</div><div class='html-p'>Further, the working group is also expected to collaborate with other organizations (such as IEEE and ISA SP100) and other IETF working groups (such as ROLL) on common interest issues and is mandated with providing implementation and interoperability guides [<a href="#B21-jsan-02-00235" class="html-bibr">21</a>].</div><section id='sec4dot1-jsan-02-00235' type=''><h4 class=html-italic data-nested='2'> 4.1. Key Protocols</h4><div class='html-p'>As mentioned in <a href="#sec4dot1-jsan-02-00235" class="html-sec">Section 4.1</a>, the main objective of the 6LoWPAN working group is coming up with extensions to IPv6 protocols so that IPv6 packets can be transferred in constrained networks such as IEEE 802.15.4. IPv6 forwarding routers, unlike IPv4 routers, do not support fragmenting outgoing packets. This means that the communicating hosts have to send packets with the right size (MTU) supported by the communication links of the router. To meet this requirement hosts may use Path MTU Discovery to find a suitable MTU along the path or just send packets that meet the minimum MTU requirement for all links, which is 1,280 bytes. However, this minimum value is still too big for IEEE 802.15.4 links that have an MTU of 127 bytes for the entire MPDU. To use IPv6 on top of IEEE 802.15.4 networks, a mechanism that allows transmitting IPv6 packets that are larger than the MTU of 127 bytes is required. The solution presented by the 6LoWPAN working group is to use a layer between the network and the data link layers that supports packet fragmentation and reassembly. In addition, the 40 byte IPv6 fixed header takes a significant portion of the already small protocol data unit of the LLNs, leaving little room for IPv6 data payload. To solve this problem different sorts of header compression are proposed by the working group. Further, these fragments have to be routed between the LLN nodes. Layer 2 multi-hop data transmissions should also be addressed in relation to IPv6 adaptation. Accordingly, the 6LoWPAN working group has introduced an IPv6 adaptation layer, named 6LoWPAN Adaptation Layer that lies between the data link layer and the network layer of the protocol stack. The adaptation layer delivers three basic services: packet fragmentation and reassembly, header compression, and data link layer routing (for multi-hop connections).</div><section id='4116LoWPANFrames' type=''><h4 class= data-nested='3'> 4.1.1. 6LoWPAN Frames</h4><div class='html-p'>RFC 4944 states that all LoWPAN encapsulated datagrams are prefixed with an encapsulation header stack where each header in the header stack contains a header type and zero or more header fields. The LoWPAN header may contain the mesh addressing header, fragmentation header, and IPv6 Header compression header, in that order. <a href="#jsan-02-00235-f004" class="html-fig">Figure 4</a> shows examples of header stacks that might be used in 6LoWPAN. These frames are transported inside the frame payload field of an 802.15.4 data MPDU.</div><div class="html-fig-wrap" id="jsan-02-00235-f004"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f004"> <img alt="Jsan 02 00235 g004 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f004"></a> </div> </div> <div class="html-fig_description"> <b>Figure 4.</b> 6LoWPAN encapsulation header stack examples. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f004"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f004" > <div class="html-caption" > <b>Figure 4.</b> 6LoWPAN encapsulation header stack examples.</div> <div class="html-img"><img alt="Jsan 02 00235 g004" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g004.png" /></div> </div><div class='html-p'>Similar to IPv6, the 6LoWPAN headers are added when required. The first byte of the encapsulation header, the dispatch byte, identifies the next header. More specifically, the first three bits of the dispatch byte indicate the next header type while the remaining bits are used for different purposes depending on the header type. <a href="#jsan-02-00235-t001" class="html-table">Table 1</a> summarizes the different values for the dispatch byte.</div><div class="html-table-wrap" id="jsan-02-00235-t001"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t001'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t001"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 1.</b> Summary of Dispatch Byte values. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t001" > <table > <caption ><b>Table 1.</b> Summary of Dispatch Byte values. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='center' valign='middle' class='html-align-center' >First 3 Bits </th><th align='center' valign='middle' class='html-align-center' >Header Type</th><th align='center' valign='middle' class='html-align-center' >Description</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>00x</b></td><td align='center' valign='middle' class='html-align-center' >NLAP</td><td align='left' valign='middle' class='html-align-left' >This is not a 6LoWPAN frame. This is important for 6LoWPAN to co-exist with other protocols. The remaining 6 bits are ignored.</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>010</b></td><td align='center' valign='middle' class='html-align-center' >Uncompressed/HC1 Compressed <br> IPv6 Addressing Header</td><td align='left' valign='middle' class='html-align-left' >The address type is determined depending on the remaining 5 bits. E.g.: 00001 = uncompressed IPv6 Address <br> 00010 = HC1 Compressed Header</td></tr><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>011</b></td><td align='center' valign='middle' class='html-align-center' >IPHC Compressed Header</td><td align='left' valign='middle' class='html-align-left' >The remaining 5 bits are added to the rest of IPHC compression header to optimize IPv6 header compression</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>10x</b></td><td align='center' valign='middle' class='html-align-center' >Mesh Header</td><td align='left' valign='middle' class='html-align-left' >The next header is the mesh header. The last bits are used for other purposes related to mesh-under routing.</td></tr><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>11x</b></td><td align='center' valign='middle' class='html-align-center' >Fragmentation Header</td><td align='left' valign='middle' class='html-align-left' >The next header is a fragment header. The fragment type is determined by the remaining 6 bits. The bit sequence 000xxx indicates first fragment while 100xxx indicates Non-first fragments. The last three bits in both types of fragments will be used for other purposes. The other bit sequences are reserved. </td></tr></tbody> </table> </div></section><section id='412HeaderCompression' type=''><h4 class= data-nested='3'> 4.1.2. Header Compression</h4><div class='html-p'>One of the services provided by the 6LoWPAN adaptation layer is header compression. RFC 4944 defines header compression techniques that can be used to compress IPv6 headers and to allow more data from layers on top of IPv6 to be included in a single 802.15.4 frame.</div><div class='html-p'>The LOWPAN_HC1, the main compression technique specified in RFC 4944, is optimized for compressing IPv6 packets that contain link-local IPv6 addresses. The technique attempts to reduce the size of the packet by removing common fields (Version, TC, Flow label), inferring the IPv6 addresses from the link-layer addresses in the 802.15.4 header and the static IPv6 link-local prefix (fe80::/64), inferring the IP packet length from the layer 2 frame length (or the fragmentation header) and limiting the values of the next header field to TCP, UDP and ICMP. [<a href="#B22-jsan-02-00235" class="html-bibr">22</a>]. The RFC also defines HC2 compression for transport layer compression, which allows compressing UDP, TCP and ICMP. Other transport layer protocols cannot be compressed by HC2. HC1 compression has very low compression factors for global and multicast addresses, which are needed for direct host-to-host interactions between constrained devices and clients as envisioned by the Internet of Things, therefore its use is limited and not further detailed here.</div><div class='html-p'>RFC 6282 specifies two new compression mechanisms named LOWPAN_IPHC and LOWPAN_NHC. According to the RFC, LOWPAN_IPHC, uses 13 bits for compression (the last 5 bits of the dispatch byte and an additional byte) and an extra 8 bits to store context information, when necessary. <a href="#jsan-02-00235-f005" class="html-fig">Figure 5</a> shows the IPHC header format and <a href="#jsan-02-00235-t002" class="html-table">Table 2</a> summarizes the address compression fields.</div><div class="html-fig-wrap" id="jsan-02-00235-f005"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f005"> <img alt="Jsan 02 00235 g005 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f005"></a> </div> </div> <div class="html-fig_description"> <b>Figure 5.</b> IPHC Compression. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f005"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f005" > <div class="html-caption" > <b>Figure 5.</b> IPHC Compression.</div> <div class="html-img"><img alt="Jsan 02 00235 g005" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g005.png" /></div> </div><div class='html-p'>IPHC is based on a number of basic assumptions about common 6LoWPAN communication cases. The first assumption regards commonly used fields. It is assumed that IPv6 header fields such as Version, Traffic Class and Flow Label have fixed values and do not have to be transmitted. Therefore, IPHC totally ignores the 4 bit version and attempts to compress the Traffic Class and Flow Label into the TF bits (2 bits). By assuming hop limits will be set to well-known values such as 1, 64 and 255 by the host, IPHC compresses the hop limit from 8 bits to 2 bits.</div><div class="html-table-wrap" id="jsan-02-00235-t002"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t002'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t002"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 2.</b> Summary of Dispatch Byte values. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t002" > <table > <caption ><b>Table 2.</b> Summary of Dispatch Byte values. <div class='html-caption-img'></div></caption> <thead ><tr ><th align='center' valign='middle' class='html-align-center' >Field</th><th align='center' valign='middle' class='html-align-center' >Description</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Context ID Extension (CID) (1bit)</b></td><td align='left' valign='middle' class='html-align-left' >0 = No Additional Context Identifier Extension is used.<br> 1 = An additional 8-bit field follows the DAM field</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Source Address Compression (SAC) (1 bit)</b><br> <b>Dest. Address Compression (DAC)</b><b>(1 bit)</b></td><td align='left' valign='middle' class='html-align-left' >0 = Stateless source/destination address compression<br> 1 = Stateful, context based source/destination address compression</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Source Address Mode (SAM) If SAC = 0</b></td><td align='left' valign='middle' class='html-align-left' >00 = The full 128 bits address is sent inline<br> 01 = The last 64 bits are sent inline<br> 10 = The last 16 bits are sent inline.<br> 11 = The entire source address is elided</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>If SAC = 1</b></td><td align='left' valign='middle' class='html-align-left' >00 = The unspecified address, :: . Nothing is sent inline<br> 01 = 64 bits are carried inline<br> 10 = 16 bits are carried inline<br> 11 = The address is fully elided</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Multicast Compression (M)</b></td><td align='left' valign='middle' class='html-align-left' >0 = Destination address is not a multicast address<br> 1 = Destination address is a multicast address</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Destination Address Mode (DAM) If M = 0 and DAC=0</b></td><td align='left' valign='middle' class='html-align-left' >Same as SAM with SAC = 0</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>If M = 0 and DAC = 1</b></td><td align='left' valign='middle' class='html-align-left' >Same as SAM with SAC = 1</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>If M = 1 and DAC = 0</b></td><td align='left' valign='middle' class='html-align-left' >00 = The full address is sent inline<br> 01 = Only 48 bits are sent inline<br> 10 = Only 32 bits are sent inline<br> 11 = Only 8bits are sent inline</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>If M = 1 and DAC = 1</b></td><td align='left' valign='middle' class='html-align-left' >00 = Only 48 bit s are sent inline.<br> 01,10,11 = Reserved</td></tr></tbody> </table> </div><div class='html-p'>Assuming that addresses could be generated from link-layer addresses and that mostly link local addresses are used inside LLNs, IPHC attempts to compress the IPv6 address fields. To further improve the efficiency of compression of global and multicast addresses, IPHC uses context information. The <span class='html-italic'>Context ID</span> Extension bit (CID) bit indicates whether an additional 8-bit Context Identifier Extension field is added or not. IPHC supports stateless and stateful methods of addresses compression. The <span class='html-italic'>Source Address Compression</span> (SAC) and <span class='html-italic'>Destination Address Compression</span> (DAC) bits indicate which of these two compression methods is used for the source and destination address, respectively. The <span class='html-italic'>Source Address Mode</span> (SAM) bits in combination with the SAC bit determine how many of the source address bits are actually elided and how many bits are sent in-line. The number of bits sent inline can be 128, 64, 16 or 0 bits for stateless compression and 64, 16, or 0 bits for stateful compression. In all cases, the bits that are elided are assumed to be calculated from the link-local prefix, link layer address and stored context. The destination address compression varies based on the address type. Multicast destination addresses are indicated by the M bit in the compression header. Unicast destination addresses are compressed in the same way as unicast source addresses. However, multicast addresses follow a different rule based on the DAC bit. Accordingly, 128, 48, 32, or 8 bits has to be sent inline when multicast destination addresses are compressed. The 8 bit context identifier is added only if the SAC and/or DAC bits indicate its presence. If it exists, the first 4 bits indicate store context for the source address while the remaining bits store destination address context. The RFC does not specify what is stored in these fields nor how communicating parties exchange this information.</div><div class='html-p'>The IPv6 Payload Length field can be inferred from the fragment header or from the link layer header and has to be fully elided.</div><div class='html-p'>As was already mentioned HC2 can only compress UDP, TCP and ICMPv6 headers. To alleviate this issue LOWPAN_NHC introduces a variable length next header identifier which could be used for future next header compressions.</div><div class='html-p'><a href="#jsan-02-00235-f006" class="html-fig">Figure 6</a> illustrates the IPHC header compression when link-local, global and multicast IPv6 addresses are used for communication. </div><div class="html-fig-wrap" id="jsan-02-00235-f006"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f006"> <img alt="Jsan 02 00235 g006 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f006"></a> </div> </div> <div class="html-fig_description"> <b>Figure 6.</b> Internet Protocol Version 6 (IPv6) Header Compression Example. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f006"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f006" > <div class="html-caption" > <b>Figure 6.</b> Internet Protocol Version 6 (IPv6) Header Compression Example.</div> <div class="html-img"><img alt="Jsan 02 00235 g006" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g006.png" /></div> </div><div class='html-p'>In case I, since both source and destination IP addresses are link-local unicast addresses, the prefix is fixed (<span class='html-italic'>i.e.</span>, fe80::/64) and the suffix can be inferred from the IEEE 802.15.4 source and destination addresses. As shown in the figure, the entire IPv6/UDP header can be compressed from 48 bytes to just 6 bytes. The second case illustrates IPHC compression when the destination IP address is a multicast address. Here the IPv6/UDP header is compressed to 7 bytes by sending only the multicast group inline and deriving all other information from the IEEE 802.15.4 header. Cases III and IV are typical to IoT interactions where both source and destination IP addresses are global unicast addresses. In case III, the source suffix can be derived from the IEEE 802.15.4 source address and, hence, does not have to be sent in-line. The destination suffix however cannot be derived from the IEEE 802.15.4 destination address and has to be sent uncompressed. In case IV, the suffixes of both source and destination addresses cannot be derived and have to be sent inline. In cases III and IV, the IPv6 address prefixes and other information is derived based on the shared context information that is stored in the <span class='html-italic'>Context Identifier Extension</span> (CIE) byte. In case 3 and case 4, the IPv6/UDP headers are compressed from 48 bytes to 10 and 12 bytes respectively.</div></section><section id='413Fragmentation' type=''><h4 class= data-nested='3'> 4.1.3. Fragmentation</h4><div class='html-p'>The other service provided by the 6LoWPAN adaptation layer is fragmentation and reassembly. Fragmentation is only required when the entire IPv6 packet cannot fit in a single IEEE 802.15.4 frame, <span class='html-italic'>i.e.</span>, when it is larger than the available space for the MPDU payload (typically 106 bytes, see <a href="#sec3dot2-jsan-02-00235" class="html-sec">Section 3.2</a>). According to RFC 4944, fragmentation breaks a single IPv6 packet into smaller pieces and a fragmentation header is included in every fragment. The document further specifies using two different types of fragmentation headers. The fragment header of the first fragment contains only the datagram size (11 bits) and datagram-tag (16 bits) fields, while subsequent fragments of the same IPv6 packet also include the datagram-offset (8 bits) field. Datagram size is the length of the entire unfragmented IPv6 packet, datagram-tag identifies to which datagram (<span class='html-italic'>i.e.</span>, packet) a particular fragment belongs. Therefore, these values have to remain the same for all fragments of a single IPv6 packet. The datagram-offset indicates the offset of the fragment from the first fragment. <a href="#jsan-02-00235-f007" class="html-fig">Figure 7</a> shows the 6LoWPAN fragmentation header.</div><div class="html-fig-wrap" id="jsan-02-00235-f007"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f007"> <img alt="Jsan 02 00235 g007 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f007"></a> </div> </div> <div class="html-fig_description"> <b>Figure 7.</b> 6LoWPAN Fragmentation Header. (<b>a</b>) 6LowPAN encapsulation header stack for the first fragment, containing the Fragmentation header (FRAG1) and IPv6 Header Compression header (<b>b</b>) 6LowPAN encapsulation header stack for subsequent fragments, containing the Fragmentation header (FRAGN). <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f007"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f007" > <div class="html-caption" > <b>Figure 7.</b> 6LoWPAN Fragmentation Header. (<b>a</b>) 6LowPAN encapsulation header stack for the first fragment, containing the Fragmentation header (FRAG1) and IPv6 Header Compression header (<b>b</b>) 6LowPAN encapsulation header stack for subsequent fragments, containing the Fragmentation header (FRAGN).</div> <div class="html-img"><img alt="Jsan 02 00235 g007" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g007.png" /></div> </div></section><section id='414MeshUnderRoutingSupport' type=''><h4 class= data-nested='3'> 4.1.4. Mesh-Under Routing Support</h4><div class='html-p'>Routing involves calculating best paths (according to some metric) to a destination in a multi-hop network. If a single link layer technology (such as IEEE 802.15.4) is used at layer 2, the path calculation could be done at either layer 3 or layer 2. Layer 3 routing is usually referred to as route-over routing while forwarding at layer 2 is called mesh-under routing.</div><div class='html-p'>Layer 3 routers build and maintain a routing-table which contains the next-hop to all known destination networks based on their network prefixes. This means that when a packet arrives at a router, the link-layer encapsulation is removed and the destination address in the IPv6 header is used to do a longest prefix match in the routing table to determine the next hop. Once the next hop router is known, the router re-encapsulates the packet with layer 2 headers and trailers. The layer 2 addresses indicate the current router as a source and the next hop router as the destination while the source and destination IP addresses remain unchanged. This is done at every forwarding router along the path of the packet. </div><div class='html-p'>Mesh-under routing on the other hand, uses link layer addresses to make forwarding decisions. Every forwarding layer 2 router along the path of a packet is expected to maintain its own forwarding-table based on link layer addresses in order to make forwarding decisions based on these addresses. Just as in route-over routing, four addresses are required to forward the packet at an intermediate node—the originator address, the final destination address, the current forwarding router address and the next hop router address. The IEEE 802.15.4 source and destination MAC addresses of the frame indicates the current forwarding router and the next-hop router, respectively. A way of transmitting the originator and final destination addresses is required to fully support mesh-under routing.</div><div class='html-p'>RFC 4944 introduces the Mesh Address Header (<a href="#jsan-02-00235-f008" class="html-fig">Figure 8</a>) for this purpose. The mesh address header contains the dispatch byte and the originator and final destination link layer addresses. The OA and FD bits in the header indicate which of the two 802.15.4 addressing formats are used for the Originator and Final Destination address fields: short 16-bit or long 64-bit addresses. The hop count takes up an additional 4 bits, supporting up to 14 hops. The value 0xF is reserved to indicate that one more byte follows to support more than 14 hops.</div><div class="html-fig-wrap" id="jsan-02-00235-f008"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f008"> <img alt="Jsan 02 00235 g008 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f008"></a> </div> </div> <div class="html-fig_description"> <b>Figure 8.</b> 6LoWPAN Mesh Addressing Header. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f008"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f008" > <div class="html-caption" > <b>Figure 8.</b> 6LoWPAN Mesh Addressing Header.</div> <div class="html-img"><img alt="Jsan 02 00235 g008" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g008.png" /></div> </div><div class='html-p'>As an example of mesh-under routing, assume that node A sends a packet to node B which is located some hops away from node A in an IEEE 802.15.4 network. First, node A, construct a mesh addressing header with its own link-layer address as Originator address and the link-layer address of node B as Final Destination address. Based on its layer 2 “routing-table”, node A identifies its next hop router (node C). Accordingly, it puts node C’s link layer address as the destination address and its own link-layer address as the source address in the 802.15.4 Mac Header. The resulting frame contains the following addresses in the 6LoWPAN mesh addressing header: Originator address (node A), final destination address (node B) and in the IEEE 802.15.4 MHR: Source address (node A) and destination address (node C). Once the router, node C, receives the frame, it checks the Mesh Addressing Header to check whether it is the final destination. Since node B is the final destination, node C will also forward the packet to its next hop. After determining the next hop, node C re-encapsulates the frame with its own link layer address as the source and the next hop’s link layer address as the destination address in the MHR. This process continues until the packet reaches node B. The addresses in the 6LoWPAN Mesh Addressing Header remain the same along the path of the packet.</div></section></section><section id='42ImplementationandEvaluation' type=''><h4 class=html-italic data-nested='2'> 4.2. Implementation and Evaluation</h4><section id='421Implementation' type=''><h4 class= data-nested='3'> 4.2.1. Implementation</h4><div class='html-p'>Many organizations and companies are incorporating the 6LoWPAN adaptation layer in their protocol stacks. Additionally, there are also a couple of network simulators that support 6LoWPAN. <a href="#jsan-02-00235-t003" class="html-table">Table 3</a> summarizes the features of six different implementations of 6LoWPAN.</div><div class="html-table-wrap" id="jsan-02-00235-t003"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t003'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t003"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 3.</b> 6LoWPAN implementations. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t003" > <table > <caption ><b>Table 3.</b> 6LoWPAN implementations. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='left' valign='middle' class='html-align-left' >Implementation</th><th align='left' valign='middle' class='html-align-left' >Operating System /Simulator</th><th align='left' valign='middle' class='html-align-left' >License</th><th align='left' valign='middle' class='html-align-left' >RFC 4944</th><th align='left' valign='middle' class='html-align-left' >RFC 6282</th><th align='left' valign='middle' class='html-align-left' >RFC 6775</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>SICSLOWPAN</b></td><td align='left' valign='middle' class='html-align-left' >ContikiOS/Cooja Simulator</td><td align='left' valign='middle' class='html-align-left' >Open Source</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' >x</td><td align='left' valign='middle' class='html-align-left' >x</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>BLIP (Berkley Low-power IP)</b></td><td align='left' valign='middle' class='html-align-left' >TinyOS</td><td align='left' valign='middle' class='html-align-left' >Open Source</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Arch Rock 6LoWPAN</b></td><td align='left' valign='middle' class='html-align-left' >TinyOS</td><td align='left' valign='middle' class='html-align-left' >Open Source</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>NanoStack 6lowpan</b></td><td align='left' valign='middle' class='html-align-left' >FreeRTOS</td><td align='left' valign='middle' class='html-align-left' >Open Source</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' >x</td><td align='left' valign='middle' class='html-align-left' >x</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Hitachi</b></td><td align='left' valign='middle' class='html-align-left' >-</td><td align='left' valign='middle' class='html-align-left' >Commercial</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>NS-3</b></td><td align='left' valign='middle' class='html-align-left' >Simulator</td><td align='left' valign='middle' class='html-align-left' >Open Source</td><td align='left' valign='middle' class='html-align-left' >X</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' ></td></tr></tbody> </table> </div></section><section id='422Evaluation' type=''><h4 class= data-nested='3'> 4.2.2. Evaluation</h4><div class='html-p'>Very few performance evaluations of the 6LoWPAN adaptation layer have been published thus far. The most notable performance evaluation of the 6LoWPAN protocol was made by [<a href="#B23-jsan-02-00235" class="html-bibr">23</a>] in which the author qualitatively and quantitatively explains the advantages of 6LoWPAN as compared to different industry standards. According to [<a href="#B23-jsan-02-00235" class="html-bibr">23</a>], in terms of memory footprint, ease of deployment, scalability, energy efficiency and other features, 6LoWPAN has significant advantage over other standards, such as Zigbee.</div><div class='html-p'>When analyzing 6LoWPAN in detail, it can be seen that the adaptation layer solves many of the issue relating to supporting IPv6 on constrained devices and LLNs. One of the functions of the adaptation layer is fragmentation and reassembly. In order to fit large IPv6 packets into the small MTU of IEEE 802.15.4 networks and improve efficiency of communication, packets must be fragmented at the adaptation layer before it is passed on to the 802.15.4’s MAC sublayer. Similarly, during reception, these fragments should be reassembled at the same layer before passing them onto upper layer protocols. This approach has enabled smart objects to participate in any IPv6 based communication with some extra processing overhead. In [<a href="#B24-jsan-02-00235" class="html-bibr">24</a>], the authors attempted to test performance of 6LoWPAN on TelosB and MikaZ motes. The authors tried to measure the impact of packet size on RTT and packet loss by increasing the packet size. As expected, the RTT increased for larger packets due to fragmentation and reassembly of packets.</div><div class='html-p'>Both route-over and mesh-under routing mechanisms can be used in 6LoWPAN networks. Due to fragmentation and header compression at the 6LoWPAN adaptation layer, packets in a network that uses route-over routing have to be reassembled at every intermediate node to get the destination IP address for determining the next hop. These fragments have to go through compression and fragmentation processes before they are forwarded to the next hop router. This approach requires extra buffer space to store all fragments of a particular packet at each intermediate node. As memory is one of the constrained resources, this may not be an optimal solution for Internet of Things nodes. On the other hand, mesh-under routing may solve the issue of reassembly and fragmentation by routing the fragments independently. To the best of our knowledge, there is no performance comparison of the two routing approaches in literature. Also, no standardized solution for mesh-under routing has been proposed; as opposed to the RPL route-over routing protocol that is being defined in the IETF ROLL working group. However, examples of mesh-under routing can be found in literature, e.g., in [<a href="#B25-jsan-02-00235" class="html-bibr">25</a>].</div><div class='html-p'>IPv6 headers have a minimal length of 40 bytes. This is a too large overhead for the 127 byte MTU of IEEE 802.15.4 networks. 6LoWPAN uses different mechanisms to compress IPv6 headers by removing redundant information from the headers and inferring values from the link layer information. The original compression mechanism proposed in RFC 4944, called HC1, compresses source and destination addresses by assuming that they are link local addresses. If addresses are global, they have to be sent uncompressed. This makes HC1 compression less efficient for IoT solutions which mostly involve global IPv6 addresses. In addition to this, the transport layer protocol compression mechanism, HC2, compresses only limited numbers of protocols. New compression mechanisms, called IPHC and NHC, were introduced in RFC 6282. These mechanisms are significant improvements to the HC1 and HC2 compression mechanisms and new implementations are urged to use the new compression techniques instead of HC1 and HC2. To our knowledge, no detailed evaluations regarding the footprint and performance of these compression mechanisms have been published in the literature to date.</div></section></section><section id='43Leveragingupon6LoWPANtoRealizetheIoT' type=''><h4 class=html-italic data-nested='2'> 4.3. Leveraging upon 6LoWPAN to Realize the IoT</h4><div class='html-p'>As described in the previous sections, the core specifications of 6LoWPAN are RFC 4944, RFC 6282 and RFC 6775. As 6LoWPAN is part of a full protocol stack, it is used in combination with different protocols, from the physical to the application layer. Further standardization work and research efforts are therefore focusing on, amongst others, improvements to the core specifications, extensions for non-IEEE 802.15.4 networks and the adoption of 6LoWPAN in practical use cases.</div><section id='431ImprovementstoCoreSpecifications' type=''><h4 class= data-nested='3'> 4.3.1. Improvements to Core Specifications</h4><div class='html-p'>In addition to the core specifications, other sub-protocols are being discussed in the working group. As was already mentioned, the improved compression mechanism specified in RFC 6282 introduces a next header identifier to enable any arbitrary next header compression. The <span class='html-italic'>Generic Compression of Headers and Header-like payloads</span> (draft-bormann-6lowpan-ghc-05) [<a href="#B26-jsan-02-00235" class="html-bibr">26</a>] is one of the internet drafts that utilizes the identifier to perform compression of arbitrary headers.</div><div class='html-p'>Adaptation Layer Fragmentation Indication is another area that is under discussion. The draft, (draft-bormann-intarea-alfi), proposes a mechanism to indicate the presence of fragmentation at the adaptation layer and to indicate preferred MTU for the communication. This draft aims at improving application performance by limiting packet sizes to the smallest possible size to avoid fragmentation on link layers with small MTU values.</div></section><section id='4326LoWPANoverNonIEEE802154Technologies' type=''><h4 class= data-nested='3'> 4.3.2. 6LoWPAN over Non IEEE 802.15.4 Technologies</h4><div class='html-p'>The working group also adopted internet draft-ietf-6lowpan-btle, which applies 6LoWPAN technology to Bluetooth Low Energy. This draft is expected to be a companion of RFC 4944 by removing unnecessary features such as Mesh header and Fragmentation. This extension is the first draft that extends 6LoWPAN to non-IEEE 802.15.4 networks. Draft-mariager-6lowpan-v6over-dect-ule, is another draft proposed to extend 6LoWPAN to another non-IEEE 802.15.4 technologies. The draft proposes 6LoWPAN technology for DECT ULE (<span class='html-italic'>Digital Enhanced Cordless Technology Ultra Low Energy</span>). The last two drafts indicate that the working group is considering link-layer technologies other than 802.15.4 to use with 6LoWPAN. As such, it is explored how 6LoWPAN can operate over heterogeneous low-power technologies, in a similar way as how IP can operate over different underlying technologies.</div></section><section id='433Adoptionof6LoWPANinRealLifeUseCases' type=''><h4 class= data-nested='3'> 4.3.3. Adoption of 6LoWPAN in Real Life Use Cases</h4><div class='html-p'>As 6LoWPAN is a key component in order to realize the IP-based integration of constrained devices, it is used in a multitude of projects, exploring a wide range of use cases such as smart infrastructures, smart buildings, smart environments, smart cities, ... In all cases, constrained devices, forming 6LoWPAN networks, are used to collect information from the real world and this information is used to generate intelligence and make the world around us smarter. Enumerating them all would be impossible, but in order to illustrate some application domains a limited number of specific examples is listed.</div><div class='html-p'>The Smart Energy and Home Automation: Restful Architecture (Sahara) project aims at using web-services for smart energy and home automation. The project uses 6LoWPAN on IEEE802.15.4, CoAP and other IETF standardized protocols [<a href="#B27-jsan-02-00235" class="html-bibr">27</a>]. Similarly, the European Union FP7 HOBNET project deploys an IPv6/6LoWPAN infrastructure to be used for the automation and energy management of smart and green building [<a href="#B28-jsan-02-00235" class="html-bibr">28</a>]. Another example is the FP7 Outsmart project [<a href="#B29-jsan-02-00235" class="html-bibr">29</a>], where 6LoWPAN networks are used for instance to optimize waste management [<a href="#B30-jsan-02-00235" class="html-bibr">30</a>]. CALIPSO is another FP7 project that aims at building IP-connected networks of smart object in the area of smart infrastructure, smart cities and smart toys by utilizing IETF standards (including 6LoWPAN) and other start-ups [<a href="#B31-jsan-02-00235" class="html-bibr">31</a>]. Finally, in [<a href="#B32-jsan-02-00235" class="html-bibr">32</a>] 6LoWPAN networks are being used for livestock monitoring applications and other similar use cases.</div></section><section id='434OtherEfforts' type=''><h4 class= data-nested='3'> 4.3.4. Other Efforts</h4><div class='html-p'>Management of (6LoWPAN) networks is another important aspect of 6LoWPAN that is being investigated. In line with this, 6LoWPAN MIB (draft-schoenw-6lowpan-mib) [<a href="#B33-jsan-02-00235" class="html-bibr">33</a>] is being proposed. The draft demonstrates a JSON format using a version of the Management Information Base database for management purposes along with the normal SMIv2 format.</div><div class='html-p'>From the previous discussion, it has become clear that addressing is also a key aspect when extending IPv6 to the constrained world through the use of 6LoWPAN. In this area, other IETF working groups are also conducting research activities in the area. The IETF Working group AUTOCONF (<span class='html-italic'>Ad</span><span class='html-italic'> hoc</span> Network Autoconfiguration) is also working on Neighbor Discovery and stateless address autoconfiguration. Finally, as 6LoWPAN is meant as an enabler to bring IPv6 functionality to constrained networks, many higher layer protocols, such as routing, will run on top of 6LoWPAN networks. During the design of these solutions, the relation and interaction with 6LoWPAN is considered. For example, the routing protocols and mechanisms being developed by ROLL working group can also be seen as other 6LoWPAN related efforts [<a href="#B22-jsan-02-00235" class="html-bibr">22</a>]. The ROLL working group is discussed in the next section.</div></section></section><section id='44ResearchChallenges' type=''><h4 class=html-italic data-nested='2'> 4.4. Research Challenges</h4><div class='html-p'>One of the key issues in connecting constrained networks with the Internet is fragmentation, caused by the 127 byte MTU of IEEE 802.15.4 versus the minimum MTU of 1280 bytes of links in IPv6 networks. Avoiding low-level fragmentation is important and requires knowledge about the MTU (<span class='html-italic'>i.e.</span>, via discovery), knowledge about other protocols (type of routing) and interaction with the applications (and the potential use of fragmentation at this layer, such as block transfers in CoAP as will be discussed later). A good understanding and evaluation of the impact of fragmentation and solutions to avoid it is needed. For example, when using route-over solutions, additional buffer space is needed for packet reassembly and fragmentation at each intermediate node, since the information needed for routing can only be found in the first fragment [<a href="#B34-jsan-02-00235" class="html-bibr">34</a>]. The need of this additional buffer space can be avoided, by providing a small buffer to store the first few bytes of each packet. As the delivery of the first fragment could be handled by looking at the destination address, subsequent fragments may be routed based on the datagram-tag which is stored in the small buffer we set aside. Different mechanisms may be considered for first fragments of a packet arriving late.</div><div class='html-p'>Regarding compression, advanced compression techniques have been proposed, including the compression of next headers. Until now, a thorough evaluation of the performance of these mechanisms for various communication patterns, address sizes and setups is missing. Transport layer compression methods are currently defined for UDP only. The 6LoWPAN working group is discussing generic next header protocol compression. Nevertheless, no compression mechanism is defined for TCP and ICMPv6 yet. Such a mechanism for TCP could be considered irrelevant for the majority of constrained devices, since they typically use UDP with an application-layer protocol such as CoAP that provides some of the missing features of TCP. However the use of CoAP on top of TCP has been explored [<a href="#B35-jsan-02-00235" class="html-bibr">35</a>].</div><div class='html-p'>There are still a number of other issues to be investigated. Layer 3 route-over and layer 2 mesh-under routing protocols are supported on 6LoWPAN networks. Mixing these protocols in a given 6LoWPAN network might be a path worth exploring [<a href="#B23-jsan-02-00235" class="html-bibr">23</a>].</div><div class='html-p'>Finally, the 6LoWPAN working group has already published a proposed standard document relating to Neighbor Discovery. Yet, Secure Neighbor Discovery is still unexplored territory. IPv6-like security up to level of constrained devices is being researched. Despite several efforts, key distribution to constrained devices remains one of the biggest challenges so far.</div></section></section><section id='sec5-jsan-02-00235' type=''><h2 data-nested='1'> 5. IETF ROLL Working Group</h2><section id='51GroupDescriptionandKeyProtocols' type=''><h4 class=html-italic data-nested='2'> 5.1. Group Description and Key Protocols</h4><section id='511Description' type=''><h4 class= data-nested='3'> 5.1.1. Description</h4><div class='html-p'>The specific properties of LLNs imply specific routing requirements for these networks. The ROLL working group [<a href="#B36-jsan-02-00235" class="html-bibr">36</a>] focuses on building routing solutions for LLNs because evaluation of existing routing protocols like OSPF, IS-IS, AODV, and OLSR indicate that they do not satisfy all of the specific routing requirements. More specific, the working group focuses on industrial (RFC 5673) [<a href="#B37-jsan-02-00235" class="html-bibr">37</a>], connected home (RFC 5826) [<a href="#B38-jsan-02-00235" class="html-bibr">38</a>], building (RFC 5867) [<a href="#B39-jsan-02-00235" class="html-bibr">39</a>] and urban sensor networks (RFC 5548) [<a href="#B40-jsan-02-00235" class="html-bibr">40</a>] for which different routing requirements were specified.</div><div class='html-p'>The working group focuses only on an IPv6 routing architectural framework while also taking into account high reliability in presence of time varying loss characteristics and connectivity with low-power operated devices with limited memory and CPU in large scale networks. The main realization of this working group is the design of the IPv6 route-over Routing Protocol for LLNs, also called RPL, which covers the routing requirements of all the application domains. </div></section><section id='512IPv6RoutingProtocolforLowPowerandLossyNetworks' type=''><h4 class= data-nested='3'> 5.1.2. IPv6 Routing Protocol for Low Power and Lossy Networks</h4><div class='html-p'>With the specification of RPL in <span class='html-italic'>RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks</span> (RFC 6550) [<a href="#B41-jsan-02-00235" class="html-bibr">41</a>], the IETF has specified a proactive “route-over” architecture where routing and forwarding is implemented at the network layer, according to the IP architecture. The protocol provides a mechanism whereby multipoint-to-point, point-to-multipoint and point-to-point traffic are supported. Although RPL was specified according to the routing requirements for LLNs, its use is not limited to these applications. RPL routes are optimized for traffic to or from a root that acts as a sink/root for the topology.</div><div class='html-p'>The functioning of the RPL routing protocol is based on the construction of a <span class='html-italic'>Directed Acyclic Graph</span> (DAG), which consist of one or more DODAGs (<span class='html-italic'>Destination Oriented DAGs</span>), for each sink/root a DODAG. The position of an individual node in a DODAG is determined by the rank of the node. This rank is calculated based on the <span class='html-italic'>Objective Function</span> (OF), which defines how to translate one or more metrics and constraints, defined in <span class='html-italic'>Routing metrics used for path calculation in low power and lossy networks</span> (RFC 6551) [<a href="#B42-jsan-02-00235" class="html-bibr">42</a>], into a rank. The OF also specifies how a node has to select his parent. Different DODAGs based on a same OF are represented by a RPLInstanceID. More details concerning OFs can be found in <span class='html-italic'>Objective Function Zero for the Routing Protocol for Low-Power and Lossy Networks (RPL)</span> (RFC 6552) [<a href="#B43-jsan-02-00235" class="html-bibr">43</a>], <span class='html-italic'>The Minimum Rank with Hysteresis Objective Function</span> (RFC 6719) [<a href="#B44-jsan-02-00235" class="html-bibr">44</a>] and RFC 6551.</div><div class='html-p'>When a new node joins a RPL network, it first listens to receive <span class='html-italic'>DODAG Information Object</span> (DIO) messages, which are broadcasted periodically when the trickle timer [<a href="#B45-jsan-02-00235" class="html-bibr">45</a>] of neighboring nodes fires. When no DIO message is received, the node will broadcast a <span class='html-italic'>DODAG Information Solicitation</span> (DIS) message, which will force the neighboring nodes to send a DIO message. Based on the information of the DIO message from the neighboring nodes, the <span class='html-italic'>Objective Function</span> (OF) will select the preferred parent. When every node in the network has selected a preferred parent, the DODAG (for a specific OF and for each sink) has been constructed. Routing from a node towards the sink is established by forwarding each message, for collection by the sink, to each nodes parent, until packets reach the sink.</div><div class='html-p'>Downward routes (root to leaf) are constructed using <span class='html-italic'>Destination Advertisement Object</span> (DAO) messages. When a node has selected a preferred parent it will send a DAO message to his preferred parent, which will be forwarded, via the parent’s parent, towards the root. Two modes of operation are supported: Storing (fully stateful) or Non-Storing (fully source routed) mode.</div><div class='html-p'>The mode of operation, for construction of downward routes will also influence the operation for point-to-point routes (<a href="#jsan-02-00235-f009" class="html-fig">Figure 9</a>). In the Non-Storing case, the packet will travel all the way to a DODAG root before traveling down. In the Storing case, the packet may be directed down towards the destination by a common ancestor of the source and the destination prior to reaching a DODAG root. If the destination is on the route towards the root, the destination node of course will not forward the message.</div><div class="html-fig-wrap" id="jsan-02-00235-f009"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f009"> <img alt="Jsan 02 00235 g009 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f009"></a> </div> </div> <div class="html-fig_description"> <b>Figure 9.</b> Packet flow for point-to-point traffic between two nodes in an RPL network. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f009"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f009" > <div class="html-caption" > <b>Figure 9.</b> Packet flow for point-to-point traffic between two nodes in an RPL network.</div> <div class="html-img"><img alt="Jsan 02 00235 g009" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g009.png" /></div> </div><div class='html-p'>RPL messages are encapsulated into a new ICMPv6 message, defined in <span class='html-italic'>Internet Control Message Protocol</span><span class='html-italic'>(ICMPv6) for IPv6 Specification</span> (RFC 4443) [<a href="#B46-jsan-02-00235" class="html-bibr">46</a>]. For RPL control messages this results in a message structure illustrated by <a href="#jsan-02-00235-f010" class="html-fig">Figure 10</a>, consisting of an ICMPv6 header followed by the actual message body (base) and some (optional) options.</div><div class="html-fig-wrap" id="jsan-02-00235-f010"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f010"> <img alt="Jsan 02 00235 g010 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f010"></a> </div> </div> <div class="html-fig_description"> <b>Figure 10.</b> ICMPv6 header for RPL control messages. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f010"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f010" > <div class="html-caption" > <b>Figure 10.</b> ICMPv6 header for RPL control messages.</div> <div class="html-img"><img alt="Jsan 02 00235 g010" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g010.png" /></div> </div><div class='html-p'>The code field identifies the type of the RPL control messages. <a href="#jsan-02-00235-t004" class="html-table">Table 4</a> gives an overview of the different codes and their corresponding RPL message type.</div><div class="html-table-wrap" id="jsan-02-00235-t004"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t004'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t004"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 4.</b> Code fields in RPL ICMPv6 messages. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t004" > <table > <caption ><b>Table 4.</b> Code fields in RPL ICMPv6 messages. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='center' valign='middle' class='html-align-center' >Code Field</th><th align='center' valign='middle' class='html-align-center' >RPL Message Type</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>0x00</b></td><td align='left' valign='middle' class='html-align-left' >DODAG Information Solicitation (DIS)</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>0x01</b></td><td align='left' valign='middle' class='html-align-left' >DODAG Information Object (DIO)</td></tr><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>0x02</b></td><td align='left' valign='middle' class='html-align-left' >Destination Advertisement Object (DAO)</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>0x03</b></td><td align='left' valign='middle' class='html-align-left' >Destination Advertisement Object Acknowledgment</td></tr><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>0x80</b></td><td align='left' valign='middle' class='html-align-left' >Secure DODAG Information Solicitation</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>0x81</b></td><td align='left' valign='middle' class='html-align-left' >Secure DODAG Information Object (DIO)</td></tr><tr style='background:#D3DFEE' ><td align='center' valign='middle' class='html-align-center' ><b>0x82</b></td><td align='left' valign='middle' class='html-align-left' >Secure Destination Advertisement Object (DAO)</td></tr><tr ><td align='center' valign='middle' class='html-align-center' ><b>0x83</b></td><td align='left' valign='middle' class='html-align-left' >Secure Destination Advertisement Object Acknowledgment</td></tr></tbody> </table> </div><div class='html-p'>When the high order bit (0 × 80) in the code field is set, it indicates that security is enabled. In this case between the header and the base field a security field will be added.</div><div class='html-p'>In a DODAG Information Solicitation message the base field will consist of a reserved 1 byte flag field, a 1 byte reserved field. Together, with the flag and reserved field, unassigned bits must be set to zero on transmission and must be ignored on reception.</div><div class='html-p'>The DODAG Information Object (<a href="#jsan-02-00235-f011" class="html-fig">Figure 11</a>) contains information that allows receiving nodes to learn and configure for joining a DODAG. The message can indicate if the DODAG is grounded (1 bit G-field), which <span class='html-italic'>mode of operation</span> (MOP) is followed and how preferable the root of this DODAG is compared to other DODAG roots (Prf-field). The message also contains the version number, the RPLInstanceID, DODAGID (128-bit IPv6 address that uniquely identifies a DODAG), a number of flags and the rank of the sending node.</div><div class="html-fig-wrap" id="jsan-02-00235-f011"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f011"> <img alt="Jsan 02 00235 g011 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f011"></a> </div> </div> <div class="html-fig_description"> <b>Figure 11.</b> The DODAG Information Object (DIO) Base Object. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f011"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f011" > <div class="html-caption" > <b>Figure 11.</b> The DODAG Information Object (DIO) Base Object.</div> <div class="html-img"><img alt="Jsan 02 00235 g011" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g011.png" /></div> </div><div class='html-p'>The <span class='html-italic'>Destination Advertisement Object</span> (DAO) message is illustrated in <a href="#jsan-02-00235-f012" class="html-fig">Figure 12</a>. The RPLInstanceID, learned from the DIO, is copied into the DAO message. When the sender expect the receiver to send a DAO-ACK the K-flag is set. To indicate the presence of the DODAGID field, the D-flag is used. The DAOSequence indicates the incremented sequence number incremented every time a node sends out a unique DAO message.</div><div class="html-fig-wrap" id="jsan-02-00235-f012"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f012"> <img alt="Jsan 02 00235 g012 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f012"></a> </div> </div> <div class="html-fig_description"> <b>Figure 12.</b> The DAO Base Object. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f012"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f012" > <div class="html-caption" > <b>Figure 12.</b> The DAO Base Object.</div> <div class="html-img"><img alt="Jsan 02 00235 g012" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g012.png" /></div> </div></section></section><section id='52ImplementationandEvaluation' type=''><h4 class=html-italic data-nested='2'> 5.2. Implementation and Evaluation</h4><section id='521Implementation' type=''><h4 class= data-nested='3'> 5.2.1. Implementation</h4><div class='html-p'>Already during the standardization process of the RPL protocol, the draft of the protocol was implemented in several platforms and simulators. An overview of the different implementations is presented in <a href="#jsan-02-00235-t005" class="html-table">Table 5</a>.</div><div class="html-table-wrap" id="jsan-02-00235-t005"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t005'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t005"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 5.</b> Implementations incorporating RPL. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t005" > <table > <caption ><b>Table 5.</b> Implementations incorporating RPL. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='left' valign='middle' class='html-align-left' >Name</th><th align='left' valign='middle' class='html-align-left' >OS</th><th align='left' valign='middle' class='html-align-left' >Protocol Version</th><th align='left' valign='middle' class='html-align-left' >Notes (Extensions, ..)</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>TinyRPL</b> [<a href="#B47-jsan-02-00235" class="html-bibr">47</a>]</td><td align='left' valign='middle' class='html-align-left' >TinyOS</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-17</td><td align='left' valign='middle' class='html-align-left' >- uses BLIP 2.0<br> - only storing mode<br> - only single RPLInstanceID<br> - security options not supported<br> - only telosb and epic platform support</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>ContikiRPL</b> [<a href="#B48-jsan-02-00235" class="html-bibr">48</a>]</td><td align='left' valign='middle' class='html-align-left' >Contiki</td><td align='left' valign='middle' class='html-align-left' >RFC 6550</td><td align='left' valign='middle' class='html-align-left' >by default enabled on Tmote sky platform</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>OpenWSN</b> [<a href="#B49-jsan-02-00235" class="html-bibr">49</a>]</td><td align='left' valign='middle' class='html-align-left' >OpenWSN</td><td align='left' valign='middle' class='html-align-left' >RFC 6550</td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Nano-RK</b> [<a href="#B50-jsan-02-00235" class="html-bibr">50</a>]</td><td align='left' valign='middle' class='html-align-left' >Nano-RK</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-07</td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>NanoQplus</b> [<a href="#B51-jsan-02-00235" class="html-bibr">51</a>]</td><td align='left' valign='middle' class='html-align-left' >NanoQplus</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-13</td><td align='left' valign='middle' class='html-align-left' ></td></tr></tbody> </table> </div><div class='html-p'>In <a href="#jsan-02-00235-t006" class="html-table">Table 6</a> an overview is given of the network simulators that implement the RPL protocol. In the table the TOSSIM simulator, standard for TinyOS, is not mentioned because TOSSIM requires micaz support, which is not available for TinyRPL. Several research papers such as [<a href="#B52-jsan-02-00235" class="html-bibr">52</a>] and [<a href="#B53-jsan-02-00235" class="html-bibr">53</a>] also implemented the RPL protocol into the WSNet simulator. In [<a href="#B53-jsan-02-00235" class="html-bibr">53</a>] this implementation is based on draft-ietf-roll-rpl-05.</div><div class="html-table-wrap" id="jsan-02-00235-t006"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t006'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t006"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 6.</b> Simulators incorporating RPL. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t006" > <table > <caption ><b>Table 6.</b> Simulators incorporating RPL. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='left' valign='middle' class='html-align-left' >Name</th><th align='left' valign='middle' class='html-align-left' >Language</th><th align='left' valign='middle' class='html-align-left' >Protocol version</th><th align='left' valign='middle' class='html-align-left' >Notes (extensions,..)</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Cooja </b>[<a href="#B54-jsan-02-00235" class="html-bibr">54</a>]</td><td align='left' valign='middle' class='html-align-left' >C with limited libs</td><td align='left' valign='middle' class='html-align-left' >RFC 6550</td><td align='left' valign='middle' class='html-align-left' >MSPsim (TinyOS + Contiki)</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>NS-3 </b>[<a href="#B55-jsan-02-00235" class="html-bibr">55</a>]</td><td align='left' valign='middle' class='html-align-left' >C++ and Python</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-19</td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>OMNET++/Castalia </b>[<a href="#B56-jsan-02-00235" class="html-bibr">56</a>]</td><td align='left' valign='middle' class='html-align-left' >C++ (wrapped together with NED)</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-19</td><td align='left' valign='middle' class='html-align-left' ></td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>J-SIM </b>[<a href="#B57-jsan-02-00235" class="html-bibr">57</a>]</td><td align='left' valign='middle' class='html-align-left' >Tcl/Java</td><td align='left' valign='middle' class='html-align-left' >draft-ietf-roll-rpl-19</td><td align='left' valign='middle' class='html-align-left' >EU-funded FP7 ICT-257245 VITRO project</td></tr></tbody> </table> </div></section><section id='522UsingtheProtocol' type=''><h4 class= data-nested='3'> 5.2.2. Using the Protocol</h4><div class='html-p'>RPL is designed to be widely applicable; therefore many configuration options are available. Based on experience, <span class='html-italic'>Recommendations for Efficient Implementation of RPL</span> (draft-gnawali-roll-rpl-recommendations-04) [<a href="#B58-jsan-02-00235" class="html-bibr">58</a>] presents different design choices and configuration parameters that envision an efficient RPL implementation and operation. In <span class='html-italic'>Performance Evaluation of the Routing Protocol for Low-Power and Lossy Networks (RPL)</span> (RFC 6687) [<a href="#B59-jsan-02-00235" class="html-bibr">59</a>], an overview and evaluation is given of how the protocol can handle two different use cases (a small outdoor deployment of sensor nodes for building automation and a large-scale smart meter network) to meet the desired requirements.</div><div class='html-p'>It is worth noting that a difference in design choices and configuration parameters can lead to interoperability problems. In [<a href="#B60-jsan-02-00235" class="html-bibr">60</a>] the interoperability between ContikiRPL and TinyRPL is investigated. The paper shows that, despite having two good performing independent implementations, a combination can lead to large scale differences in behavior when combining them in a mixed set up. It is also illustrated that subtle difference in lower layers can affect the system performance in unexpected ways.</div></section><section id='523SensortoSensorTraffic' type=''><h4 class= data-nested='3'> 5.2.3. Sensor-to-Sensor Traffic</h4><div class='html-p'>The routing for sensor-to-sensor communication is based on the communication paths between the root and the sensors. These paths are initiated by the communication of DAO-messages to their preferred parent. According to [<a href="#B61-jsan-02-00235" class="html-bibr">61</a>] this path setup can lead to congestion on the nodes around the root. In addition, the limitations on packet sizes for constrained devices for non-storing mode introduce the risk of fragmentation for paths with multiple hops. In contrast, for operation in storing mode, the limited memory influences the number of paths a node close to the root can store.</div><div class='html-p'>The authors of [<a href="#B62-jsan-02-00235" class="html-bibr">62</a>] state that the importance of point-to-point traffic flows in low-power and lossy networks is underestimated. In the paper it is demonstrated for a network consisting of about 1,000 nodes that the shortest cost <span class='html-italic'>peer-to-peer</span> (P2P) routes performs significantly better than the current RPL standard (using up and down P2P routes). This illustrates the need of additional point-to-point routing mechanisms. This conclusion is also confirmed by [<a href="#B63-jsan-02-00235" class="html-bibr">63</a>]. In this paper a solution is provided, called P2P-RPL, which extents RPL and performs better in a network of 27 fixed nodes running Contiki that has an average node degree of 4.39. While data packets in standard RPL traverse approximately 5 links on average, the links that are traversed when using P2P-RPL are halved for the same network. For even deeper nested DODAG trees, even higher gains are expected. P2P-RPL also decrease the traffic load around the sink: in storing mode with standard RPL 74,53% of the routes traverse the root, while for P2P-RPL this is only 16,03%.</div></section><section id='524MultipointtoPointTraffic' type=''><h4 class= data-nested='3'> 5.2.4. Multipoint-to-Point Traffic</h4><div class='html-p'>In many IoT use cases, different sensors send their sensed data to a central sink. For this type of traffic RPL requires very limited control overhead. This overhead is further reduced by the use of the Trickle timer [<a href="#B45-jsan-02-00235" class="html-bibr">45</a>], which decreases the frequency of the sending of DIO messages when the network is stable. Also the responsibility of maintaining routes from leafs to the sink is delegated to each node by only selecting a parent which is closer (according to the OF) to the sink.</div></section><section id='525Multicast' type=''><h4 class= data-nested='3'> 5.2.5. Multicast</h4><div class='html-p'>Possibilities for the usage of RPL routing of multicast messages are stated in <span class='html-italic'>Multicast Protocol for Low power and Lossy Networks (MPL)</span> (draft-ietf-roll-trickle-mcast-02) [<a href="#B64-jsan-02-00235" class="html-bibr">64</a>]. According to [<a href="#B65-jsan-02-00235" class="html-bibr">65</a>] the proposed draft solution has the advantage that it will work without modifications and reliability is increased by the per datagram state information maintenance, but it also has a number of drawbacks. A first drawback is that, instead of storing only destination information, for each packet a state has to be stored, which can result in scalability issues. The use of caching of messages, to avoid duplicates, can possibly improve the performance. Other drawbacks are an increase in complexity, susceptibility for out-of-order datagram arrival and energy and bandwidth inefficiencies due to the forwarding of messages to all parts of the network instead of only to parts with interested nodes (lack of group registration). To solve these issues, [<a href="#B65-jsan-02-00235" class="html-bibr">65</a>] introduces an alternative protocol, called SMRF.</div></section><section id='526Anycast' type=''><h4 class= data-nested='3'> 5.2.6. Anycast</h4><div class='html-p'>Currently, no support for anycast is provided in RPL. The use of anycast could be very efficient, especially when multiple sinks are available.</div></section><section id='527LinkEstimation' type=''><h4 class= data-nested='3'> 5.2.7. Link Estimation</h4><div class='html-p'>The estimation of the link quality with neighboring nodes is done by datapath validation via <span class='html-italic'>Expected Transmission Count</span> (ETX) link cost estimation. The ETX equals the average number of transmissions for a packet to be successfully delivered to its next hop. The current selection mechanism prefers parents with the lowest rank. When there is more than one parent with the lowest rank, the first node is chosen as preferred parent, this has the advantage that no energy is consumed for evaluating the link quality to other neighboring nodes. As a downside, it only evaluates the currently used link; no alternative paths via newly discovered links are investigated. After some time this can lead to a sub-optimal routing topology. In [<a href="#B66-jsan-02-00235" class="html-bibr">66</a>] the solution of passive probing is introduced. Hereby the quality of a newly discovered link is initialized with the best value. This will force nodes to investigate all neighboring nodes as possible parent. At startup this solution will require more energy, but this energy is used to investigate the most optimal path, which can lead to a better overall energy efficiency.</div><div class='html-p'>However, in dense networks, the limited node memory results in constant re-evaluation of neighboring nodes, because neighbors in the neighbor table are continuously replaced by more recently used or heard neighbors. The authors of [<a href="#B66-jsan-02-00235" class="html-bibr">66</a>] suggest to use cache management to solve rediscovery and re-evaluation.</div><div class='html-p'>End-to-end link quality for a point-to-point route is currently not monitored in the RPL framework. A point-to-point link and its quality are currently determined by the individual links between the intermediate nodes. The nodes decide when to switch to a different parent based on the objective function. In <span class='html-italic'>A Mechanism to Measure the Routing Metrics along a Point-to-point Route in a Low Power and Lossy Network</span> (draft-ietf-roll-p2p-measurement-07) [<a href="#B67-jsan-02-00235" class="html-bibr">67</a>] a mechanism is described to analyze the quality of the current route and to allow the router to initiate the discovery of a better route.</div><div class='html-p'>Similar to the previous draft, an on demand discovery mechanism for routes with specified metric constraints is presented in <span class='html-italic'>Reactive Discovery of Point-to-Point Routes in Low Power and Lossy Networks</span> (draft-ietf-roll-p2p-rpl-15) [<a href="#B68-jsan-02-00235" class="html-bibr">68</a>].</div></section><section id='528GeneralPerformance' type=''><h4 class= data-nested='3'> 5.2.8. General Performance</h4><div class='html-p'>For the implementation of RPL in Contiki, according to [<a href="#B48-jsan-02-00235" class="html-bibr">48</a>], 3224 bytes of the ROM are used and 800 bytes of the RAM. For a Tmote Sky mote this implies 6.5% of the ROM- and 8% of the RAM-resources.</div><div class='html-p'>The usage of the Trickle timer helps to minimize the amount of routing overhead. In a stable network the Trickle timer allows the beacon intervals to exponentially increase and when noticeable changes in the network conditions are detected the beacon interval quickly decreases to the minimum interval. Still, for scenarios with bidirectional traffic, the RPL protocol generates a larger traffic overhead (albeit with comparable delivery ratios) when compared to a protocol like LOAD [<a href="#B69-jsan-02-00235" class="html-bibr">69</a>]. It also has to be noted that LOAD is a reactive protocol, which has the additional advantage that the overhead is dependent of the traffic load, while RPL is proactive and has a constant overhead. When comparing TinyRPL with CTP [<a href="#B70-jsan-02-00235" class="html-bibr">70</a>], the well-known point-to-sink routing protocol for TinyOS, simulations indicate that the performance of both protocols has a comparable packet reception ratio and overhead. The benefit of RPL, compared to CTP, is the support for various types of traffic patterns (<span class='html-italic'>i.e.</span>, multipoint-to-point, point-to-multipoint and point-to-point traffic) and the ability to directly connect to Internet nodes.</div><div class='html-p'>Finally, [<a href="#B71-jsan-02-00235" class="html-bibr">71</a>] analyzes the performance of RPL based on different simulations and concludes that RPL can ensure a fast network setup, which makes it a candidate protocol for monitoring applications in critical conditions. However they conclude that optimizations are required concerning the signaling in order to decrease protocol overhead.</div></section></section><section id='53LeveraginguponRPLtoRealizetheIoT' type=''><h4 class=html-italic data-nested='2'> 5.3. Leveraging upon RPL to Realize the IoT</h4><section id='531RealLifeUseCases' type=''><h4 class= data-nested='3'> 5.3.1. Real Life Use Cases</h4><div class='html-p'>The RPL framework is currently used in different research projects. However in most cases the protocol is adapted to the specific requirements of the network. Most often, the RPL framework is used as a basis for the development of a specific protocol. Examples of such adaptations can be found in the previous evaluation section.</div><div class='html-p'>Additional examples include the following: in [<a href="#B72-jsan-02-00235" class="html-bibr">72</a>] the implementation of a smart monitoring system over a wireless sensor network is presented. The implementation focuses on the use of RPL to create an efficient and reliable routing structure. The paper also shows how, by changing some key parameters, the performance of RPL routing in a smart grid scenario can be influenced. In [<a href="#B73-jsan-02-00235" class="html-bibr">73</a>] a case study for the usage of RPL in an agricultural context is presented. Further, in [<a href="#B74-jsan-02-00235" class="html-bibr">74</a>] an example of the usage of RPL in transport logistics can be found.</div></section><section id='532LoopfreeRepairMechanisms' type=''><h4 class= data-nested='3'> 5.3.2. Loop-free Repair Mechanisms</h4><div class='html-p'>When link quality decreases and/or failure of a parent occurs, the repair mechanism of RPL, can introduce DODAG loops. In <span class='html-italic'>Loop Free DODAG Local Repair</span> (draft-guo-roll-loop-free-dodag-repair-00) [<a href="#B75-jsan-02-00235" class="html-bibr">75</a>] an adaptation to the repair mechanism is proposed. In <span class='html-italic'>Loop Free RPL</span> (draft-guo-roll-loop-free-rpl-01) [<a href="#B76-jsan-02-00235" class="html-bibr">76</a>] adaptation to the rank mechanism and objective function are presented. These drafts envision a loop free repair mechanism.</div></section><section id='533Heterogeneity' type=''><h4 class= data-nested='3'> 5.3.3. Heterogeneity</h4><div class='html-p'>RPL specifications recommend forcing nodes with more constrained characteristics to operate only as a leaf node in a RPL network. A solution to force storing mode nodes to act as a non-storing mode in the presence of non-storing modes is presented in <span class='html-italic'>RPL Routing Pathology In a</span><span class='html-italic'>Network With a Mix of Nodes Operating in Storing and Non-Storing Modes</span> (draft-ko-roll-mix-network-pathology-01) [<a href="#B77-jsan-02-00235" class="html-bibr">77</a>].</div><div class='html-p'>Most often, a simple objective function for a RPL based network is used. Objective functions however can also include device information to enforce specific routes. In <span class='html-italic'>The Node Ability of Participation (NAP)</span> (draft-baryun-roll-nap-00) [<a href="#B78-jsan-02-00235" class="html-bibr">78</a>] the incorporation of node ability information is proposed to enable heterogeneity in terms of device capabilities.</div></section><section id='534DISHandling' type=''><h4 class= data-nested='3'> 5.3.4. DIS Handling</h4><div class='html-p'>In <span class='html-italic'>DIS Modifications</span> (draft-goyal-roll-dis-modifications-01) [<a href="#B79-jsan-02-00235" class="html-bibr">79</a>] DIS options are presented to influence the control of responses to the solicitation for DIOs. A first option is the adding of a metric container field, which contains routing constraints a router must satisfy in order to respond, in a DIS message. A second option is the response spreading for preventing collisions with responses on a DIS multicast message. In this draft two cases (leaf node joining a DAG and identification of defunct DAGs) which make use of the DIS mechanism are described and compared.</div></section></section><section id='54ResearchChallenges' type=''><h4 class=html-italic data-nested='2'> 5.4. Research Challenges</h4><div class='html-p'>Despite the standardization of RPL, some questions and gaps remain unsolved.</div><section id='541InteractionwithMACProtocols' type=''><h4 class= data-nested='3'> 5.4.1. Interaction with MAC Protocols</h4><div class='html-p'>First of all, the RPL interaction with different MAC protocols and duty cycles is not yet determined. Especially the behavior at startup, when lots of configuration traffic is sent out, hasn’t been researched yet. Since most IoT devices are, by definition, energy constrained, this aspect requires significant additional research.</div></section><section id='542AsymmetricLinks' type=''><h4 class= data-nested='3'> 5.4.2. Asymmetric Links</h4><div class='html-p'>The current RPL standard assumes the use of symmetrical links. For the selection of an optimal parent, the current RPL standard uses an approach based on the receipt of DIO messages from neighboring nodes. The node will select a parent based on the information in this message. However a node will use this link in the opposite direction of the receival of the DIO message. In case of asymmetric links or unidirectional links the node will not be able to reach his preferred parent, which results in the reselection of another parent after some time. As such, this mechanism can be extended to also cope with asymmetric links.</div></section><section id='543Mobility' type=''><h4 class= data-nested='3'> 5.4.3. Mobility</h4><div class='html-p'>Currently RPL does not support node mobility. By supporting mobile nodes, the protocol can also be used for other application domains such as monitoring and safety systems for diverse traffic situations. In the field of mobile nodes in an RPL network, research activities are just starting. This means that lots of problems still have to be solved.</div><div class='html-p'>In [<a href="#B80-jsan-02-00235" class="html-bibr">80</a>] a multipath routing protocol for mobile sensor networks is presented. The protocol, called DMR, is based on the RPL framework. The performance of the protocol was compared against AODV and AOMDV by simulations in the NS-2.34 simulator. An improvement of energy efficiency with 25% and 20%, compared to AODV and AOMDV is achieved, while maintaining a delivery ratio of more than 97%.</div><div class='html-p'>Because a vehicular environment incorporates design elements of RPL, [<a href="#B81-jsan-02-00235" class="html-bibr">81</a>] provides a simulation performance study of adaptations of RPL for VANETs, by tuning different parameters of RPL. The test setup consists of nodes traversing in a line with an interdistance equal to the transmission range. The sink is positioned in the middle of the line. Information is transferred by multi-hopping with neighboring moving nodes.</div><div class='html-p'>In [<a href="#B82-jsan-02-00235" class="html-bibr">82</a>] adaptations are presented to enable data collection of a mobile node traversing, in a random pattern, in an environment of fixed nodes, running standard RPL. This is achieved mainly by having the mobile node continuously monitor his parents and neighborhood.</div><div class='html-p'>The selection and evaluation of the preferred parent, for mobile nodes, is still an open issue. For mobile nodes the link quality and neighboring nodes will vary due to the movement of the node. Therefore constant discovery of new neighbors and constant link analysis will be necessary. Because estimations are based on measurements, they also include an estimation of the past link quality. For fixed networks this estimation will be strongly correlated with the current link quality. For mobile nodes this estimation is typically outdated. An adaptive configuration for link estimation could help solve this problem, for instance by taking into account the movement (direction, speed,…) of the node, by reasoning on the succession of estimations (increasing values can indicate a node is approaching a parent or decrease of values a the opposite) or by adapting monitoring and/or discovery of neighbors.</div><div class='html-p'>Choosing a parent is important for reliably sending and receiving information. For fixed networks the parent with the best (stable) link quality is indeed the best choice. For mobile nodes, switching too frequently to a different parent also influences the reliability and energy consumption (extra control traffic for downward traffic). Therefore a selection of a parent which will be a good parent for a longer time can be a better choice.</div></section><section id='544MultiSinkSupport' type=''><h4 class= data-nested='3'> 5.4.4. Multi-Sink Support</h4><div class='html-p'>In the standard, the possibilities for multi-sinks are briefly mentioned. However, currently no complete implementations are publicly available to our knowledge.</div></section><section id='545ScalabilityoftheNonStoringRPLApproach' type=''><h4 class= data-nested='3'> 5.4.5. Scalability of the Non-Storing RPL Approach</h4><div class='html-p'>As already mentioned the non-storing mode is a good mechanism to limit the usage of memory for nodes in dense networks, but it also has a negative effect on the depth of routing tree. In non-storing mode, the addresses of all the intermediate nodes are added to the packet. This includes the danger that these messages will get fragmented and limits the available payload [<a href="#B62-jsan-02-00235" class="html-bibr">62</a>]. This is definitely a challenge that has not been investigated thoroughly.</div></section></section></section><section id='sec6-jsan-02-00235' type=''><h2 data-nested='1'> 6. IETF CoRE Working Group</h2><div class='html-p'>More recent, in 2010, an IETF working group, called Constrained RESTful Environments (CoRE), was founded specifically to work on the standardization of a framework for resource-oriented applications, allowing realization of RESTful embedded web services in a similar way as traditional web services, but suitable for the most constrained nodes and networks. Their work resulted in the Constrained Application Protocol (CoAP), a specialized RESTful web transfer protocol for use with constrained networks and nodes.</div><section id='61KeyProtocols' type=''><h4 class=html-italic data-nested='2'> 6.1. Key Protocols</h4><div class='html-p'>CoAP is defined in draft-ietf-core-coap [<a href="#B83-jsan-02-00235" class="html-bibr">83</a>] in conjunction with a number of additional specifications. At the time of writing this article, there were three CoRE Internet-Drafts that are currently nearing completion and one completed RFC. In addition there were one more group Draft and 35 other individual Internet-Drafts listed on the CoRE website [<a href="#B5-jsan-02-00235" class="html-bibr">5</a>]. In this subsection we will describe briefly the (almost) completed CoRE Internet-Drafts and the published RFC. In the next section we will provide a brief summary of the topics covered by the individual Internet-Drafts in the CoRE working group.</div><section id='611BaseCoAP' type=''><h4 class= data-nested='3'> 6.1.1. Base CoAP</h4><div class='html-p'>CoAP uses the same RESTful principles as HTTP, but it is much lighter so that it can be run on constrained devices [<a href="#B84-jsan-02-00235" class="html-bibr">84</a>,<a href="#B85-jsan-02-00235" class="html-bibr">85</a>]. To achieve this, CoAP has a much lower header overhead and parsing complexity than HTTP. It uses a 4-bytes base binary header that may be followed by compact binary options and payload. <a href="#jsan-02-00235-f013" class="html-fig">Figure 13</a> shows the CoAP message format as specified in version 13 of the draft. This version introduced a breaking change in the message format. However, it is expected that this will be the final change of the format.</div><div class="html-fig-wrap" id="jsan-02-00235-f013"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f013"> <img alt="Jsan 02 00235 g013 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f013"></a> </div> </div> <div class="html-fig_description"> <b>Figure 13.</b> CoAP Message Format consisting of a 4-bytes base binary header followed by optional extensions. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f013"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f013" > <div class="html-caption" > <b>Figure 13.</b> CoAP Message Format consisting of a 4-bytes base binary header followed by optional extensions.</div> <div class="html-img"><img alt="Jsan 02 00235 g013" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g013.png" /></div> </div><div class='html-p'>The CoAP interaction model is similar to the client/server model of HTTP. A client can send a CoAP request, requesting an action specified by a method code (GET, PUT, POST or DELETE) on a resource (identified by a URI) on a server. The CoAP server processes the request and sends back a response containing a response code and payload. Unlike HTTP, CoAP deals with these interchanges asynchronously over a datagram-oriented transport such as UDP and thus it also supports multicast CoAP requests. This allows CoAP to be used for point-to-multipoint interactions which are commonly required in automation. Optional reliability is supported within CoAP itself by using a simple stop-and-wait reliability mechanism upon request. Secure communication is also supported through the optional use of Datagram Transport Layer Security (DTLS).</div><div class='html-p'>As can be seen in <a href="#jsan-02-00235-f013" class="html-fig">Figure 13</a> all CoAP messages start with a 4-bytes base binary header that consists of the following fields: <ul class='html-bullet'><li><div class='html-p'><b>Version (V)</b>: A 2-bit unsigned integer indicating the CoAP version number. Current version is 1. Other values are reserved for future versions.</div></li><li><div class='html-p'><b>Type (T)</b>: A 2-bit unsigned integer indicating if this message is of type Confirmable (0), Non-Confirmable (1), Acknowledgement (2) or Reset (3). </div></li><li><div class='html-p'><b>Token Length (TKL)</b>: A 4-bit unsigned integer indicating the length of the variable-length Token field (0-8 bytes). Lengths 9-15 are reserved.</div></li><li><div class='html-p'><b>Code</b>: An 8-bit unsigned integer indicating if the message carries a request (1-31) or a response (64-191), or is empty (0). (All other code values are reserved.) In case of a request, the Code field indicates the Request Method (1: GET; 2: POST; 3: PUT; 4: DELETE); in case of a response a Response Code. Possible values are maintained in the CoAP Code Registry (see section 12 of the draft). </div></li><li><div class='html-p'><b>Message ID</b>: A 16-bit unsigned integer in network byte order used for the detection of message duplication, and to match messages of type Acknowledgement/Reset to messages of type Confirmable/ Non-confirmable. </div></li></ul></div><div class='html-p'>The base 4-bytes header may be followed by one or more of the following optional fields: <ul class='html-bullet'><li><div class='html-p'><b>Token</b>: 0 to 8 bytes, as given by the Token Length field. The Token value is used to correlate requests and responses. The rules for generating a Token and correlating requests and responses are defined in <a href="#sec5-jsan-02-00235" class="html-sec">Section 5</a> of the draft.</div></li><li><div class='html-p'><b>Options</b>: An Option can be followed by the end of the message, by another Option, or by the Payload Marker and the payload. The format of the Options field is shown in <a href="#jsan-02-00235-f014" class="html-fig">Figure 14</a> and is described in more detail in the next paragraph.</div></li><li><div class='html-p'><b>Payload</b>: If present and of non-zero length, it is prefixed by a fixed, one-byte Payload Marker (0xFF) which indicates the end of options and the start of the payload. The payload data extends from after the marker to the end of the UDP datagram, <span class='html-italic'>i.e.</span>, the Payload Length is calculated from the datagram size. The absence of the Payload Marker denotes a zero-length payload. </div></li></ul></div><div class="html-fig-wrap" id="jsan-02-00235-f014"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f014"> <img alt="Jsan 02 00235 g014 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f014"></a> </div> </div> <div class="html-fig_description"> <b>Figure 14.</b> CoAP Option Format. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f014"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f014" > <div class="html-caption" > <b>Figure 14.</b> CoAP Option Format.</div> <div class="html-img"><img alt="Jsan 02 00235 g014" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g014.png" /></div> </div><div class='html-p'>To be able to offer communication needs that cannot be satisfied by the base binary header alone, CoAP defines a number of options which can be included in a message. Each option instance in a message specifies the Option Number of the defined CoAP option. Instead of specifying the Option Number directly, the instances must appear in order of their Option Numbers and a delta encoding is used between them (The Option Number for each instance is calculated as the sum of its delta and the Option Number of the preceding instance in the message. For the first instance in a message, a preceding option instance with Option Number zero is assumed. Multiple instances of the same option can be included by using a delta of zero). The fields in an option are: <ul class='html-bullet'><li><div class='html-p'><b>Option Delta</b>: 4-bit unsigned integer. A value between 0 and 12 indicates the Option Delta. A value of 13 indicates that an 8-bit unsigned integer follows the initial byte and indicates the Option Delta minus 13. A value of 14 indicates that a 16-bit unsigned integer in network byte order follows the initial byte and indicates the Option Delta minus 269. The value 15 is reserved for the Payload Marker and cannot be used here. The resulting Option Delta is used as the difference between the Option Number of this option and that of the previous option (or zero for the first option).</div></li><li><div class='html-p'><b>Option Length</b>: 4-bit unsigned integer. A value between 0 and 12 indicates the length of the Option Value, in bytes. A value of 13 indicates that an 8-bit unsigned integer precedes the Option Value and indicates the Option Length minus 13. A value of 14 indicates that a 16-bit unsigned integer in network byte order precedes the Option Value and indicates the Option Length minus 269. The value 15 is reserved for future use. </div></li><li><div class='html-p'><b>Value</b>: A sequence of exactly Option Length bytes. The length and format of the Option Value depend on the respective option, which may define variable length values. </div></li></ul></div><div class='html-p'>As an example of a simple CoAP option consider the Content-Format option. This option indicates the representation format of the message payload. This option has the Option Number 12 and its Option Length is between zero and two bytes. The Option Value itself is an unsigned integer that is defined in the CoAP Content Format registry (Section 12 of the draft).</div><div class='html-p'>The IETF CoRE working group considers the constrained restful environments as an extension of the current web architecture. The group envisions that CoAP will complement HTTP and that CoAP will be used not only between constrained devices and between servers and devices in the constrained environment, but also between servers and devices across the Internet [<a href="#B86-jsan-02-00235" class="html-bibr">86</a>]. An important requirement of the CoRE working group is to ensure a simple mapping between HTTP and CoAP so that the protocols can be proxied transparently. Thus proxies and/or gateways play a central role in the constrained environments architecture. These proxies have to be able to communicate between the Internet protocol stack and the constrained environments protocol stack and to translate between them as needed.</div></section><section id='612CoRELinkFormat' type=''><h4 class= data-nested='3'> 6.1.2. CoRE Link Format</h4><div class='html-p'>Resource discovery is important for machine-to-machine (M2M) interactions, and is supported in CoAP using the <span class='html-italic'>CoRE Link Format</span> as described in RFC 6690 [<a href="#B87-jsan-02-00235" class="html-bibr">87</a>]. A well-known relative URI “/.well-known/core” is defined as a default entry-point for requesting the list of links about resources hosted by a server. Once the list of available resources is obtained from the server, the client can send further requests to obtain the value of a certain resource. The example in <a href="#jsan-02-00235-f015" class="html-fig">Figure 15</a> shows a client requesting the list of the available resources on the server (GET/.well-known/core). The returned list shows that the server has, amongst others, a resource called/s/t that would return back the temperature in degrees Celsius. The client then requests the value of this resource (GET/s/t) and gets a reply back from the server (23.5C).</div><div class="html-fig-wrap" id="jsan-02-00235-f015"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f015"> <img alt="Jsan 02 00235 g015 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f015"></a> </div> </div> <div class="html-fig_description"> <b>Figure 15.</b> An example of Constrained RESTful Environments (CoRE) resource discovery and Constrained Application Protocol (CoAP) request. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f015"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f015" > <div class="html-caption" > <b>Figure 15.</b> An example of Constrained RESTful Environments (CoRE) resource discovery and Constrained Application Protocol (CoAP) request.</div> <div class="html-img"><img alt="Jsan 02 00235 g015" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g015.png" /></div> </div></section><section id='613BlockTransfer' type=''><h4 class= data-nested='3'> 6.1.3. Block Transfer</h4><div class='html-p'>In many cases the payloads that CoAP needs to carry is very small (e.g., just a few bytes for temperature sensor, door lock status or toggling a light switch). In these cases the basic CoAP message provides very efficient means of communication and work very well. However in some cases CoAP needs to handle larger payloads (e.g., firmware update). Since CoAP is based on datagram transports such as UDP or DTLS, data fragmentation and reassembly is not offered by these transport protocols. Relying on IP fragmentation is also not very helpful, because fragmentation and reassembly does not perform well in LLN due to memory requirements imposed by route-over routing as described in <a href="#sec4-jsan-02-00235" class="html-sec">Section 4</a>. Additionally, IP fragmentation can handle only payloads up to 64 KiB. Thus, providing a mechanism at the application layer that is able of transferring large amounts of data in smaller pieces becomes a necessity. This will not just help avoid the 64KiB UDP datagram limit, but also will help avoid both IP fragmentation (MTU of 1280 for IPv6) and also adaptation layer fragmentation in LLNs (60–80 bytes for 6LoWPAN).</div><div class='html-p'>To overcome the payload size limitation, draft-ietf-core-block defines two CoAP options: Block1 and Block2 [<a href="#B88-jsan-02-00235" class="html-bibr">88</a>]. By using this pair of options CoAP becomes capable of transferring a large payload in multiple smaller CoAP messages. Both Block1 and Block2 options can be present both in request and response messages. In either case, the Block1 Option pertains to the request payload, and the Block2 Option pertains to the response payload. An important aspect of this mechanism is that often the server can handle block transfers in a stateless fashion—it does not require connection setup and the server does not need to track each transfer separately and thus conserve memory.</div></section><section id='614ObservationofResource' type=''><h4 class= data-nested='3'> 6.1.4. Observation of Resource</h4><div class='html-p'>The state of a CoAP resource can change over time. In draft-ietf-core-observe [<a href="#B89-jsan-02-00235" class="html-bibr">89</a>] a simple CoAP extension is defined that enables a server to inform interested clients about the state change. A client interested in observing a resource includes the observe option in its GET request to the server. Whenever there is a change of the resource state, the server sends a notification to the client. Also, in case the state of the resource does not change, but the time since the last notification exceeds the max-age value of the resource, a notification is sent. As such, observe offers the possibility for a client to have an up-to-date representation of the resource without the client having to constantly poll for changes. New resource states are transmitted from the server to the clients according to a best-effort approach. The observe protocol foresees mechanisms to ensure consistency between the state observed by each client and the actual resource state.</div></section></section><section id='62ImplementationandEvaluation' type=''><h4 class=html-italic data-nested='2'> 6.2. Implementation and Evaluation</h4><section id='621CoAPImplementations' type=''><h4 class= data-nested='3'> 6.2.1. CoAP Implementations</h4><div class='html-p'>At the time of writing this article, the CoAP protocol still is not yet finalized. However it is considered in its final stages before being finalized. Nevertheless several implementations of the CoAP protocol for various platforms and programing languages already exist. Some of these implementations are open source and others have commercial licenses. Interoperability between many of these implementations has been formally tested by the <span class='html-italic'>European Telecommunications Standards Institute</span> (ETSI), a non-profit standards organization. ETSI organizes a series of events called ETSI Plugtests to test interoperability of telecommunication technologies in a multi-vendor, multi-network or multi-service environment. ETSI Plugtests, the IPSO Alliance and the FP7 Probe-it project have organized two IoT CoAP Plugtests. In addition to assessing the interoperability of participating products, these Plugtests events aimed to validate the CORE base standards. The first Plugtests event (March 2012) was attended by 18 companies testing the world’s first CoAP client and server implementations. The features tested at this event included the base CoAP specification, CoAP Block Transfer, CoAP Observation and the CoRE Link Format. More than 90% of 3,000 tests executed in this event were successful. According to ETSI Plugtests this result is classified as a high level of interoperability [<a href="#B90-jsan-02-00235" class="html-bibr">90</a>].</div><div class='html-p'>At the second IoT CoAP Plugtests event (November 2012), some additional tests were added to cover previously untested aspects of CoAP in addition to introducing new optional tests for proxy functionality and M2M communication. In this event 1,775 test cases were performed, in 60 pairing test sessions, with a success rate of 97.8% [<a href="#B91-jsan-02-00235" class="html-bibr">91</a>]. The improvement in interoperability compared to the first IoT CoAP Plugtests event indicates that the base CoAP protocol and its main options are getting more robust.</div><div class='html-p'>With insights of the first IoT Plugtests a survey on the current state of the art of lightweight REST implementations was presented in [<a href="#B92-jsan-02-00235" class="html-bibr">92</a>]. In <a href="#jsan-02-00235-t007" class="html-table">Table 7</a> we present an adapted version of the survey results. In this adapted version we concentrate on publicly available implementations and servers and commercial implementations that are publicly announced (See [<a href="#B92-jsan-02-00235" class="html-bibr">92</a>] for other implementations). This table uses device classes as defined in [<a href="#B34-jsan-02-00235" class="html-bibr">34</a>]. Class 1 devices have ~10 KiB of RAM, and ~100 KiB of ROM. Class 2 devices have ~50 KiB of RAM, and ~250 KiB of ROM.</div><div class="html-table-wrap" id="jsan-02-00235-t007"> <div class="html-table_wrap_td" > <div class="html-tablepopup html-tablepopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href='#table_body_display_jsan-02-00235-t007'> <img alt="Table" data-lsrc="https://www.mdpi.com/img/table.png" /> <a class="html-expand html-tablepopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#table_body_display_jsan-02-00235-t007"></a> </div> </div> <div class="html-table_wrap_discription"> <b>Table 7.</b> CoAP implementations. Please note that these implementations are work in progress since CoAP itself is work in progress. </div> </div> <div class="html-table_show mfp-hide " id ="table_body_display_jsan-02-00235-t007" > <table > <caption ><b>Table 7.</b> CoAP implementations. Please note that these implementations are work in progress since CoAP itself is work in progress. <div class='html-caption-img'></div></caption> <thead ><tr style='border-bottom:solid thin' ><th align='left' valign='middle' class='html-align-left' >Name/ Company</th><th align='left' valign='middle' class='html-align-left' >License</th><th align='left' valign='middle' class='html-align-left' >Language</th><th align='left' valign='middle' class='html-align-left' >Platform</th><th align='left' valign='middle' class='html-align-left' >Notes</th></tr></thead><tbody ><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Consorzio Ferrara Ricerche </b>[<a href="#B93-jsan-02-00235" class="html-bibr">93</a>]</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >NesC/C</td><td align='left' valign='middle' class='html-align-left' >TinyOS</td><td align='left' valign='middle' class='html-align-left' >Own “SiGLoWPAN” IPv6/6LoWPAN stack for Class 1 devices</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Californium </b>[<a href="#B94-jsan-02-00235" class="html-bibr">94</a>]<b>/ETH Zurich</b></td><td align='left' valign='middle' class='html-align-left' >3-clause BSD</td><td align='left' valign='middle' class='html-align-left' >Java</td><td align='left' valign='middle' class='html-align-left' >JVM</td><td align='left' valign='middle' class='html-align-left' >Framework for unconstrained devices; provides client, server, and proxy stubs</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Copper </b>[<a href="#B95-jsan-02-00235" class="html-bibr">95</a>]<b>/ETH Zurich</b></td><td align='left' valign='middle' class='html-align-left' >3-clause BSD</td><td align='left' valign='middle' class='html-align-left' >JavaScript</td><td align='left' valign='middle' class='html-align-left' >Firefox</td><td align='left' valign='middle' class='html-align-left' >Management and testing tool as a browser extension; focus on user interaction</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Erbium </b>[<a href="#B96-jsan-02-00235" class="html-bibr">96</a>]<b>/ETH Zurich</b></td><td align='left' valign='middle' class='html-align-left' >3-clause BSD</td><td align='left' valign='middle' class='html-align-left' >C</td><td align='left' valign='middle' class='html-align-left' >Contiki</td><td align='left' valign='middle' class='html-align-left' >For class 1 devices such as sensor nodes</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>CoAP++ </b>[<a href="#B97-jsan-02-00235" class="html-bibr">97</a>]<b>/iMinds</b></td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >C++</td><td align='left' valign='middle' class='html-align-left' >Click ModularRouter</td><td align='left' valign='middle' class='html-align-left' >Framework for unconstrained devices; provides client, server, proxy and gateway</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>Evcoap </b>[<a href="#B98-jsan-02-00235" class="html-bibr">98</a>]<b>/KoanLogic </b></td><td align='left' valign='middle' class='html-align-left' >2-clause BSD</td><td align='left' valign='middle' class='html-align-left' >C</td><td align='left' valign='middle' class='html-align-left' >Linux</td><td align='left' valign='middle' class='html-align-left' >General purpose protocol implementation</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Patavina Technologies </b>[<a href="#B93-jsan-02-00235" class="html-bibr">93</a>]</td><td align='left' valign='middle' class='html-align-left' >Commercial</td><td align='left' valign='middle' class='html-align-left' >C++</td><td align='left' valign='middle' class='html-align-left' >proprietaryOS</td><td align='left' valign='middle' class='html-align-left' >Wired and wireless embedded devices and sensor nodes; working on a port to uC/OS by Micrium</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>NanoService Device Library </b>[<a href="#B99-jsan-02-00235" class="html-bibr">99</a>]<b>/Sensinode</b></td><td align='left' valign='middle' class='html-align-left' >Commercial</td><td align='left' valign='middle' class='html-align-left' >C</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >OS-independent C library for Class 1 and 2 devices. Also available a JAVA SDK for unconstrained devices</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>libcoap</b> [<a href="#B100-jsan-02-00235" class="html-bibr">100</a>]<b>/Universität Bremen TZI</b></td><td align='left' valign='middle' class='html-align-left' >GPLv2,2-clause BSD</td><td align='left' valign='middle' class='html-align-left' >C</td><td align='left' valign='middle' class='html-align-left' >POSIX andContiki</td><td align='left' valign='middle' class='html-align-left' >General purpose library for Class 1 and 2 devices and up</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>CoapBlip </b>[<a href="#B101-jsan-02-00235" class="html-bibr">101</a>]<b>/Universität Bremen TZI</b></td><td align='left' valign='middle' class='html-align-left' >BSD-style</td><td align='left' valign='middle' class='html-align-left' >C</td><td align='left' valign='middle' class='html-align-left' >TinyOS</td><td align='left' valign='middle' class='html-align-left' >TinyOS-port of “libcoap”; runs on Class 1 devices. </td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>coap.me </b>[<a href="#B102-jsan-02-00235" class="html-bibr">102</a>]<b>/Universität Bremen TZI</b></td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >Ruby</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' ><a href='http://coap.me' target='_blank' rel="noopener noreferrer">http://coap.me</a> provides an HTTP front-end to crawl CoAP servers, and a CoAP server for interoperability testing</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>jCoAP </b>[<a href="#B103-jsan-02-00235" class="html-bibr">103</a>]<b>/Universität Rostock</b></td><td align='left' valign='middle' class='html-align-left' >Apache 2.0</td><td align='left' valign='middle' class='html-align-left' >Java</td><td align='left' valign='middle' class='html-align-left' >JVM</td><td align='left' valign='middle' class='html-align-left' >For unconstrained devices; also targets mobile and embedded platforms</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>Scuola Superiore Sant'Anna </b>[<a href="#B104-jsan-02-00235" class="html-bibr">104</a>]</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >Erika API</td><td align='left' valign='middle' class='html-align-left' >Erika OS</td><td align='left' valign='middle' class='html-align-left' >A middleware for building an infrastructure of wireless sensor nodes.</td></tr><tr ><td align='left' valign='middle' class='html-align-left' ><b>CoAPy </b>[<a href="#B105-jsan-02-00235" class="html-bibr">105</a>]<b>/People Power</b></td><td align='left' valign='middle' class='html-align-left' >BSD</td><td align='left' valign='middle' class='html-align-left' >Python</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >Last updated on July 2010</td></tr><tr style='background:#D3DFEE' ><td align='left' valign='middle' class='html-align-left' ><b>CoAP in wiselib </b>[<a href="#B106-jsan-02-00235" class="html-bibr">106</a>]<b>/wisebed project</b></td><td align='left' valign='middle' class='html-align-left' >GNU Lesser GPL v3</td><td align='left' valign='middle' class='html-align-left' >c++</td><td align='left' valign='middle' class='html-align-left' ></td><td align='left' valign='middle' class='html-align-left' >Wiselib algorithm classes can be compiled for several sensor platforms such as iSense or Contiki, or the simulator Shawn.</td></tr></tbody> </table> </div><div class='html-p'>The existence of such a wide range of implementations across a broad range of programing languages and most importantly platforms (constrained and not) demonstrates the feasibility of the protocol implementation. </div></section><section id='622CoAPPerformanceEvaluation' type=''><h4 class= data-nested='3'> 6.2.2. CoAP Performance Evaluation</h4><div class='html-p'>Going beyond mere compatibility tests and the ability to implement the protocol on constrained devices, a few studies have been made in order to evaluate the protocol’s behavior and suitability for certain IoT use cases. In particular the comparison between CoAP and HTTP has been studied a few times. The results of such comparisons are considered preliminary since the CoAP protocol itself is not fully standardized yet, and because the studies used the protocol at different stages of its development. However these results still provide a good indication of what to expect when the protocol is fully standardized and the used implementations are further optimized.</div><div class='html-p'>For example, the work described in [<a href="#B107-jsan-02-00235" class="html-bibr">107</a>] provides an evaluation of CoAP compared to HTTP in terms of mote’s energy consumption and response time in wireless sensor networks. The results for energy consumption, obtained by simulations for a fixed 10 second client request interval, show that while receiving and processing packets, the energy consumed when using CoAP is approximately half compared to the one consumed when using HTTP. While transmitting packets, the energy required by CoAP is 4 times lower than the energy required by HTTP. On the other hand, while being in idle mode, CoAP and HTTP result in similar values of energy consumption. When testing the response time on real sensor motes, the results show that CoAP/UDP introduces 9 to 10 fold lower response times than HTTP/TCP.</div><div class='html-p'>Similarly [<a href="#B108-jsan-02-00235" class="html-bibr">108</a>] evaluates the performance of HTTP/TCP and CoAP/UDP over a duty cycled radio layer. With a small modification to the duty cycling layer the authors achieved great improvement in performance at retained low power consumption. Furthermore they introduced an in-network caching mechanism that significantly improves the performance of software updates in incrementally deployed sensor networks.</div><div class='html-p'>In a third evaluation [<a href="#B109-jsan-02-00235" class="html-bibr">109</a>] the author finds that CoAP/UDP perform better than HTTP/TCP for the intelligent cargo container use case he evaluated. In particular the author reports a 6 times lower message size and a 4 times lower <span class='html-italic'>Round Trip Time</span> (RTT). This is mainly due to CoAPs compressed header and the avoidance of the TCP handshaking mechanisms. A further study of the same use case [<a href="#B110-jsan-02-00235" class="html-bibr">110</a>] compares using CoAP/UDP to HTTP/UDP in addition to the typical HTTP/TCP. The study shows that generally UDP based protocols perform better for constrained networks due to using lower number of messages when retrieving resources. When comparing both protocols (CoAP and HTTP) when run over UDP, the study shows that CoAP performs better than HTTP. CoAP also has the added value of optional reliability since it has its own simple retransmission capability.</div></section></section><section id='sec6dot3-jsan-02-00235' type=''><h4 class=html-italic data-nested='2'> 6.3. Leveraging Upon CoAP to Realize the IoT</h4><div class='html-p'>The base CoAP protocol along with the three main complementary extensions (block, observe and Core Link Format) provide a basic set of protocols to solve a wide range of communication needs in constrained environment. However, since the protocol tries to be minimalistic and yet extendable at the same time, a couple of needs remain unaddressed in these base protocols. To try to address the unsolved issues, a few individual Internet-Drafts were proposed in the CoRE working group. These drafts are in various states of development, with various levels of CoRE review and interest. A thorough overview of all these individual Internet-Drafts is given in draft-bormann-core-roadmap [<a href="#B111-jsan-02-00235" class="html-bibr">111</a>]. In this subsection we highlight some of these individual Internet-Drafts and complement them with additional literature that tries to leverage upon CoAP to realize the IoT.</div><section id='631DiscoveryandNaming' type=''><h4 class= data-nested='3'> 6.3.1. Discovery and Naming</h4><div class='html-p'><span class='html-italic'>Resource Directory</span> (RD) servers provide a way to collect resource descriptions from multiple servers into one central location. To facilitate setting up such a RD, draft-shelby-core-resource-directory identifies needed protocol elements [<a href="#B112-jsan-02-00235" class="html-bibr">112</a>]. </div><div class='html-p'>In [<a href="#B97-jsan-02-00235" class="html-bibr">97</a>], CoAP is used to facilitate discovery and deployment of constrained devices. The proposed approach makes use of CoAP and combines it with DNS in order to enable the use of user-friendly fully qualified domain names (FQDN) for addressing sensor nodes. It also includes the translation of HTTP to CoAP, thus making the sensor resources globally discoverable and accessible from any Internet-connected client using either IPv6 addresses or DNS names both via HTTP or CoAP. This approach can be enhanced by publishing the discovered resource to one or more RDs.</div><div class='html-p'>Another example of how DNS can be used in a hierarchical fashion to enable easier access to resources is described in draft-ietf-core-groupcomm [<a href="#B113-jsan-02-00235" class="html-bibr">113</a>]. Here access to groups of resources can be provided via the use of Group FQDN that are uniquely mapped to a site-local or global multicast IP address via DNS resolution. For example the Group FQDN all.bldg6.example.com would refer to <span class='html-italic'>all nodes in building 6</span> and the Group FQDN all.west.bldg6.example.com would refer to <span class='html-italic'>all nodes in the west wing of building 6</span>.</div></section><section id='sec6dot3dot2-jsan-02-00235' type=''><h4 class= data-nested='3'> 6.3.2. Congestion Control</h4><div class='html-p'>The base CoAP draft only defines a very basic congestion control when using reliable message transmissions and does not provide any congestion control when using the non-reliable transmissions mode, that is likely to carry the majority of traffic. To overcome this shortcoming a few proposals try to provide more advanced congestion control schemes. These proposals can generally provide more optimized performance in exchange for more implementation complexity and/or a narrower field of application. For example, draft-bormann-core-cocoa [<a href="#B114-jsan-02-00235" class="html-bibr">114</a>] defines some more advanced CoRE congestion control mechanisms. The main idea here is to provide a way to better estimate the RTT than that implied by the default initial timeout of 2 to 3 seconds. Further suggestions for the enhancements to this estimation of the RTT are presented in [<a href="#B115-jsan-02-00235" class="html-bibr">115</a>].</div><div class='html-p'>Another mechanism for congestion control is proposed in [<a href="#B116-jsan-02-00235" class="html-bibr">116</a>] by adding an option that allows a server to indicate its desire for some pacing of the requests sent to it by one client; enabling a form of server load control.</div></section><section id='633AdvancedInteractionPatterns' type=''><h4 class= data-nested='3'> 6.3.3. Advanced Interaction Patterns</h4><div class='html-p'>The base CoAP provides good support for the simple interaction patterns between clients and servers. However more advanced interaction patterns such as the communication between a group of devices requires extensions to the base protocol. In fact, it is anticipated that constrained devices will often naturally operate in groups (e.g., all window shutters on a given side of building may need to be lowered or raised as a group). Draft-ietf-core-groupcomm [<a href="#B113-jsan-02-00235" class="html-bibr">113</a>] discusses fundamentals and use cases for group communication patterns with CoAP. Building upon IPv6 multicast capabilities, the draft describes how CoAP should be used in both constrained and unconstrained networks and provides guidance for deployment in various network topologies. Although this draft has been adapted as a working group draft, it is still (at least in certain parts) in an explorative mode and will require additional investigation before conclusive results become available.</div><div class='html-p'>The CoAP observe option allows clients to register with servers to be notified whenever the state of a resource changes [<a href="#B89-jsan-02-00235" class="html-bibr">89</a>], much like the publish/subscribe paradigm in conventional web services. In [<a href="#B117-jsan-02-00235" class="html-bibr">117</a>] a new CoAP option “Condition” was proposed to extend the observe option. This option can be used by a CoAP client to specify the conditions the client is interested in. Several condition types, <span class='html-italic'>i.e.</span>, filtering options, have been identified based on realistic use cases. Using conditional observations, the CoAP server will send a notification response with the latest state change only when the criterion is met. Using this mechanism a client can for example indicate that it is only interested in temperature values above 25 °C and not in all state changes. The feasibility of implementing this conditional observe on a constrained device is evaluated and proven in [<a href="#B118-jsan-02-00235" class="html-bibr">118</a>]. The correct operation for a simple scenario showed that the use of conditional observations can result in a reduced number of packets and power consumption compared to that which is normally observed in combination with client-side filtering.</div></section><section id='634CommunicationwithSleepyNodes' type=''><h4 class= data-nested='3'> 6.3.4. Communication with Sleepy Nodes</h4><div class='html-p'>Sleepy Nodes are network nodes that sleep most of the time in order to save energy and thus achieve longer battery life times. The base CoAP standard assumes that the communication layers below the application provide support functions for sleeping nodes. Adding better support for sleepy nodes at the application layer might be able to further reduce the power requirements of these nodes. This support is currently a very active subject of discussion in the CoRE working group; this is apparent from the relatively high number (at least seven) of individual Internet Drafts in the group that try to address this issue in one way or another.</div><div class='html-p'>The base CoAP provides minimal support for sleepy nodes by supporting caching in intermediaries. Resources from a sleepy node may be available from a caching proxy (if previously retrieved) even though the node is asleep. This support is enhanced by using the observe option and thus allowing sleepy nodes to update caching intermediaries according to their own schedule.</div><div class='html-p'>Most of these proposals try to achieve better support for sleepy nodes either by extending the functionality of the intermediaries or by extending the CoAP observe option or by a combination of both. For example, [<a href="#B119-jsan-02-00235" class="html-bibr">119</a>] proposes to store the actual resource representations in a special type of RD called the Mirror Server. Clients can then fetch the resource from the Mirror Server regardless of the state of the sleepy server. One the other hand, by using the conditional observe option as proposed in [<a href="#B120-jsan-02-00235" class="html-bibr">120</a>], the nodes may be allowed to sleep even longer. Similarly the approach of [<a href="#B121-jsan-02-00235" class="html-bibr">121</a>] is to introduce storing of sleep characteristics in the RD. Clients can then query the RD to learn the sleep status of the sleepy node before attempting communications. Both [<a href="#B120-jsan-02-00235" class="html-bibr">120</a>] and [<a href="#B121-jsan-02-00235" class="html-bibr">121</a>] include using/extending the observe option as part of their overall approaches.</div><div class='html-p'>A related patent [<a href="#B122-jsan-02-00235" class="html-bibr">122</a>], describes inserting sleep information into a header option or into a payload of an application layer message. Whereas the application layer message may be conveyed in HTTP or CoAP.</div></section><section id='635Security' type=''><h4 class= data-nested='3'> 6.3.5. Security</h4><div class='html-p'>Security is another hot topic on the CoRE working group with many drafts trying to tackle various security aspects of the Things and the Information they reveal about the physical world. It is anticipated that most real deployments of the IoT will require security services (e.g., confidentiality, authentication, authorization). However it is also argued that there is no single security architecture for the IoT [<a href="#B123-jsan-02-00235" class="html-bibr">123</a>]. A good description of the Thing Lifecycle is provided in [<a href="#B124-jsan-02-00235" class="html-bibr">124</a>] along with resulting architectural considerations.</div><div class='html-p'>The authors of [<a href="#B125-jsan-02-00235" class="html-bibr">125</a>] present a three-phase protocol to bootstrap constrained devices in a wireless sensor network based on IPv6 and CoAP. The protocol phases include service discovery, distribution of security credentials, and application-specific node configuration.</div><div class='html-p'>CoAP proposes to use DTLS to provide end-to-end security to protect the IoT. However DTLS is a heavyweight protocol and its headers are too long to fit in a single IEEE802.15.4 MTU. The works presented in [<a href="#B126-jsan-02-00235" class="html-bibr">126</a>,<a href="#B127-jsan-02-00235" class="html-bibr">127</a>,<a href="#B128-jsan-02-00235" class="html-bibr">128</a>,<a href="#B129-jsan-02-00235" class="html-bibr">129</a>] look specifically into the use of DTLS in constrained networks from different angles. As an example, while [<a href="#B128-jsan-02-00235" class="html-bibr">128</a>] shows how to build minimal implementations of TLS, the approach used in [<a href="#B129-jsan-02-00235" class="html-bibr">129</a>] relies on providing 6LoWPAN header compression mechanisms to reduce the size of the DTLS security headers. The authors report as an example that the number of additional security bits needed for the DTLS Record header that is added in every DTLS packet, can be reduced by 62%.</div><div class='html-p'>Another relevant security protocol is the Internet Key Exchange version 2 (IKEv2) which is a used for setting up IPsec security associations. IKEv2 includes several optional features, which are not needed in minimal implementations. The Minimal IKEv2 draft [<a href="#B130-jsan-02-00235" class="html-bibr">130</a>] shows how to build minimal implementations of the security protocols IKEv2 for constrained environments.</div></section><section id='636Intermediaries' type=''><h4 class= data-nested='3'> 6.3.6. Intermediaries</h4><div class='html-p'>The base CoAP draft defines basic mapping between CoAP and HTTP. However it is expected that Intermediaries will continue to play a big role in the IoT and that the basic mapping needs to be enhanced to support advance features. Some ideas about these enhancements are presented in [<a href="#B131-jsan-02-00235" class="html-bibr">131</a>]. Additional useful examples for more advanced forms of mapping and usages are described in [<a href="#B132-jsan-02-00235" class="html-bibr">132</a>].</div></section><section id='637CoAPinCellularNetworks' type=''><h4 class= data-nested='3'> 6.3.7. CoAP in Cellular Networks</h4><div class='html-p'>The <span class='html-italic'>Short Message Service</span> (SMS) of mobile cellular networks is frequently used in M2M communications. The service offers small packet sizes and high delays just as other typical types of LLNs. Since the design of CoAP takes the limitations of LLNs into account, it is expected that CoAP can be nicely used with SMS. The adaptation of CoAP to the SMS transport mechanisms and the combination with IP transported over cellular networks is described in [<a href="#B133-jsan-02-00235" class="html-bibr">133</a>]. </div></section><section id='638RealLifeUseCasesofCoAPintheIoT' type=''><h4 class= data-nested='3'> 6.3.8. Real Life Use Cases of CoAP in the IoT</h4><div class='html-p'>Some recent publications show that CoAP is being considered as a good candidate to solve current issues in real life application of the IoT. For example, [<a href="#B110-jsan-02-00235" class="html-bibr">110</a>] presents an IP based solution to integrate sensor networks used in a cargo container with existing logistic processes, highlighting the use of CoAP for the retrieval of sensor data during land or sea transportation.</div><div class='html-p'>Kovatsch <span class='html-italic'>et al</span>. [<a href="#B134-jsan-02-00235" class="html-bibr">134</a>] propose an IoT architecture where the infrastructure is agnostic of applications and application development is fully decoupled from the embedded domain. This is achieved by creating a common application layer that fosters the development of novel applications. The application logic of devices is running on application servers, while thin servers embedded into devices export only their elementary functionality using CoAP resources.</div><div class='html-p'>GlobalPlatform is a cross industry not-for-profit association which publishes specifications facilitating the secure and interoperable deployment and management of multiple embedded applications on secure chip technology. According to a recent presentation [<a href="#B135-jsan-02-00235" class="html-bibr">135</a>], GlobalPlatform is considering the use of CoAP for the management of secure environments and other aspects covered by GlobalPlatform standards.</div><div class='html-p'>Castro <span class='html-italic'>et al</span>. [<a href="#B136-jsan-02-00235" class="html-bibr">136</a>] present how the IoT is integrated for improving terrestrial logistics offering a comprehensive and flexible architecture, with high scalability, according to the specific needs for reaching an item-level continuous monitoring solution. CoAP is used here to provide tracking and monitoring services at any time during the transportation of goods. The solution makes use of observe and blockwise transfer options to optimize data transfers.</div><div class='html-p'>Optimizing energy policies requires monitoring, analyzing, and controlling of power consumption. Smart metering is an emerging topic for realizing such modern energy policies. In this field a large number of proprietary and open standards for communication (with low or no interoperability to each other) exist today. Therefore, it is very difficult to integrate multi-vendor solutions using one sustainable holistic approach. To this end the authors of [<a href="#B35-jsan-02-00235" class="html-bibr">35</a>] propose to use Web Service technology as an open widespread Internet standard for the creation of a heterogeneous network for smart metering devices. This work uses CoAP over TCP transport instead of using it over UDP, which is still not specified in the current CoAP drafts. Nevertheless, traffic overhead was reduced by over 90% by using CoAP instead of HTTP and EXI for XML binary encoding.</div><div class='html-p'>Using CoAP and <span class='html-italic'>REsource LOcation And Discovery</span> (RELOAD), [<a href="#B137-jsan-02-00235" class="html-bibr">137</a>] proposes a new architecture for wide area sensor and actuator networking. RELOAD is a P2P signaling protocol for use on the Internet that is currently being standardized by the IETF. The architecture provides a decentralized peer-to-peer rendezvous service for CoAP nodes in WSNs and enables a P2P federation of geographically distributed WSNs. This is achieved by the use of proxy nodes that are part of the WSN but also connect to a RELOAD overlay network via cellular Internet access. The authors conclude that such architecture is most beneficial for large-scale networks having from moderate to high levels of interdevice communication.</div><div class='html-p'>Rahman <span class='html-italic'>et al</span>. [<a href="#B138-jsan-02-00235" class="html-bibr">138</a>] present a smart object gateway architecture that allows for efficient service delivery between the Smart Object and an endpoint on the Internet such as an application server. A survey of some other examples of how CoAP is been used to realize the IoT can be found in [<a href="#B139-jsan-02-00235" class="html-bibr">139</a>].</div></section></section><section id='64ResearchChallenges' type=''><h4 class=html-italic data-nested='2'> 6.4. Research Challenges</h4><div class='html-p'>Since CoAP is not fully standardized yet, many related aspects remain to be examined before definite conclusions can be drawn. Some of these aspects are currently being researched and have been documented in <a href="#sec6dot3-jsan-02-00235" class="html-sec">Section 6.3</a>. Some other aspects have been identified but no solutions were proposed yet. In this section we summarize the main aspects of the CoAP protocol where we think that extensive research is still needed.</div><div class='html-p'>Although a few suggestions for congestion control were already proposed (see <a href="#sec6dot3dot2-jsan-02-00235" class="html-sec">Section 6.3.2</a>), we think that this area requires more research attention. The primary reason being that UDP is the main transport mechanism for CoAP. Unlike TCP, UDP does not provide any reliability mechanism or congestion control. CoAP has its own optional light weight reliability mechanism, but virtually no congestion control. Simple mechanisms for congestion control, that are optimized for LLNs and that take into account the limited amount of resources available on constrained devices are still lacking.</div><div class='html-p'>Another research aspect is related to the MTU size. The IPv6 minimum MTU is 1,280 bytes, whilst the maximum MTU for IEEE 802.15.4 networks is 127 bytes. The 6LoWPAN adaptation layer provides an efficient fragmentation method to allow the transmission of larger packets. However large packet sizes still sometimes impose a big problem to the receiving party. If the received message does not fit in the input buffer it could cause unpredictable effects on the receiving side, e.g., operating system restarting because of buffer overflow. For this reason, it can be useful to specify during the resource discovery sequence the maximum accepted length of the response message with the resource description [<a href="#B140-jsan-02-00235" class="html-bibr">140</a>]. If both parties support the block option, agreeing on the optimal block transfer size in a way that avoids fragmentation and assembly of the packet at the lower layers will possibly have a high positive impact on the overall performance. This is something that needs further research and experimentation.</div><div class='html-p'>Security of the IoT remains a challenge despite the fact that several proposals have already been made to cover certain aspects of security. Issues such as secure distribution of encryption keys in LLNs still need to be explored.</div><div class='html-p'>A basic mapping between HTTP and CoAP is well defined in the core CoAP draft. However since CoAP is by design highly extendable and new options are being regularly added, such extensions might impose new challenges to the HTTP/CoAP mapping. The same consideration also applies in general to all intermediaries, that need to be updated if they wish to understand new options as well (some basic information for intermediaries is contained in an option’s option number, which allows intermediaries to correctly handle unknown options). Caching intermediaries have an even bigger challenge to find out and implement optimal caching strategies.</div><div class='html-p'>Group communication in a LLN context still needs more attention as well. The use of multicast satisfies many group communication needs, but not all of them. Multicasts are transported unreliable and since LLNs are lossy by nature, many applications will opt not to use multicast if they want to make sure that their messages are indeed delivered. For example, if multicast is used to turn on all the lights in a room, it wouldn’t be acceptable if one light stays off because it did not receive the multicast message. Alternatives to the use of multicasts might be needed for such use cases. Maybe status synchronization of resources can also be used in certain use cases to make sure that the message did indeed get through. The efficiency of such and other approaches need to be examined.</div><div class='html-p'>Finally, some challenges are related to the fact that resources on constrained devices often need to be accessed by other machines as well as by humans. These two types of “clients” have somewhat contradictory requirements. Humans for example prefer easy to remember (and a bit lengthy) resource names, while M2M communication is better served by providing concise names. Some more research is needed in order to satisfy the needs of both types of “clients” without adding many requirements on the constrained devices. The same considerations also apply to the use of extended semantics, e.g., a <span class='html-italic'>Web Service Definition Language</span> (WSDL). WSDL provides a machine-readable description of how a web service can be used, what parameters it expects, and what data structures it returns. However WSDL tends to become relatively verbose and long for constrained nodes to handle, thus alternatives need to be researched.</div></section></section><section id='sec7-jsan-02-00235' type=''><h2 data-nested='1'> 7. Using IETF Standards to Realize the Internet of Things</h2><section id='71OverviewoftheIETFLLNProtocolStack' type=''><h4 class=html-italic data-nested='2'> 7.1. Overview of the IETF LLN Protocol Stack</h4><div class='html-p'>The previous sections provided an overview of different standards, their current status and open research topics. Combined, these individual standards form an <span class='html-italic'>IETF LLN protocol stack</span> to support the realization of an interoperable Internet-of-things. In <a href="#jsan-02-00235-f016" class="html-fig">Figure 16</a> a representation is given of how the different LLN standards fit together. Currently the entire IETF LLN protocol stack is available in the Contiki OS, which is used in, for example, the CALIPSO FP7 project [<a href="#B31-jsan-02-00235" class="html-bibr">31</a>]. For simulating the IETF LLN protocol stack OpenWSN [<a href="#B49-jsan-02-00235" class="html-bibr">49</a>] can also be used.</div><div class="html-fig-wrap" id="jsan-02-00235-f016"> <div class='html-fig_img'> <div class="html-figpopup html-figpopup-link" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f016"> <img alt="Jsan 02 00235 g016 1024" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016-1024.png" /> <a class="html-expand html-figpopup" data-counterslinkmanual = "https://www.mdpi.com/2224-2708/2/2/235/display" href="#fig_body_display_jsan-02-00235-f016"></a> </div> </div> <div class="html-fig_description"> <b>Figure 16.</b> IETF LLN protocol stack. <!-- <p><a class="html-figpopup" href="#fig_body_display_jsan-02-00235-f016"> Click here to enlarge figure </a></p> --> </div> </div> <div class="html-fig_show mfp-hide" id ="fig_body_display_jsan-02-00235-f016" > <div class="html-caption" > <b>Figure 16.</b> IETF LLN protocol stack.</div> <div class="html-img"><img alt="Jsan 02 00235 g016" data-large="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" data-original="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" onerror="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" data-lsrc="/jsan/jsan-02-00235/article_deploy/html/images/jsan-02-00235-g016.png" /></div> </div><div class='html-p'>The LLN protocol stack provides end-to-end access to embedded web services, thus enabling new functionalities or building novel services involving IoT objects. This section focuses on the next steps: which additional (new or existing) research, protocols and/or standards are needed to realize a fully-automated, all-encompassing Internet of Things.</div></section><section id='72RealizingtheWebofThings' type=''><h4 class=html-italic data-nested='2'> 7.2. Realizing the Web of Things</h4><div class='html-p'>To allow the integration of an increasingly large number of IoT devices, self-configuration protocols will be required. Solutions for self-configuration such as [<a href="#B97-jsan-02-00235" class="html-bibr">97</a>] allow newly deployed constrained devices to be automatically discovered, automatically assign DNS hostnames and transparently make the IoT resources directly accessible and browsable over IPv6 via HTTP or CoAP. Alternatively, devices can add their resources to a publicly accessible directory service. This sort of solution forms an important building block that facilitates the actual usage of embedded web services (without human intervention) as is required for realizing the Web of Things (WoT). For instance, a client can automatically be notified about new resources and continuously observe the state of a resource using the CoAP observe extension [<a href="#B89-jsan-02-00235" class="html-bibr">89</a>], leading to a consistent representation of all resources of interest. Using conditional observations [<a href="#B117-jsan-02-00235" class="html-bibr">117</a>], interested parties can be notified about resource states that satisfy specific conditions, thereby acting as an enabler to build applications such as sensor—actuator interactions. These extensions enrich the capabilities of the basic CoAP protocol and contribute to the realization of the WoT.</div><div class='html-p'>Another important research domain focuses on web service composition whereby different IoT services are combined to realize complex goals. For instance, embedded web services can automatically be combined to create complex interaction scenarios where knowledge about the real world is used, linked with other services and processed to act again upon the physical world. Existing composition and orchestration frameworks such as described in [<a href="#B141-jsan-02-00235" class="html-bibr">141</a>], need to be extended in order to realize the WoT. The main challenge is the adaptation of existing web service composition models to take into account the limitations of constrained devices. Also, when time varying data from constrained objects is incorporated or web services act upon the real world, issues such as consistency, failures, correct execution of all transactions as described in [<a href="#B142-jsan-02-00235" class="html-bibr">142</a>] need to be explored in view of a constrained environment.</div><div class='html-p'>The link between the IoT and state-of-the-art cloud technology solutions is made clear in [<a href="#B143-jsan-02-00235" class="html-bibr">143</a>]. Cloud technology can be used for collecting, storing and processing the enormous amount of sensor data. Tiny objects can also be introduced as part of grid computing e.g., for the collection and processing of environmental information. In [<a href="#B144-jsan-02-00235" class="html-bibr">144</a>] an extensive overview of the introduction of mobile devices into Grid systems is given and an extension to the constrained world seems feasible with the advent of embedded web service technology.</div><div class='html-p'>It is clear that the step from Internet of Things towards a Web of Things will be taken sooner rather than later. The IoT can facilitate the realization of the WoT, opening up access to sensor data and stimulating their widespread usage, while at the same time avoiding vertically integrated and closed systems. As such, it presents great opportunities to researchers active as well in the field of web service technology as in the field of embedded distributed systems.</div></section><section id='73Interoperability' type=''><h4 class=html-italic data-nested='2'> 7.3. Interoperability</h4><div class='html-p'>One of the key factors to ensure the widespread use of IoT devices is to support end-to-end interoperability between different devices. Currently interoperability between embedded devices is enforced by use of a standardized IETF LLN protocol stack. Despite the efforts of the IETF working groups, different interpretations of the standards remain a threat that causes interoperability problems between implementations from different parties. Solving these issues requires identification of the possible problems and clarification of the implementation details where necessary to prevent possible ambiguities in the standards itself. Extensive interoperability testing events, like the ETSI Plugtests for CoAP and in the future possibility for 6LoWPAN, significantly help to improve the quality of the standards and the implementations.</div><div class='html-p'>Another more fundamental issue to consider is that of low-power interoperability, <span class='html-italic'>i.e.</span>, interoperability when communicating parties employ (possibly different) MAC radio duty cycling techniques. The authors of [<a href="#B145-jsan-02-00235" class="html-bibr">145</a>] identify two open issues, namely that existing protocols for LLNs typically have not been designed for MAC duty cycling and that existing MAC duty cycling mechanisms have not been designed for interoperability. While most of the IETF work is situated above the MAC sublayer, it is important that these concerns are addressed in the future so that end-to-end IPv6 connectivity with embedded devices, that employ heavy MAC duty cycling, is possible.</div></section><section id='74BringingSemanticstotheWebofThings' type=''><h4 class=html-italic data-nested='2'> 7.4. Bringing Semantics to the Web of Things</h4><div class='html-p'>Semantics define a globally interpretable significance to data. Adding semantics to the IoT allows data that originates from different sources to be unambiguously accessible and processable across different domains and by different users. This allows describing data that is collected from the real world which helps automated processing and integration of said data into applications. Semantic descriptions are particularly useful in M2M environments where a high level of autonomy is assumed. Said descriptions can also help to facilitate discovery and management of IoT devices and their resources. In [<a href="#B146-jsan-02-00235" class="html-bibr">146</a>], the authors mention that the dynamicity and pervasiveness of the IoT domain poses additional challenges for semantic description when compared to conventional web service environments. More specifically, the volatility of the sensor data and the large scale of the IoT are new challenges when defining semantics when compared to traditional web services.</div><div class='html-p'>When looking at the resources on the devices themselves (e.g., a temperature) several resource representations can be explored: ranging from plain text formats, through formats defined by the IPSO alliance [<a href="#B147-jsan-02-00235" class="html-bibr">147</a>] to complex semantic representations using ontologies that are adapted to the specific applications and domains as described for instance in [<a href="#B148-jsan-02-00235" class="html-bibr">148</a>]. Furthermore, the SPITFIRE project [<a href="#B149-jsan-02-00235" class="html-bibr">149</a>] has defined vocabularies to describe sensors and to integrate them with W3C’s Linked Open Data cloud [<a href="#B150-jsan-02-00235" class="html-bibr">150</a>]. This allows linking sensor data with other data that is already available on the World Wide Web (WWW). This brings the potential of semantic web technology (e.g., searching and reasoning) to constrained devices, realizing a Semantic Web of Things.</div><div class='html-p'>Similar to search engines in the WWW, sensors and their resources could be indexed just like regular web pages and made available to Internet users and other IoT devices. Of course, issues such as time dependent aspects should be taken into consideration (e.g., indexing a temperature sensor) introducing novel challenges and opportunities. Platforms like Cosm [<a href="#B151-jsan-02-00235" class="html-bibr">151</a>] already allow to make sensor data publicly available, browsable and searchable but lack the ability to actively crawl and index sensors.</div></section><section id='75SecurityandPrivacyintheWebofThings' type=''><h4 class=html-italic data-nested='2'> 7.5. Security and Privacy in the Web of Things</h4><div class='html-p'>Applications running on embedded devices and LLNs often require confidentiality and integrity protection. These security mechanisms can be provided at the application, transport, network, and/or at the link layer. In all these cases, prevailing constraints will influence the choice of a particular protocol. Some of the more relevant constraints are small code size, low power operation, low complexity, and small bandwidth requirements.</div><div class='html-p'>When securing embedded environments by using DTLS (as assumed within CoAP) at the transport layer, IPSec at the network layer, or reusing IEEE 802.15.4 security primitives within the 6LoWPAN adaptation layer; the problem of key distribution remains mostly untackled. It is often assumed that each device has an appropriate asymmetric public and/or symmetric key installed. How these keys actually are distributed and installed in a safe way, is often left open and is not part of current IETF standards. To help solve this issue, work is executed within IETF’s <span class='html-italic'>Smart Object Lifecycle Architecture for Constrained Environments</span> (SOLACE) [<a href="#B152-jsan-02-00235" class="html-bibr">152</a>].</div><div class='html-p'>Apart from enabling secure communications between parties, privacy of WoT users is also an important concern. As embedded devices measure and control the physical environment that surrounds a WoT user, they can be (ab)used to gain insight into a user’s habits and whereabouts. Therefore it is vital to enforce adequate access control to this sensitive information, in order to protect the user’s privacy. As more and more internet-enabled things will gain an online presence, transparent and easy-to-use management of what information devices may expose to the outside world will be needed. For instance, you might want to give your AC vendor access to the temperature sensors in your house without allowing them to turn on and off your lighting. While you might want to allow a different vendor to only control your lighting. One approach as discussed in [<a href="#B153-jsan-02-00235" class="html-bibr">153</a>] is to group embedded devices into virtual networks and only expose certain resources within each virtual network, thus achieving access control at the network layer. Another option is to provide access control at the application layer, where access to resources on embedded devices is granted/revoked on a per-vendor basis and the application itself enforces the access control.</div></section><section id='76Reprogrammability' type=''><h4 class=html-italic data-nested='2'> 7.6. Reprogrammability</h4><div class='html-p'>Finally, many IoT devices will have a long lifetime and will be deployed at locations that are difficult to reach. As such, it is clear that some mechanism will be required to (wirelessly) update IoT devices with new or updated firmware, software, protocols and/or security keys. As an example, the DisSeNT project [<a href="#B154-jsan-02-00235" class="html-bibr">154</a>] already provides solutions to wirelessly add new application level components at run-time to embedded devices.</div><div class='html-p'>Providing wireless updates to IoT devices is at the moment quite difficult because it requires additional overhead in terms of the memory footprint of the software. In addition, (multi-hop) transmitting a firmware image to multiple embedded devices quickly depletes the batteries of involved devices. At the moment, very few embedded operating systems have the capability to execute these kinds of updates: additional research and standards will be needed before future-proof IoT networks can be deployed.</div></section></section><section id='sec8-jsan-02-00235' type='conclusions'><h2 data-nested='1'> 8. Conclusions</h2><div class='html-p'>The popularity of sensor networks (and in a broader sense Internet of Things) has increased significantly over the last ten years. Integration of these embedded devices into the Internet is challenging, since they have characteristics that differ strongly from traditional internet devices, such as very limited energy, memory and processing capabilities. Initially, research focused on developing proprietary solutions that were typically vendor-specific and did not allow end-to-end connectivity between client devices and sensor devices. However, the use of standardized protocols enables the integration of constrained devices in the IPv6 Internet, both at the network level and at the service level.</div><div class='html-p'>In this paper, a high-level overview was given of the ongoing IETF standardization work that focuses on enabling direct connectivity between clients and sensor devices. To this end, different IETF groups are currently active. The IETF groups 6LoWPAN and ROLL focus on the IPv6 addressability and routing, whereas the IETF CoRE group focuses on realizing an embedded counterpart for RESTful web services. By combining these protocols, an embedded protocol stack can be created that has similar characteristics to traditional internet protocol stacks. In fact, the IETF protocols are designed to enable easy translation from internet protocols to sensor protocols and vice-versa.</div><div class='html-p'>The paper describes how the combination of IETF protocols enables flexible, direct interaction between internet clients and embedded Internet of Things devices. However, the paper also shows that the advent of standardized protocols is not an end point, but only a starting point for exploring additional open issues that should be solved to realize an all-encompassing Internet of Things. Several open challenges remain such as resource representation, security, dealing with sleeping nodes, energy efficiency, integration with existing web service technologies and tools, linking with Cloud services, use of semantics, easy creation of applications, scalability, interoperability with other wireless standards, maintainability, <span class='html-italic'>etc</span>.</div><div class='html-p'>Anyone involved in Internet of Things research (whether dealing with network layer aspects or service layer aspects) will, sooner or later, be confronted with the IETF protocols. This paper merely touches the surface of this broad domain and tries to encourage others to further explore the world of Internet-connected objects and tackle the mentioned remaining open issues and challenges.</div></section> </div> <div class="html-back"> <section id='html-ack' class='html-ack'><h2 >Acknowledgments</h2><div class='html-p'>The research leading to these results has received funding from the European Union’s Seventh Framework Programme (FP7/2007-2013) under grant agreement no 258885 (SPITFIRE project), from the iMinds ICON projects GreenWeCan and O’CareCloudS, a FWO postdoc grant for Eli De Poorter and a VLIR PhD scholarship to Isam Ishaq.</div></section><section class='html-notes'><h2 >Conflict of Interest</h2><div class='html-p'>The authors declare no conflict of interest.</div></section><section id='html-references_list'><h2>References</h2><ol class='html-xxx'><li id='B1-jsan-02-00235' class='html-x' data-content='1.'>Kushalnagar, N.; Montenegro, G.; Schumacher, C.P.P. IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, assumptions, problem statement, and goals. 2007; 1–2IETF RFC 4919. [<a href="https://scholar.google.com/scholar_lookup?title=IPv6+over+Low-Power+Wireless+Personal+Area+Networks+(6LoWPANs):+Overview,+assumptions,+problem+statement,+and+goals&author=Kushalnagar,+N.&author=Montenegro,+G.&author=Schumacher,+C.P.P.&publication_year=2007" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B2-jsan-02-00235' class='html-x' data-content='2.'>Montenegro, G.; Kushalnagar, N.; Hui, J.; Culler, D. Transmission of IPv6 Packets over IEEE 802.15.4 Networks. 2007; 1–30IETF RFC 4944. [<a href="https://scholar.google.com/scholar_lookup?title=Transmission+of+IPv6+Packets+over+IEEE+802.15.4+Networks&author=Montenegro,+G.&author=Kushalnagar,+N.&author=Hui,+J.&author=Culler,+D.&publication_year=2007" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B3-jsan-02-00235' class='html-x' data-content='3.'>Routing Over Low power and Lossy networks (roll). Available online: <a href='http://datatracker.ietf.org/wg/roll/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/roll/</a> (accessed on 3 October 2012).</li><li id='B4-jsan-02-00235' class='html-x' data-content='4.'>ZigBee Alliance Plans Further Integration of Internet Protocol Standards. Available online: <a href='https://docs.zigbee.org/zigbee-docs/dcn/09-5003.pdf' target='_blank' rel="noopener noreferrer" >https://docs.zigbee.org/zigbee-docs/dcn/09-5003.pdf</a> (accessed on 3 October 2012).</li><li id='B5-jsan-02-00235' class='html-x' data-content='5.'>Constrained RESTful Environments (core). Available online: <a href='http://datatracker.ietf.org/wg/core/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/core/</a> (accessed on 28 December 2012).</li><li id='B6-jsan-02-00235' class='html-x' data-content='6.'>IPv6 over Low power WPAN (6lowpan). Available online: <a href='http://datatracker.ietf.org/wg/6lowpan/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/6lowpan/</a> (accessed on 28 December 2012).</li><li id='B7-jsan-02-00235' class='html-x' data-content='7.'>Constrained RESTful Environments (core). Available online: <a href='http://datatracker.ietf.org/wg/core/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/core/</a> (accessed on 28 December 2012).</li><li id='B8-jsan-02-00235' class='html-x' data-content='8.'>IEEE 802.15.4. Available online: <a href='http://www.ieee802.org/15/pub/TG4.html' target='_blank' rel="noopener noreferrer" >http://www.ieee802.org/15/pub/TG4.html</a> (accessed on 28 December 2012).</li><li id='B9-jsan-02-00235' class='html-x' data-content='9.'>IEEE Standard for Local and Metropolitan Area Networks—Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs). 5 September 2011; 1–314.</li><li id='B10-jsan-02-00235' class='html-xx' data-content='10.'>ZigBee Alliance. Available online: <a href='http://www.zigbee.org/' target='_blank' rel="noopener noreferrer" >http://www.zigbee.org/</a> (accessed on 28 December 2012).</li><li id='B11-jsan-02-00235' class='html-xx' data-content='11.'>HART Communication Protocol and Foundation. Available online: <a href='http://www.hartcomm.org/' target='_blank' rel="noopener noreferrer" >http://www.hartcomm.org/</a> (accessed on 28 December 2012).</li><li id='B12-jsan-02-00235' class='html-xx' data-content='12.'>MiWi Development Environment. Available online: <a href='http://www.microchip.com/miwi' target='_blank' rel="noopener noreferrer" >http://www.microchip.com/miwi</a> (accessed on 28 December 2012).</li><li id='B13-jsan-02-00235' class='html-xx' data-content='13.'>ISA100 Wireless Systems for Automation. Available online: <a href='http://www.isa.org/isa100' target='_blank' rel="noopener noreferrer" >http://www.isa.org/isa100</a> (accessed on 28 December 2012).</li><li id='B14-jsan-02-00235' class='html-xx' data-content='14.'>Vasseur, J.-P.; Dunkels, A. <span class='html-italic'>Interconnecting Smart Objects with IP: The Next Internet</span>; Morgan Kaufmann: Amsterdam, Holand, 2010. [<a href="https://scholar.google.com/scholar_lookup?title=Interconnecting+Smart+Objects+with+IP:+The+Next+Internet&author=Vasseur,+J.-P.&author=Dunkels,+A.&publication_year=2010" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B15-jsan-02-00235' class='html-xx' data-content='15.'>Montenegro, G.; Kushalnagar, N.; Hui, J.W.; Culler, D.E. Transmission of IPv6 Packets over IEEE 802.15.4 Networks. IETF RFC 4944, 2007.</li><li id='B16-jsan-02-00235' class='html-xx' data-content='16.'>Hui, J.; Thubert, P. Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks. IETF RFC 6282, 2011; 1–24. [<a href="https://scholar.google.com/scholar_lookup?title=Compression+Format+for+IPv6+Datagrams+over+IEEE+802.15.4-Based+Networks&author=Hui,+J.&author=Thubert,+P.&publication_year=2011" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B17-jsan-02-00235' class='html-xx' data-content='17.'>Chakrabarti, S.; Nordmark, E.; Bormann, C. <span class='html-italic'>Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</span>; Shelby, Z., Ed.; IETF RFC 6775; 2012; pp. 1–55. [<a href="https://scholar.google.com/scholar_lookup?title=Neighbor+Discovery+Optimization+for+IPv6+over+Low-Power+Wireless+Personal+Area+Networks+(6LoWPANs)&author=Chakrabarti,+S.&author=Nordmark,+E.&author=Bormann,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B18-jsan-02-00235' class='html-xx' data-content='18.'>Kim, E.; Kaspar, D. Design and Application Spaces for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs). IETF RFC 6568, 2012; 1–28. [<a href="https://scholar.google.com/scholar_lookup?title=Design+and+Application+Spaces+for+IPv6+over+Low-Power+Wireless+Personal+Area+Networks+(6LoWPANs)&author=Kim,+E.&author=Kaspar,+D.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B19-jsan-02-00235' class='html-xx' data-content='19.'>Gomez, C.; Kim, E.; Kaspar, D.; Bormann, C. Problem Statement and Requirements for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Routing. IETF RFC 6606, 2007. [<a href="https://scholar.google.com/scholar_lookup?title=Problem+Statement+and+Requirements+for+IPv6+over+Low-Power+Wireless+Personal+Area+Network+(6LoWPAN)+Routing&author=Gomez,+C.&author=Kim,+E.&author=Kaspar,+D.&author=Bormann,+C.&publication_year=2007" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B20-jsan-02-00235' class='html-xx' data-content='20.'>Nieminen, J.; Savolainen, T.; Isomaki, M.; Shelby, Z.; Gomez, C. Transmission of IPv6 Packets over BLUETOOTH Low Energy. draft-ietf-6lowpan-btle-11. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Transmission+of+IPv6+Packets+over+BLUETOOTH+Low+Energy&author=Nieminen,+J.&author=Savolainen,+T.&author=Isomaki,+M.&author=Shelby,+Z.&author=Gomez,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B21-jsan-02-00235' class='html-xx' data-content='21.'>IPv6 Over Low power WPAN (6LoWPAN) Charter. Available online: <a href='http://datatracker.ietf.org/wg/6lowpan/charter/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/6lowpan/charter/</a> (accessed on 13 December 2012).</li><li id='B22-jsan-02-00235' class='html-xx' data-content='22.'>Hui, J.; Culler, D.; Chakrabarti, S. 6LoWPAN: Incorporating IEEE 802.15.4 into the IP architecture 2009. 17.</li><li id='B23-jsan-02-00235' class='html-xx' data-content='23.'>Mulligan, G. The 6LoWPAN Architecture. In Proceedings of the 4th Workshop on Embedded Networked Sensors, Cork, Ireland, 25–26 June 2007; ACM: New York, NY, USA, 2007; pp. 78–82. [<a href="https://scholar.google.com/scholar_lookup?title=The+6LoWPAN+Architecture&conference=Proceedings+of+the+4th+Workshop+on+Embedded+Networked+Sensors&author=Mulligan,+G.&publication_year=2007&pages=78%E2%80%9382" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B24-jsan-02-00235' class='html-xx' data-content='24.'>Cody-Kenny, B.; Guerin, D.; Ennis, D.; Carbajo, R.S.; Huggard, M.; McGoldrick, C. Performance Evaluation of the 6LoWPAN Protocol on MICAz and TelosB Motes. In Proceedings of 4th ACM Workshop on Performance Monitoring and Measurement of Heterogeneous Wireless and Wired Networks, Tenerife, Canary Islands, Spain, 26 October 2009; ACM: New York, NY, USA, 2009; pp. 25–30. [<a href="https://scholar.google.com/scholar_lookup?title=Performance+Evaluation+of+the+6LoWPAN+Protocol+on+MICAz+and+TelosB+Motes&conference=Proceedings+of+4th+ACM+Workshop+on+Performance+Monitoring+and+Measurement+of+Heterogeneous+Wireless+and+Wired+Networks&author=Cody-Kenny,+B.&author=Guerin,+D.&author=Ennis,+D.&author=Carbajo,+R.S.&author=Huggard,+M.&author=McGoldrick,+C.&publication_year=2009&pages=25%E2%80%9330" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B25-jsan-02-00235' class='html-xx' data-content='25.'>Sulthana, M.R.; Bhuvaneswari, P.T.V.; Rama, N. Routing Protocols in 6LoWPAN: A Survey. <span class='html-italic'>Eur. J. Sci. Res.</span> <b>2012</b>, <span class='html-italic'>85</span>, 248–261. [<a href="https://scholar.google.com/scholar_lookup?title=Routing+Protocols+in+6LoWPAN:+A+Survey&author=Sulthana,+M.R.&author=Bhuvaneswari,+P.T.V.&author=Rama,+N.&publication_year=2012&journal=Eur.+J.+Sci.+Res.&volume=85&pages=248%E2%80%93261" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B26-jsan-02-00235' class='html-xx' data-content='26.'>Borman, C. 6LoWPAN Generic Compression of Headers and Header-like Payloads. draft-bormann-6lowpan-ghc-05. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=6LoWPAN+Generic+Compression+of+Headers+and+Header-like+Payloads&author=Borman,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B27-jsan-02-00235' class='html-xx' data-content='27.'>Sahara Project. Available online: <a href='http://sahara.tzi.org/' target='_blank' rel="noopener noreferrer" >http://sahara.tzi.org/</a> (accessed on 10 December 2012).</li><li id='B28-jsan-02-00235' class='html-xx' data-content='28.'>HOBNET project. Available online: <a href='http://www.hobnet-project.eu/' target='_blank' rel="noopener noreferrer" >http://www.hobnet-project.eu/</a> (accessed on 10 December 2012).</li><li id='B29-jsan-02-00235' class='html-xx' data-content='29.'>Outsmart: FP7 Framework Project. Available online: <a href='http://www.fi-ppp-outsmart.eu/en-uk/Pages/default.aspx' target='_blank' rel="noopener noreferrer" >http://www.fi-ppp-outsmart.eu/en-uk/Pages/default.aspx</a> (accessed on 10 December 2012).</li><li id='B30-jsan-02-00235' class='html-xx' data-content='30.'>Cassaniti, D. A Multihop 6LoWPAN Wireless Sensor Network for Waste Management Optimization. M.Sc. thesis, University of Padova, Padova, Italy, 2012; p. 154. [<a href="https://scholar.google.com/scholar_lookup?title=A+Multihop+6LoWPAN+Wireless+Sensor+Network+for+Waste+Management+Optimization&author=Cassaniti,+D.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B31-jsan-02-00235' class='html-xx' data-content='31.'>Calipso Project. Available online: <a href='http://www.ict-calipso.eu/' target='_blank' rel="noopener noreferrer" >http://www.ict-calipso.eu/</a> (accessed on 10 December 2012).</li><li id='B32-jsan-02-00235' class='html-xx' data-content='32.'>Khoshdelniat, R. LoWPAN Applications and Internet of Things. Available online: <a href='http://www.apan.net/meetings/Hanoi2010/Session/SensNet.php' target='_blank' rel="noopener noreferrer" >http://www.apan.net/meetings/Hanoi2010/Session/SensNet.php</a> (accessed on 10 December 2012).</li><li id='B33-jsan-02-00235' class='html-xx' data-content='33.'>Schoenwaelder, J.; Sehgal, A.; Tsou, T.; Zhou, C. Definition of Managed Objects for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs). draft-schoenw-6lowpan-mib-01. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Definition+of+Managed+Objects+for+IPv6+over+Low-Power+Wireless+Personal+Area+Networks+(6LoWPANs)&author=Schoenwaelder,+J.&author=Sehgal,+A.&author=Tsou,+T.&author=Zhou,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B34-jsan-02-00235' class='html-xx' data-content='34.'>Bormann, C. Guidance for Light-Weight Implementations of the Internet Protocol Suite. draft-ietf-lwig-guidance-02. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Guidance+for+Light-Weight+Implementations+of+the+Internet+Protocol+Suite&author=Bormann,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B35-jsan-02-00235' class='html-xx' data-content='35.'>Altmann, V.; Skodzik, J.; Golatowski, F.; Timmermann, D. Investigation of the Use of Embedded Web Services in Smart Metering Applications. In Proceedigns of the 38th Annual Conference of the IEEE Industrial Electronics Society (IECON2012), Montréal, PQ, Canada, 25–28 October 2012.</li><li id='B36-jsan-02-00235' class='html-xx' data-content='36.'>Routing over Low power and Lossy networks (roll)—Charter. Available online: <a href='http://datatracker.ietf.org/wg/roll/charter/' target='_blank' rel="noopener noreferrer" >http://datatracker.ietf.org/wg/roll/charter/</a> (accessed on 27 December 2012).</li><li id='B37-jsan-02-00235' class='html-xx' data-content='37.'>Pister, K.; Thubert, P.; Phinney, T. Industrial Routing Requirements in Low-Power and Lossy Networks. IETF RFC 5673, 2009; 1–27. [<a href="https://scholar.google.com/scholar_lookup?title=Industrial+Routing+Requirements+in+Low-Power+and+Lossy+Networks&author=Pister,+K.&author=Thubert,+P.&author=Phinney,+T.&publication_year=2009" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B38-jsan-02-00235' class='html-xx' data-content='38.'>Buron, J.; Brandt, A.; Porcu, G. Home Automation Routing Requirements in Low-Power and Lossy Networks. IETF RFC 5826, 2010; 1–17. [<a href="https://scholar.google.com/scholar_lookup?title=Home+Automation+Routing+Requirements+in+Low-Power+and+Lossy+Networks&author=Buron,+J.&author=Brandt,+A.&author=Porcu,+G.&publication_year=2010" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B39-jsan-02-00235' class='html-xx' data-content='39.'>Martocci, J.; Mil, P. De; Riou, N.; Vermeylen, W. Building Automation Routing Requirements in Low-Power and Lossy Networks. IETF RFC 5867, 2010; 1–26. [<a href="https://scholar.google.com/scholar_lookup?title=Building+Automation+Routing+Requirements+in+Low-Power+and+Lossy+Networks&author=Martocci,+J.&author=Mil,+P.+De&author=Riou,+N.&author=Vermeylen,+W.&publication_year=2010" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B40-jsan-02-00235' class='html-xx' data-content='40.'>Watteyne, T.; Berkeley, U.C.; Winter, T.; Barthel, D. Routing Requirements for Urban Low-Power and Lossy Networks. IETF RFC 5548, 2009; 1–21. [<a href="https://scholar.google.com/scholar_lookup?title=Routing+Requirements+for+Urban+Low-Power+and+Lossy+Networks&author=Watteyne,+T.&author=Berkeley,+U.C.&author=Winter,+T.&author=Barthel,+D.&publication_year=2009" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B41-jsan-02-00235' class='html-xx' data-content='41.'>Winter, T.; Thubert, P.; Brandt, A.; Hui, J.; Kelsey, R.; Levis, P.; Pister, K.; Struik, R.; Vasseur, J.P.; Alexander, R. RPL: IPv6 routing protocol for low-power and lossy networks. IETF RFC 6550, 2013; 1–157. [<a href="https://scholar.google.com/scholar_lookup?title=RPL:+IPv6+routing+protocol+for+low-power+and+lossy+networks&author=Winter,+T.&author=Thubert,+P.&author=Brandt,+A.&author=Hui,+J.&author=Kelsey,+R.&author=Levis,+P.&author=Pister,+K.&author=Struik,+R.&author=Vasseur,+J.P.&author=Alexander,+R.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B42-jsan-02-00235' class='html-xx' data-content='42.'>Vasseur, J.; Kim, M.; Pister, K.; Dejean, N.; Barthel, D. Routing metrics used for path calculation in low power and lossy networks. IETF RFC 6551, 2011; 1–30. [<a href="https://scholar.google.com/scholar_lookup?title=Routing+metrics+used+for+path+calculation+in+low+power+and+lossy+networks&author=Vasseur,+J.&author=Kim,+M.&author=Pister,+K.&author=Dejean,+N.&author=Barthel,+D.&publication_year=2011" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B43-jsan-02-00235' class='html-xx' data-content='43.'>Thubert, P. Objective Function Zero for the Routing Protocol for Low-Power and Lossy Networks (RPL). IETF RFC 6552, 2012; 1–14. [<a href="https://scholar.google.com/scholar_lookup?title=Objective+Function+Zero+for+the+Routing+Protocol+for+Low-Power+and+Lossy+Networks+(RPL)&author=Thubert,+P.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B44-jsan-02-00235' class='html-xx' data-content='44.'>Gnawali, O.; Levis, P. The Minimum Rank with Hysteresis Objective Function. IETF RFC 6719, 2012; 1–13. [<a href="https://scholar.google.com/scholar_lookup?title=The+Minimum+Rank+with+Hysteresis+Objective+Function&author=Gnawali,+O.&author=Levis,+P.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B45-jsan-02-00235' class='html-xx' data-content='45.'>Clausen, T.; Gnawali, O.; Ko, J.; Hui, J. The Trickle Algorithm. IETF RFC 6206, 2011; 1–13. [<a href="https://scholar.google.com/scholar_lookup?title=The+Trickle+Algorithm&author=Clausen,+T.&author=Gnawali,+O.&author=Ko,+J.&author=Hui,+J.&publication_year=2011" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B46-jsan-02-00235' class='html-xx' data-content='46.'>Conta, A.; Gupta, M. Internet control message protocol (icmpv6) for the internet protocol version 6 (ipv6) specification. IETF RFC 4443, 2006; 1–24. [<a href="https://scholar.google.com/scholar_lookup?title=Internet+control+message+protocol+(icmpv6)+for+the+internet+protocol+version+6+(ipv6)+specification&author=Conta,+A.&author=Gupta,+M.&publication_year=2006" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B47-jsan-02-00235' class='html-xx' data-content='47.'>TinyRPL—TinyOS Documentation Wiki. Available online: <a href='http://docs.tinyos.net/tinywiki/index.php/TinyRPL' target='_blank' rel="noopener noreferrer" >http://docs.tinyos.net/tinywiki/index.php/TinyRPL</a> (accessed on 27 December 2012).</li><li id='B48-jsan-02-00235' class='html-xx' data-content='48.'>Tsiftes, N.; Eriksson, J.; Dunkels, A. Low-power Wireless IPv6 Routing with ContikiRPL. In Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks, IPSN ’10, Stockholm, Sweden, 12–16 April 2010; ACM Press: : New York, NY, USA, 2010; p. 406. [<a href="https://scholar.google.com/scholar_lookup?title=Low-power+Wireless+IPv6+Routing+with+ContikiRPL&conference=Proceedings+of+the+9th+ACM/IEEE+International+Conference+on+Information+Processing+in+Sensor+Networks,+IPSN+%E2%80%9910&author=Tsiftes,+N.&author=Eriksson,+J.&author=Dunkels,+A.&publication_year=2010&pages=406" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B49-jsan-02-00235' class='html-xx' data-content='49.'>Berkeley’s OpenWSN Project. Available online: <a href='http://openwsn.berkeley.edu/' target='_blank' rel="noopener noreferrer" >http://openwsn.berkeley.edu/</a> (accessed on 28 December 2012).</li><li id='B50-jsan-02-00235' class='html-xx' data-content='50.'>Nano-RK. Available online: <a href='http://www.nanork.org/projects/nanork' target='_blank' rel="noopener noreferrer" >http://www.nanork.org/projects/nanork</a> (accessed on 28 December 2012).</li><li id='B51-jsan-02-00235' class='html-xx' data-content='51.'>Jeong, J. Design and Implementation of Low Power Wireless IPv6 Routing for NanoQplus. In Proceedings of the 13th International Conference on Advanced Communication Technology (ICACT), Daejeon, South Korea, 13–16 February 2011; pp. 966–971.</li><li id='B52-jsan-02-00235' class='html-xx' data-content='52.'>Pavković, B.; Theoleyre, F.; Duda, A. Multipath Opportunistic RPL Routing over IEEE 802.15.4. In Proceedings of the 14th ACM International Conference on ModelingAnalysis and Simulation of Wireless and Mobile Systems, MSWiM ’11, Miami Beach, FL, USA, 31 October 2011; ACM Press: New York, NY, USA, 2011; p. 179. [<a href="https://scholar.google.com/scholar_lookup?title=Multipath+Opportunistic+RPL+Routing+over+IEEE+802.15.4&conference=Proceedings+of+the+14th+ACM+International+Conference+on+ModelingAnalysis+and+Simulation+of+Wireless+and+Mobile+Systems,+MSWiM+%E2%80%9911&author=Pavkovi%C4%87,+B.&author=Theoleyre,+F.&author=Duda,+A.&publication_year=2011&pages=179" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B53-jsan-02-00235' class='html-xx' data-content='53.'>Saad, L.; Chauvenet, C.; Tourancheau, B. Simulation of the RPL Routing Protocol for IPv6 Sensor Networks: Two Cases Studies. In Proceedings of the International Conference on Sensor Technologies and Applications, Nice, France, 21–27 August 2011; Volume 2011.</li><li id='B54-jsan-02-00235' class='html-xx' data-content='54.'>Contiki: The Open Source Operating System for the Internet of Things. Available online: <a href='http://www.contiki-os.org/' target='_blank' rel="noopener noreferrer" >http://www.contiki-os.org/</a> (accessed on 20 December 2012).</li><li id='B55-jsan-02-00235' class='html-xx' data-content='55.'>Bartolozzi, L.; Pecorella, T.; Fantacci, R. ns-3 RPL module: IPv6 routing protocol for low power and lossy networks. In Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques (SIMUTOOLS), Desenzano, Italy, 19–23 March 2012; pp. 359–366.</li><li id='B56-jsan-02-00235' class='html-xx' data-content='56.'>Hammerseth, S.K. Implementing RPL in a Mobile and Fixed Wireless Sensor Network with OMNeT++. M.Sc. Thesis, University of Oslo, Oslo, Norway, 29 November 2012; pp. 1–101. [<a href="https://scholar.google.com/scholar_lookup?title=Implementing+RPL+in+a+Mobile+and+Fixed+Wireless+Sensor+Network+with+OMNeT++&author=Hammerseth,+S.K.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B57-jsan-02-00235' class='html-xx' data-content='57.'>rpl-jsim-platform—Implementation of RPL functionality in JSim platform—Google Project Hosting. Available online: <a href="https://code.google.com/p/rpl-jsim-platform/" target='_blank' rel="noopener noreferrer">http://code.google.com/p/rpl-jsim-platform/</a> (accessed on on 20 December 2012).</li><li id='B58-jsan-02-00235' class='html-xx' data-content='58.'>Gnawali, O.; Levis, P. Recommendations for Efficient Implementation of RPL. draft-gnawali-roll-rpl-recommendations-04. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Recommendations+for+Efficient+Implementation+of+RPL&author=Gnawali,+O.&author=Levis,+P.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B59-jsan-02-00235' class='html-xx' data-content='59.'>Tripathi, J.; Oliveira, J.; Vasseur, J.-P. Performance Evaluation of the Routing Protocol for Low-Power and Lossy Networks (RPL). IETF RFC 6687, 2012; 1–26. [<a href="https://scholar.google.com/scholar_lookup?title=Performance+Evaluation+of+the+Routing+Protocol+for+Low-Power+and+Lossy+Networks+(RPL)&author=Tripathi,+J.&author=Oliveira,+J.&author=Vasseur,+J.-P.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B60-jsan-02-00235' class='html-xx' data-content='60.'>Ko, J.; Eriksson, J.; Tsiftes, N.; Dawson-haggerty, S.; Terzis, A.; Dunkels, A.; Culler, D. ContikiRPL and TinyRPL: Happy Together. In Proceedings of the workshop on Extending the Internet to Low power and Lossy Networks (IP+SN), Chicago, IL, USA, 11 April 2011.</li><li id='B61-jsan-02-00235' class='html-xx' data-content='61.'>Clausen, T. H.; Herberg, U.; Philipp, M. A Critical Evaluation of the IPv6 Routing Protocol for Low Power and Lossy Networks(RPL). In Proceedings of the 2011 IEEE 7th International Conference on Wireless and Mobile ComputingNetworking and Communications (WiMob), Wuhan, China, 23–25 September 2011; pp. 365–372.</li><li id='B62-jsan-02-00235' class='html-xx' data-content='62.'>Xie, W.; Goyal, M.; Hosseini, H.; Martocci, J.; Bashir, Y.; Baccelli, E.; Durresi, A. A Performance Analysis of Point-to-Point Routing along a Directed Acyclic Graph in Low Power and Lossy Networks. In Proceedings of the 13th International Conference on Network-Based Information Systems (NBiS), Takayama, Japan, 14–16 September 2010; pp. 111–116.</li><li id='B63-jsan-02-00235' class='html-xx' data-content='63.'>Baccelli, E.; Philipp, M.; Goyal, M. The P2P-RPL Routing Protocol for IPv6 Sensor Networks: Testbed Experiments. In Proceedings of the 19th International Conference on SoftwareTelecommunications and Computer Networks (SoftCOM), Split, Croatia, 15–17 September 2011; pp. 1–6.</li><li id='B64-jsan-02-00235' class='html-xx' data-content='64.'>Hui, J.; Kelsey, R. Multicast Protocol for Low power and Lossy Networks (MPL). draft-ietf-roll-trickle-mcast-02. 2012; 1–24. [<a href="https://scholar.google.com/scholar_lookup?title=Multicast+Protocol+for+Low+power+and+Lossy+Networks+(MPL)&author=Hui,+J.&author=Kelsey,+R.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B65-jsan-02-00235' class='html-xx' data-content='65.'>Oikonomou, G.; Phillips, I. Stateless Multicast Forwarding with RPL in 6LowPAN Sensor Networks. In Proceedings of the 2012 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom), City, Country, 19–23 March 2012; pp. 272–277.</li><li id='B66-jsan-02-00235' class='html-xx' data-content='66.'>Dawans, S.; Duquennoy, S.; Bonaventure, O. On Link Estimation in Dense RPL Deployments. In Proceedings of the International Workshop on Practical Issues in Building Sensor Network Applications (IEEE SenseApp 2012), Clearwater, FL, USA, 22–25 October 2012; pp. 956–959.</li><li id='B67-jsan-02-00235' class='html-xx' data-content='67.'>Goyal, M.; Baccelli, E.; Brandt, A.; Martocci, J. A Mechanism to Measure the Routing Metrics along a Point-to-point Route in a Low Power and Lossy Network. draft-ietf-roll-p2p-measurement-07. 2013; 1–26. [<a href="https://scholar.google.com/scholar_lookup?title=A+Mechanism+to+Measure+the+Routing+Metrics+along+a+Point-to-point+Route+in+a+Low+Power+and+Lossy+Network&author=Goyal,+M.&author=Baccelli,+E.&author=Brandt,+A.&author=Martocci,+J.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B68-jsan-02-00235' class='html-xx' data-content='68.'>Goyal, M.; Baccelli, E.; Philipp, M.; Brandt, A.; Martocci, J. Reactive Discovery of Point-to-Point Routes in Low Power and Lossy Networks. draft-ietf-roll-p2p-rpl-15. 2012; 1–36. [<a href="https://scholar.google.com/scholar_lookup?title=Reactive+Discovery+of+Point-to-Point+Routes+in+Low+Power+and+Lossy+Networks&author=Goyal,+M.&author=Baccelli,+E.&author=Philipp,+M.&author=Brandt,+A.&author=Martocci,+J.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B69-jsan-02-00235' class='html-xx' data-content='69.'>Herberg, U.; Clausen, T. A Comparative Performance Study of the Routing Protocols LOAD and RPL with Bi-directional Traffic in Low-power and Lossy Networks (LLN). In Proceedings of the 8th ACM Symposium on Performance Evaluation of Wireless ad Hoc, Sensor and Ubiquitous Networks (PE-WASUN), Miami Beach, FL, USA, 31 October–4 November 2011; ACM Press: New York, NY, USA, 2011; pp. 73–80. [<a href="https://scholar.google.com/scholar_lookup?title=A+Comparative+Performance+Study+of+the+Routing+Protocols+LOAD+and+RPL+with+Bi-directional+Traffic+in+Low-power+and+Lossy+Networks+(LLN)&conference=Proceedings+of+the+8th+ACM+Symposium+on+Performance+Evaluation+of+Wireless+ad+Hoc,+Sensor+and+Ubiquitous+Networks+(PE-WASUN)&author=Herberg,+U.&author=Clausen,+T.&publication_year=2011&pages=73%E2%80%9380" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B70-jsan-02-00235' class='html-xx' data-content='70.'>Ko, J.; Gnawali, O.; Culler, D.; Terzis, A. Evaluating the Performance of RPL and 6LoWPAN in TinyOS. In Proceedings of the Workshop on Extending the Internet to Low power and Lossy Networks (IP+SN), Chicago, IL, USA, 11 April 2011.</li><li id='B71-jsan-02-00235' class='html-xx' data-content='71.'>Accettura, N.; Grieco, L.A.; Boggia, G.; Camarda, P. Performance analysis of the RPL Routing Protocol. In Proceedings of IEEE International Conference on Mechatronics, Istanbul, Turkey, 13–15 April 2011; pp. 767–772.</li><li id='B72-jsan-02-00235' class='html-xx' data-content='72.'>Bressan, N.; Bazzaco, L.; Bui, N.; Casari, P.; Vangelista, L.; Zorzi, M. The Deployment of a Smart Monitoring System Using Wireless Sensor and Actuator Networks. In Proceedings of the First IEEE International Conference on Smart Grid Communications (SMARTGRIDCOMM), Gaithersburg, Maryland, USA, 4–6 October 2010; pp. 49–54.</li><li id='B73-jsan-02-00235' class='html-xx' data-content='73.'>Chen, Y.; Chanet, J.P.; Hou, K.M. RPL Routing Protocol a case study: Precision agriculture. In Proceedings of the First China-France Workshop on Future Computing Technology (CF-WoFUCT 2012), Harbin, China, 16–17 February 2012.</li><li id='B74-jsan-02-00235' class='html-xx' data-content='74.'>Becker, M.; Pötsch, T.; Kuladinithi, K.; Görg, C. Deployment of CoAP in Transport Logistics. In Proceedings of 36th IEEE Conference on Local Computer Networks (LCN), Bonn, Germany, 4–7 October 2011; pp. 1–3.</li><li id='B75-jsan-02-00235' class='html-xx' data-content='75.'>Guo, J.; Orlik, P.; Bhatti, G. Loop Free DODAG Local Repair. draft-guo-roll-loop-free-dodag-repair-00. 2012; 1–17. [<a href="https://scholar.google.com/scholar_lookup?title=Loop+Free+DODAG+Local+Repair&author=Guo,+J.&author=Orlik,+P.&author=Bhatti,+G.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B76-jsan-02-00235' class='html-xx' data-content='76.'>Guo, J.; Orlik, P.; Bhatti, G. Loop Free RPL. draft-guo-roll-loop-free-rpl-01. 2013; 1–20. [<a href="https://scholar.google.com/scholar_lookup?title=Loop+Free+RPL&author=Guo,+J.&author=Orlik,+P.&author=Bhatti,+G.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B77-jsan-02-00235' class='html-xx' data-content='77.'>Ko, J.; Jeong, J.; Park, J.; Jun, J.; Kim, N. RPL Routing Pathology In a Network With a Mix of Nodes Operating in Storing and Non-Storing Modes. draft-ko-roll-mix-network-pathology-01. 2012; 1–9. [<a href="https://scholar.google.com/scholar_lookup?title=RPL+Routing+Pathology+In+a+Network+With+a+Mix+of+Nodes+Operating+in+Storing+and+Non-Storing+Modes&author=Ko,+J.&author=Jeong,+J.&author=Park,+J.&author=Jun,+J.&author=Kim,+N.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B78-jsan-02-00235' class='html-xx' data-content='78.'>Baryun, A. The Node Ability of Participation (NAP). draft-baryun-roll-nap-00. 2013; 1–9. [<a href="https://scholar.google.com/scholar_lookup?title=The+Node+Ability+of+Participation+(NAP)&author=Baryun,+A.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B79-jsan-02-00235' class='html-xx' data-content='79.'>Goyal, M.; Barthel, D.; Baccelli, E. DIS Modifications. draft-goyal-roll-dis-modifications-01. 2013; 1–11. [<a href="https://scholar.google.com/scholar_lookup?title=DIS+Modifications&author=Goyal,+M.&author=Barthel,+D.&author=Baccelli,+E.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B80-jsan-02-00235' class='html-xx' data-content='80.'>Hong, K.-S.; Choi, L. DAG-based multipath routing for mobile sensor networks. In Proceedings of the International Conference on ICT Convergence (ICTC), Seoul, Korea (South), 28–30 September 2011; pp. 261–266.</li><li id='B81-jsan-02-00235' class='html-xx' data-content='81.'>Lee, K.C.; Sudhaakar, R.; Ning, J.; Dai, L.; Addepalli, S.; Vasseur, J.P.; Gerla, M. A Comprehensive Evaluation of RPL under Mobility. <span class='html-italic'>Int. J. Veh. Technol.</span> <b>2012</b>, <span class='html-italic'>2012</span>, 1–10. [<a href="https://scholar.google.com/scholar_lookup?title=A+Comprehensive+Evaluation+of+RPL+under+Mobility&author=Lee,+K.C.&author=Sudhaakar,+R.&author=Ning,+J.&author=Dai,+L.&author=Addepalli,+S.&author=Vasseur,+J.P.&author=Gerla,+M.&publication_year=2012&journal=Int.+J.+Veh.+Technol.&volume=2012&pages=1%E2%80%9310" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B82-jsan-02-00235' class='html-xx' data-content='82.'>Carels, D.; Poorter, E.De; Moerman, I.; Demeester, P. Extending the IETF RPL routing protocol with mobility support. <b>2013</b>. In press. [<a href="https://scholar.google.com/scholar_lookup?title=Extending+the+IETF+RPL+routing+protocol+with+mobility+support&author=Carels,+D.&author=Poorter,+E.De&author=Moerman,+I.&author=Demeester,+P.&publication_year=2013" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B83-jsan-02-00235' class='html-xx' data-content='83.'>Shelby, Z.; Hartke, K.; Bormann, C.; Frank, B. Constrained Application Protocol (CoAP). draft-ietf-core-coap-13. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Constrained+Application+Protocol+(CoAP)&author=Shelby,+Z.&author=Hartke,+K.&author=Bormann,+C.&author=Frank,+B.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B84-jsan-02-00235' class='html-xx' data-content='84.'>Colitti, W.; Steenhaut, K.; Caro, N. De Integrating Wireless Sensor Networks with the Web. In Proceedings of Workshop on Extending the Internet to Low power and Lossy Networks, Chicago, IL, USA, 11 April 2011.</li><li id='B85-jsan-02-00235' class='html-xx' data-content='85.'>Yazar, D.; Dunkels, A. Efficient Application Integration in IP-based Sensor Networks. In Proceedings of the First ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Buildings, BuildSys’09, Berkeley, USA, 4–6 November 2009; ACM Press: New York, NY, USA, 2009; p. 43. [<a href="https://scholar.google.com/scholar_lookup?title=Efficient+Application+Integration+in+IP-based+Sensor+Networks&conference=Proceedings+of+the+First+ACM+Workshop+on+Embedded+Sensing+Systems+for+Energy-Efficiency+in+Buildings,+BuildSys%E2%80%9909&author=Yazar,+D.&author=Dunkels,+A.&publication_year=2009&pages=43" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B86-jsan-02-00235' class='html-xx' data-content='86.'>Shelby, Z. Embedded web services. <span class='html-italic'>IEEE Wirel. Commun.</span> <b>2010</b>, <span class='html-italic'>291</span>, 76–81. [<a href="https://scholar.google.com/scholar_lookup?title=Embedded+web+services&author=Shelby,+Z.&publication_year=2010&journal=IEEE+Wirel.+Commun.&volume=291&pages=76%E2%80%9381" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B87-jsan-02-00235' class='html-xx' data-content='87.'>Shelby, Z. Constrained RESTful Environments (CoRE) Link Format. IETF RFC 6690, 2012.</li><li id='B88-jsan-02-00235' class='html-xx' data-content='88.'>Bormann, C.; Shelby, Z. Blockwise transfers in CoAP. draft-ietf-core-block-10. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Blockwise+transfers+in+CoAP&author=Bormann,+C.&author=Shelby,+Z.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B89-jsan-02-00235' class='html-xx' data-content='89.'>Hartke, K. Observing Resources in CoAP. draft-ietf-core-observe-07. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Observing+Resources+in+CoAP&author=Hartke,+K.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B90-jsan-02-00235' class='html-xx' data-content='90.'><span class='html-italic'>1st CoAP Plugtest</span>, Technical Report CTI Plugtest Report 1.1.1. 2012.</li><li id='B91-jsan-02-00235' class='html-xx' data-content='91.'>Velez, L. IoT COAP#2 Interop Event Preliminary Report. Available online: <a href='http://svn.tools.ietf.org/svn/wg/core/Preliminary-Results-CoAP%232.pdf' target='_blank' rel="noopener noreferrer" >http://svn.tools.ietf.org/svn/wg/core/Preliminary-Results-CoAP%232.pdf</a> (accessed on 28 December 2012).</li><li id='B92-jsan-02-00235' class='html-xx' data-content='92.'>Lerche, C.; Hartke, K.; Kovatsch, M. Industry Adoption of the Internet of Things: A Constrained Application Protocol Survey. In Proceedings of the 7th International Workshop on Service Oriented Architectures in Converging Networked Environments (SOCNE 2012), Kraków, Poland, 17–21 September 2012.</li><li id='B93-jsan-02-00235' class='html-xx' data-content='93.'>Castellani, A.P.; Gheda, M.; Bui, N.; Rossi, M.; Zorzi, M. Web Services for the Internet of Things through CoAP and EXI. In Proceedings of IEEE International Conference on Communications Workshops (ICC), Kyoto, Japan, 5–9 June 2011; pp. 1–6.</li><li id='B94-jsan-02-00235' class='html-xx' data-content='94.'>Californium (Cf) CoAP framework in Java. Available online: <a href='http://people.inf.ethz.ch/mkovatsc/californium.php' target='_blank' rel="noopener noreferrer" >http://people.inf.ethz.ch/mkovatsc/californium.php</a> (accessed on 28 December 2012).</li><li id='B95-jsan-02-00235' class='html-xx' data-content='95.'>Copper (Cu) Add-ons for Firefox. Available online: <a href='https://addons.mozilla.org/en-us/firefox/addon/copper-270430/' target='_blank' rel="noopener noreferrer" >https://addons.mozilla.org/en-us/firefox/addon/copper-270430/</a> (accessed on 28 December 2012).</li><li id='B96-jsan-02-00235' class='html-xx' data-content='96.'>Erbium (Er) REST Engine and CoAP Implementation for Contiki. Available online: <a href='http://people.inf.ethz.ch/mkovatsc/erbium.php' target='_blank' rel="noopener noreferrer" >http://people.inf.ethz.ch/mkovatsc/erbium.php</a> (accessed on 28 December 2012).</li><li id='B97-jsan-02-00235' class='html-xx' data-content='97.'>Ishaq, I.; Hoebeke, J.; Rossey, J.; De Poorter, E.; Moerman, I.; Demeester, P. Facilitating Sensor Deployment,Discovery and Resource Access Using Embedded Web Services. In Proceedings of the Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, Palermo, Italy, 4–6 July 2012; pp. 717–724.</li><li id='B98-jsan-02-00235' class='html-xx' data-content='98.'>evcoap. Available online: <a href='https://github.com/koanlogic/webthings/tree/master/bridge/sw/lib/evcoap' target='_blank' rel="noopener noreferrer" >https://github.com/koanlogic/webthings/tree/master/bridge/sw/lib/evcoap</a> (accessed on 29 December 2012).</li><li id='B99-jsan-02-00235' class='html-xx' data-content='99.'>NanoService. Sensinode Ltd. Available online: <a href='http://www.sensinode.com/EN/products/nanoservice.html' target='_blank' rel="noopener noreferrer" >http://www.sensinode.com/EN/products/nanoservice.html</a> (accessed on 22 December 2012).</li><li id='B100-jsan-02-00235' class='html-xxx' data-content='100.'>libcoap: C-Implementation of CoAP. Available online: <a href='http://libcoap.sourceforge.net/' target='_blank' rel="noopener noreferrer" >http://libcoap.sourceforge.net/</a> (accessed on 22 December 2012).</li><li id='B101-jsan-02-00235' class='html-xxx' data-content='101.'>CoAP. TinyOS Documentation Wiki. Available online: <a href='http://docs.tinyos.net/tinywiki/index.php/CoAP' target='_blank' rel="noopener noreferrer" >http://docs.tinyos.net/tinywiki/index.php/CoAP</a> (accessed on 22 December 2012).</li><li id='B102-jsan-02-00235' class='html-xxx' data-content='102.'>coap.me. Available online: <a href='http://coap.me/' target='_blank' rel="noopener noreferrer" >http://coap.me/</a> (accessed on 22 December 2012).</li><li id='B103-jsan-02-00235' class='html-xxx' data-content='103.'>jcoap is a Java Library implementing the Constrained Application Protocol (CoAP)—Google Project Hosting. Available online: <a href="https://code.google.com/p/jcoap/" target='_blank' rel="noopener noreferrer">http://code.google.com/p/jcoap</a> (accessed on 22 December 2012).</li><li id='B104-jsan-02-00235' class='html-xxx' data-content='104.'>Constraint Application Protocol (CoAP) for ERIKA embedded OS. Available online: <a href='http://rtn.sssup.it/index.php/research-activities/middleware-of-things/middleware-of-things/11-research-activities/35-coaperika' target='_blank' rel="noopener noreferrer" >http://rtn.sssup.it/index.php/research-activities/middleware-of-things/middleware-of-things/11-research-activities/35-coaperika</a> (accessed on 22 December 2012).</li><li id='B105-jsan-02-00235' class='html-xxx' data-content='105.'>CoAPy: Constrained Application Protocol in Python—CoAPy v0.0.2 documentation. Available online: <a href='http://coapy.sourceforge.net/' target='_blank' rel="noopener noreferrer" >http://coapy.sourceforge.net/</a> (accessed on 29 December 2012).</li><li id='B106-jsan-02-00235' class='html-xxx' data-content='106.'>ibr-alg/wiselib. GitHub. Available online: <a href='https://github.com/ibr-alg/wiselib' target='_blank' rel="noopener noreferrer" >https://github.com/ibr-alg/wiselib</a> (accessed on 22 December 2012).</li><li id='B107-jsan-02-00235' class='html-xxx' data-content='107.'>Colitti, W.; Steenhaut, K.; De Caro, N.; Buta, B.; Dobrota, V. Evaluation of Constrained Application Protocol for Wireless Sensor Networks. In Proceedings of the 18th IEEE Workshop on Local & Metropolitan Area Networks (LANMAN), Chapel Hill, NC, USA, 13–14 October 2011; pp. 1–6.</li><li id='B108-jsan-02-00235' class='html-xxx' data-content='108.'>Duquennoy, S.; Wirström, N.; Tsiftes, N.; Dunkels, A. Leveraging IP for Sensor Network Deployment. In Proceedings of the workshop on Extending the Internet to Low power and Lossy Networks (IP+SN 2011), Chicago, IL, USA, 11 April 2011.</li><li id='B109-jsan-02-00235' class='html-xxx' data-content='109.'>Pötsch, T. Performance of the Constrained Application Protocol for Wireless Sensor Networks. Available online: <a href='http://www.comnets.uni-bremen.de/itg/itgfg521/aktuelles/fg-workshop-29092011/ITG_HH_thomas_poetsch.pdf' target='_blank' rel="noopener noreferrer" >http://www.comnets.uni-bremen.de/itg/itgfg521/aktuelles/fg-workshop-29092011/ITG_HH_thomas_poetsch.pdf</a> (accessed on 29 December 2012).</li><li id='B110-jsan-02-00235' class='html-xxx' data-content='110.'>Kuladinithi, K.; Bergmann, O.; Pötsch, T.; Becker, M.; Görg, C. Implementation of CoAP and its Application in Transport Logistics. In Extending the Internet to Low power and Lossy Networks’ (IP+SN 2011), Chicago, IL, USA, 11 April 2011.</li><li id='B111-jsan-02-00235' class='html-xxx' data-content='111.'>Bormann, C. CoRE Roadmap and Implementation Guide. draft-bormann-core-roadmap-03. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=CoRE+Roadmap+and+Implementation+Guide&author=Bormann,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B112-jsan-02-00235' class='html-xxx' data-content='112.'>Shelby, Z.; Krco, S.; Bormann, C. CoRE Resource Directory. draft-shelby-core-resource-directory-04. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=CoRE+Resource+Directory&author=Shelby,+Z.&author=Krco,+S.&author=Bormann,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B113-jsan-02-00235' class='html-xxx' data-content='113.'>Rahman, A.; Dijk, E. Group Communication for CoAP. draft-ietf-core-groupcomm-04. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Group+Communication+for+CoAP&author=Rahman,+A.&author=Dijk,+E.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B114-jsan-02-00235' class='html-xxx' data-content='114.'>Bormann, C. CoAP Simple Congestion Control/Advanced. draft-bormann-core-cocoa-00. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=CoAP+Simple+Congestion+Control/Advanced&author=Bormann,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B115-jsan-02-00235' class='html-xxx' data-content='115.'>Gurtov, A.; Dashkova, E. Computing the Retransmission Timeout in COAP. Available online: <a href='http://www.etsi.org/plugtests/COAP2/Presentations/08_Computing_Retransmission_Timeout.pdf' target='_blank' rel="noopener noreferrer" >http://www.etsi.org/plugtests/COAP2/Presentations/08_Computing_Retransmission_Timeout.pdf</a> (accessed on 20 December 2012).</li><li id='B116-jsan-02-00235' class='html-xxx' data-content='116.'>Greevenbosch, B. CoAP Minimum Request Interval. draft-greevenbosch-core-minimum-request-interval-00. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=CoAP+Minimum+Request+Interval&author=Greevenbosch,+B.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B117-jsan-02-00235' class='html-xxx' data-content='117.'>Li, S.; Hoebeke, J.; Jara, A.J. Conditional observe in CoAP. draft-li-core-conditional-observe-02. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Conditional+observe+in+CoAP&author=Li,+S.&author=Hoebeke,+J.&author=Jara,+A.J.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B118-jsan-02-00235' class='html-xxx' data-content='118.'>Ketema, G.; Hoebeke, J.; Moerman, I.; Demeester, P. Efficiently observing Internet of Things Resources. In Proceedings of The IEEE International Conference on Cyber, Physical and Social Computing, Besançon, France, 20–23 November 2012.</li><li id='B119-jsan-02-00235' class='html-xxx' data-content='119.'>Vial, M. CoRE Mirror Server. draft-vial-core-mirror-server-00. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=CoRE+Mirror+Server&author=Vial,+M.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B120-jsan-02-00235' class='html-xxx' data-content='120.'>Hoebeke, J.; Carles, D.; Ishaq, I.; Ketema, G.; Rossey, J.; De Poorter, E.; Moerman, I.; Demeester, P. Leveraging upon Standards to Build the Internet of Things. In Proceedings of the 19th IEEE Symposium on Communications and Vehicular Technology in the Benelux, Eindhoven, The Netherlands, 16 November 2012.</li><li id='B121-jsan-02-00235' class='html-xxx' data-content='121.'>Rahman, A. Enhanced Sleepy Node Support for CoAP. draft-rahman-core-sleepy-01. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Enhanced+Sleepy+Node+Support+for+CoAP&author=Rahman,+A.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B122-jsan-02-00235' class='html-xxx' data-content='122.'>Application Layer Protocol Support for Sleeping Nodes in Constrained Networks. US Patent 20120151028. Available online: <a href="https://www.google.com/patents/US20120151028" target='_blank' rel="noopener noreferrer">http://www.google.com/patents/US20120151028</a> (accessed on 23 December 2012).</li><li id='B123-jsan-02-00235' class='html-xxx' data-content='123.'>Tschofenig, H. Report from the Smart Object Security Workshop. Available online: <a href='http://www.ietf.org/proceedings/83/slides/slides-83-saag-3.pdf' target='_blank' rel="noopener noreferrer" >http://www.ietf.org/proceedings/83/slides/slides-83-saag-3.pdf</a> (accessed on 18 December 2012).</li><li id='B124-jsan-02-00235' class='html-xxx' data-content='124.'>Garcia-Morchon, O.; Keoh, S.; Kumar, S.; Hummen, R.; Struik, R. Security Considerations in the IP-based Internet of Things. draft-garcia-core-security-04. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Security+Considerations+in+the+IP-based+Internet+of+Things&author=Garcia-Morchon,+O.&author=Keoh,+S.&author=Kumar,+S.&author=Hummen,+R.&author=Struik,+R.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B125-jsan-02-00235' class='html-xxx' data-content='125.'>Bergmann, O.; Gerdes, S.; Schafer, S.; Junge, F.; Bormann, C. Secure Bootstrapping of Nodes in a CoAP Network. In Proceedings of the IEEE Wireless Communications and Networking Conference Workshops (WCNCW), Paris, France, 1 April 2012; pp. 220–225.</li><li id='B126-jsan-02-00235' class='html-xxx' data-content='126.'>Hartke, K.; Bergmann, O. Datagram Transport Layer Security in Constrained Environments. draft-hartke-core-codtls-02. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Datagram+Transport+Layer+Security+in+Constrained+Environments&author=Hartke,+K.&author=Bergmann,+O.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B127-jsan-02-00235' class='html-xxx' data-content='127.'>Raza, S.; Trabalza, D.; Voigt, T. 6LoWPAN Compressed DTLS for CoAP. In IEEE 8th International Conference on Distributed Computing in Sensor Systems, Hangzhou, China, 16–18 May 2012; pp. 287–289.</li><li id='B128-jsan-02-00235' class='html-xxx' data-content='128.'>Tschofenig, H.; Gilger, J. A Minimal (Datagram) Transport Layer Security Implementation. draft-tschofenig-lwig-tls-minimal-01. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=A+Minimal+(Datagram)+Transport+Layer+Security+Implementation&author=Tschofenig,+H.&author=Gilger,+J.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B129-jsan-02-00235' class='html-xxx' data-content='129.'>Brachmann, M.; Garcia-Morchon, O.; Kirsche, M. Security for Practical CoAP Applications: Issues and Solution Approaches. In Proceedings of the 10th GI/ITG KuVS Fachgespraech Sensornetze (FGSN11), Paderborn, Germany, 15–16 September 2011.</li><li id='B130-jsan-02-00235' class='html-xxx' data-content='130.'>Kivinen, T. Minimal IKEv2. draft-kivinen-ipsecme-ikev2-minimal-01. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Minimal+IKEv2&author=Kivinen,+T.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B131-jsan-02-00235' class='html-xxx' data-content='131.'>Castellani, A.; Loreto, S.; Rahman, A.; Fossati, T.; Dijk, E. Best Practices for HTTP-CoAP Mapping Implementation. draft-castellani-core-httSp-mapping-05. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Best+Practices+for+HTTP-CoAP+Mapping+Implementation&author=Castellani,+A.&author=Loreto,+S.&author=Rahman,+A.&author=Fossati,+T.&author=Dijk,+E.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B132-jsan-02-00235' class='html-xxx' data-content='132.'>Castellani, A.; Loreto, S.; Rahman, A.; Fossati, T.; Dijk, E. Best Practices for HTTP-CoAP Mapping Implementation. draft-castellani-core-advanced-http-mapping-00. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Best+Practices+for+HTTP-CoAP+Mapping+Implementation&author=Castellani,+A.&author=Loreto,+S.&author=Rahman,+A.&author=Fossati,+T.&author=Dijk,+E.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B133-jsan-02-00235' class='html-xxx' data-content='133.'>Becker, M.; Li, K.; Kuladinithi, K.; Poetsch, T. Transport of CoAP over SMS, USSD and GPRS. draft-becker-core-coap-sms-gprs-02. 2012. [<a href="https://scholar.google.com/scholar_lookup?title=Transport+of+CoAP+over+SMS,+USSD+and+GPRS&author=Becker,+M.&author=Li,+K.&author=Kuladinithi,+K.&author=Poetsch,+T.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B134-jsan-02-00235' class='html-xxx' data-content='134.'>Kovatsch, M.; Mayer, S.; Ostermaier, B. Moving Application Logic from the Firmware to the Cloud: Towards the Thin Server Architecture for the Internet of Things. In Proceedings of the Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, Palermo, Italy, 4–6 July 2012; pp. 751–756.</li><li id='B135-jsan-02-00235' class='html-xxx' data-content='135.'>Hans, S. Secure Environment management based on CoAP. In Proceedings of theETSI CoAP Workshop, Sophia Antipolis, France, 27–30 November 2012.</li><li id='B136-jsan-02-00235' class='html-xxx' data-content='136.'>Castro, M.; Jara, A.J.; Skarmeta, A. Architecture for improving terrestrial logistics based on the Web of Things. <span class='html-italic'>Sensors</span> <b>2012</b>, <span class='html-italic'>12</span>, 6538–6575. [<a href="https://scholar.google.com/scholar_lookup?title=Architecture+for+improving+terrestrial+logistics+based+on+the+Web+of+Things&author=Castro,+M.&author=Jara,+A.J.&author=Skarmeta,+A.&publication_year=2012&journal=Sensors&volume=12&pages=6538%E2%80%936575&doi=10.3390/s120506538" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.3390/s120506538" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B137-jsan-02-00235' class='html-xxx' data-content='137.'>Mäenpää, J.; Bolonio, J.; Loreto, S. Using RELOAD and CoAP for wide area sensor and actuator networking. <span class='html-italic'>EURASIP J. Wirel. Commun. Netw.</span> <b>2012</b>, <span class='html-italic'>2012</span>, 121. [<a href="https://scholar.google.com/scholar_lookup?title=Using+RELOAD+and+CoAP+for+wide+area+sensor+and+actuator+networking&author=M%C3%A4enp%C3%A4%C3%A4,+J.&author=Bolonio,+J.&author=Loreto,+S.&publication_year=2012&journal=EURASIP+J.+Wirel.+Commun.+Netw.&volume=2012&pages=121&doi=10.1186/1687-1499-2012-121" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1186/1687-1499-2012-121" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B138-jsan-02-00235' class='html-xxx' data-content='138.'>Rahman, A.; Gellert, D.; Seed, D.N. Gateway Architecture for Interconnecting Smart Objects to the Internet. In Proceedings of the Workshop Interconnecting Smart Objects with the Internet, Prague, Czech Republic, 25 March 2011.</li><li id='B139-jsan-02-00235' class='html-xxx' data-content='139.'>Villaverde, B.C.; Pesch, D.; De Paz Alberola, R.; Fedor, S.; Boubekeur, M. Constrained Application Protocol for Low Power Embedded Networks: A Survey. In Proceedings of the Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, Palermo, Italy, 4–6 July 2012; pp. 702–707.</li><li id='B140-jsan-02-00235' class='html-xxx' data-content='140.'>Barbieri, D. CoAP Improvements to Meet Embedded Device Hardware Constraints. In Proceedings of the Workshop Interconnecting Smart Objects with the Internet, Prague, Czech Republic, March 2011.</li><li id='B141-jsan-02-00235' class='html-xxx' data-content='141.'>Yahyaoui, H.; Maamar, Z.; Boukadi, K. A framework to coordinate web services in composition scenarios. <span class='html-italic'>Int. J. Web Grid Serv.</span> <b>2010</b>, <span class='html-italic'>6</span>, 95–123. [<a href="https://scholar.google.com/scholar_lookup?title=A+framework+to+coordinate+web+services+in+composition+scenarios&author=Yahyaoui,+H.&author=Maamar,+Z.&author=Boukadi,+K.&publication_year=2010&journal=Int.+J.+Web+Grid+Serv.&volume=6&pages=95%E2%80%93123" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B142-jsan-02-00235' class='html-xxx' data-content='142.'>Gao, L.; Urban, S.D.; Ramachandran, J. A survey of transactional issues for Web Service composition and recovery. <span class='html-italic'>Int. J. Web Grid Serv.</span> <b>2011</b>, <span class='html-italic'>7</span>, 331. [<a href="https://scholar.google.com/scholar_lookup?title=A+survey+of+transactional+issues+for+Web+Service+composition+and+recovery&author=Gao,+L.&author=Urban,+S.D.&author=Ramachandran,+J.&publication_year=2011&journal=Int.+J.+Web+Grid+Serv.&volume=7&pages=331&doi=10.1504/IJWGS.2011.044709" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1504/IJWGS.2011.044709" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B143-jsan-02-00235' class='html-xxx' data-content='143.'>Kim, W. Cloud computing adoption. <span class='html-italic'>Int. J. Web Grid Serv.</span> <b>2011</b>, <span class='html-italic'>7</span>, 225–245. [<a href="https://scholar.google.com/scholar_lookup?title=Cloud+computing+adoption&author=Kim,+W.&publication_year=2011&journal=Int.+J.+Web+Grid+Serv.&volume=7&pages=225%E2%80%93245&doi=10.1504/IJWGS.2011.043529" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1504/IJWGS.2011.043529" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B144-jsan-02-00235' class='html-xxx' data-content='144.'>Rodriguez, J.M.; Zunino, A.; Campo, M. Introducing mobile devices into Grid systems: A survey. <span class='html-italic'>Int. J. Web Grid Serv.</span> <b>2011</b>, <span class='html-italic'>7</span>, 1–40. [<a href="https://scholar.google.com/scholar_lookup?title=Introducing+mobile+devices+into+Grid+systems:+A+survey&author=Rodriguez,+J.M.&author=Zunino,+A.&author=Campo,+M.&publication_year=2011&journal=Int.+J.+Web+Grid+Serv.&volume=7&pages=1%E2%80%9340&doi=10.1504/IJWGS.2011.038386" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1504/IJWGS.2011.038386" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B145-jsan-02-00235' class='html-xxx' data-content='145.'>Dunkels, A.; Eriksson, J.; Tsiftes, N. Low-power Interoperability for the IPv6-Based Internet of Things. In Proceedings of the 10th Scandinavian Workshop on Wireless Ad-hoc Networks (ADHOC’11), Stockholm, Sweden, 10–11 May 2011.</li><li id='B146-jsan-02-00235' class='html-xxx' data-content='146.'>Barnaghi, P.; Wang, W.; Henson, C.; Taylor, K. Semantics for the Internet of Things. <span class='html-italic'>Int. J. Semant. Web Inf. Syst.</span> <b>2012</b>, <span class='html-italic'>8</span>, 1–21. [<a href="https://scholar.google.com/scholar_lookup?title=Semantics+for+the+Internet+of+Things&author=Barnaghi,+P.&author=Wang,+W.&author=Henson,+C.&author=Taylor,+K.&publication_year=2012&journal=Int.+J.+Semant.+Web+Inf.+Syst.&volume=8&pages=1%E2%80%9321" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B147-jsan-02-00235' class='html-xxx' data-content='147.'>Shelby, Z.; Chauvenet, C. The IPSO Application Framework. 2012; draft-ipso-app-framework-04. [<a href="https://scholar.google.com/scholar_lookup?title=The+IPSO+Application+Framework&author=Shelby,+Z.&author=Chauvenet,+C.&publication_year=2012" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>]</li><li id='B148-jsan-02-00235' class='html-xxx' data-content='148.'>Abdulrazak, B.; Chikhaoui, B.; Vallerand, C.G.; Fraikin, B. A standard ontology for smart spaces. <span class='html-italic'>Int. J. Web Grid Serv.</span> <b>2010</b>, <span class='html-italic'>6</span>, 244. [<a href="https://scholar.google.com/scholar_lookup?title=A+standard+ontology+for+smart+spaces&author=Abdulrazak,+B.&author=Chikhaoui,+B.&author=Vallerand,+C.G.&author=Fraikin,+B.&publication_year=2010&journal=Int.+J.+Web+Grid+Serv.&volume=6&pages=244&doi=10.1504/IJWGS.2010.035091" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1504/IJWGS.2010.035091" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B149-jsan-02-00235' class='html-xxx' data-content='149.'>Pfisterer, D.; Romer, K.; Bimschas, D.; Kleine, O.; Mietz, R.; Truong, C.; Hasemann, H.; Kröller, A.; Pagel, M.; Hauswirth, M.; <span class='html-italic'>et al.</span> SPITFIRE: Toward a semantic web of things. <span class='html-italic'>IEEE Commun. Mag.</span> <b>2011</b>, <span class='html-italic'>49</span>, 40–48. [<a href="https://scholar.google.com/scholar_lookup?title=SPITFIRE:+Toward+a+semantic+web+of+things&author=Pfisterer,+D.&author=Romer,+K.&author=Bimschas,+D.&author=Kleine,+O.&author=Mietz,+R.&author=Truong,+C.&author=Hasemann,+H.&author=Kr%C3%B6ller,+A.&author=Pagel,+M.&author=Hauswirth,+M.&publication_year=2011&journal=IEEE+Commun.+Mag.&volume=49&pages=40%E2%80%9348&doi=10.1109/MCOM.2011.6069708" class='google-scholar' target='_blank' rel='noopener noreferrer'>Google Scholar</a>] [<a href="https://dx.doi.org/10.1109/MCOM.2011.6069708" class='cross-ref' target='_blank' rel='noopener noreferrer'>CrossRef</a>]</li><li id='B150-jsan-02-00235' class='html-xxx' data-content='150.'>SweoIG/TaskForces/CommunityProjects/LinkingOpenData. W3C Wiki. Available online: <a href='http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData' target='_blank' rel="noopener noreferrer" >http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData</a> (accessed on 21 December 2012).</li><li id='B151-jsan-02-00235' class='html-xxx' data-content='151.'>Cosm. Internet of Things Platform Connecting Devices and Apps for Real-Time Control and Data Storage. Available online: <a href='https://cosm.com/' target='_blank' rel="noopener noreferrer" >https://cosm.com/</a> (accessed on 21 December 2012).</li><li id='B152-jsan-02-00235' class='html-xxx' data-content='152.'>solace Info Page. Available online: <a href='https://www.ietf.org/mailman/listinfo/solace' target='_blank' rel="noopener noreferrer" >https://www.ietf.org/mailman/listinfo/solace</a> (accessed on 27 December 2012).</li><li id='B153-jsan-02-00235' class='html-xxx' data-content='153.'>Ishaq, I.; Hoebeke, J.; Moerman, I.; Demeester, P. Internet of Things Virtual Networks: Bringing Network Virtualization to Constrained Devices. In Proceedings of the IEEE International Conference on Cyber, Physical and Social Computing, Besançon, France, 20–23 November 2012.</li><li id='B154-jsan-02-00235' class='html-xxx' data-content='154.'>The DisSeNT project. Available online: <a href='http://distrinet.cs.kuleuven.be/software/dissent/' target='_blank' rel="noopener noreferrer" >http://distrinet.cs.kuleuven.be/software/dissent/</a> (accessed on 10 December 2012).</li></ol></section> <section><p id="html-copyright">© 2013 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 license (http://creativecommons.org/licenses/by/3.0/).</p></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#dde2fbbcb0ade6aea8bfb7b8bea9e09bafb2b0f8efed90998d94f8ee9cf8efedf8efef9498899bf8efed8ea9bcb3b9bcafb9b4a7bca9b4b2b3f8efedb4b3f8efeda9b5b8f8efed9bb4b8b1b9f8efedb2bbf8efeda9b5b8f8efedf8efed94b3a9b8afb3b8a9f8efedb2bbf8efed89b5b4b3baaef8efedf8efe594b289f8efe4f8ee9cf8efed9cf8efed8ea8afabb8a4fbaca8b2a9e6fbbcb0ade6bfb2b9a4e0b5a9a9adaee7f2f2aaaaaaf3b0b9adb4f3beb2b0f2e8ede8e5eff8ee9cf8ed9cf8ed9c9498899bf8efed8ea9bcb3b9bcafb9b4a7bca9b4b2b3f8efedb4b3f8efeda9b5b8f8efed9bb4b8b1b9f8efedb2bbf8efeda9b5b8f8efedf8efed94b3a9b8afb3b8a9f8efedb2bbf8efed89b5b4b3baaef8efedf8efe594b289f8efe4f8ee9cf8efed9cf8efed8ea8afabb8a4f8ed9cf8ed9c9cbfaea9afbcbea9f8ee9cf8efed8eb0bcafa9f8efedb8b0bfb8b9b9b8b9f8efedb2bfb7b8bea9aef8efedaab4b1b1f8efedbfb8beb2b0b8f8efedbcb3f8efedb4b0adb2afa9bcb3a9f8efedadbcafa9f8efedb2bbf8efedaab5bca9f8efedb4aef8efedbebcb1b1b8b9f8efeda9b5b8f8efed94b3a9b8afb3b8a9f8efedb2bbf8efed89b5b4b3baaef3f8efed95b2aab8abb8aff8ef9ef8efeda9b5b8f8efedb4b3a9b8baafbca9b4b2b3f8efedb2bbf8efedb8b0bfb8b9b9b8b9f8efedb9b8abb4beb8aef8efedb4b3a9b2f8efeda9b5b8f8efed94b3a9b8afb3b8a9f8efedb4b3a9afb2b9a8beb8aef8efedaeb8abb8afbcb1f8efedbeb5bcb1b1b8b3bab8aef8ef9ef8efedaeb4b3beb8f8efedb0bcb3a4f8efedb2bbf8efeda9b5b8f8efedb8a5b4aea9b4b3baf8efed94b3a9b8afb3b8a9f8efeda9b8beb5b3b2b1b2bab4b8aef8efedbcb3b9f8efedadafb2a9b2beb2b1aef8efedaab8afb8f8efedb3b2a9f8efedb9b8aeb4bab3b8b9f8efedbbb2aff8efeda9b5b4aef8efedbeb1bcaeaef8efedb2bbf8efedb9b8abb4beb8aef3f8efed94b3f8efeda9b5b8f8efedadbcaea9f8efedbbb8aaf8efeda4b8bcafaef8ef9ef8efeda9b5b8afb8f8efedb5bcabb8f8efedbfb8b8b3f8efedb0bcb3a4f8efedb8bbbbb2afa9aef8efeda9b2f8efedb8b3bcbfb1b8f8efeda9b5b8f8efedb8a5a9b8b3aeb4b2b3f8efedb2bbf8efed94b3a9b8afb3b8a9f8efeda9b8beb5b3b2b1b2bab4b8aef8efeda9b2f8efedbeb2b3aea9afbcb4b3b8b9f8efedb9b8abb4beb8aef3f8efed94b3b4a9b4bcb1b1a4f8ef9ef8efeda9b5b4aef8efedafb8aea8b1a9b8b9f8efedb4b3f8efedadafb2adafb4b8a9bcafa4f8efedadafb2a9b2beb2b1aef8efedbcb3b9f8efedbcafbeb5b4a9b8bea9a8afb8aef3f8efed91bca9b8aff8ef9ef8efeda9b5b8f8efedb4b3a9b8baafbca9b4b2b3f8efedb2bbf8efedbeb2b3aea9afbcb4b3b8b9f8efedb9b8abb4beb8aef8efedb4b3a9b2f8efeda9b5b8f8efed94b3a9b8afb3b8a9f8efedaabcaef8efedb8b0bfafbcbeb8b9f8efedbfa4f8efed9498899bf8ef9ef8efedb0b2abb4b3baf8efeda9b2aabcafb9aef8efedaea9bcb3b9bcafb9b4a7b8b9f8efed948df0bfbcaeb8b9f8efedadafb2a9b2beb2b1aef3f8efed94b3f8efeda9b5b4aef8efedadbcadb8aff8ef9ef8efedaab8f8efedaab4b1b1f8efedbfafb4b8bbb1a4f8efedafb8abb4b8aaf8efeda9b5b8f8efedb5b4aea9b2afa4f8efedb2bbf8efedb4b3a9b8baafbca9b4b3baf8efedbeb2b3aea9afbcb4b3b8b9f8efedb9b8abb4beb8aef8efedb4b3a9b2f8efeda9b5b8f8efed94b3a9b8afb3b8a9f8ef9ef8efedbbb2b1b1b2aab8b9f8efedbfa4f8efedbcb3f8efedb8a5a9b8b3aeb4abb8f8efedb2abb8afabb4b8aaf8efedb2bbf8efed9498899bf8efedaea9bcb3b9bcafb9b4a7bca9b4b2b3f8efedaab2afb6f8efedb4b3f8efeda9b5b8f8efedeb91b28a8d9c93f8ef9ef8efed8f929191f8efedbcb3b9f8efed9eb28f98f8efedaab2afb6b4b3baf8efedbaafb2a8adaef3f8efed89b5b4aef8efedb4aef8efedbeb2b0adb1b8b0b8b3a9b8b9f8efedaab4a9b5f8efedbcf8efedbfafb2bcb9f8efedb2abb8afabb4b8aaf8efedb2bbf8efedafb8b1bca9b8b9f8efedafb8aeb8bcafbeb5f8efedafb8aea8b1a9aef8efeda9b5bca9f8efedb4b1b1a8aea9afbca9b8f8efedb5b2aaf8efeda9b5b4aef8efedaab2afb6f8efedbebcb3f8efedbfb8f8efedb8a5a9b8b3b9b8b9f8efedb2aff8efeda8aeb8b9f8efeda9b2f8efeda9bcbeb6b1b8f8efedb2a9b5b8aff8efedadafb2bfb1b8b0aef8efedbcb3b9f8efedaab4a9b5f8efedbcf8efedb9b4aebea8aeaeb4b2b3f8efedb2b3f8efedb2adb8b3f8efedb4aeaea8b8aef8efedbcb3b9f8efedbeb5bcb1b1b8b3bab8aef3f8efed9caef8efedaea8beb5f8efeda9b5b8f8efedbcb4b0f8efedb2bbf8efeda9b5b4aef8efedadbcadb8aff8efedb4aef8efeda9aab2bbb2b1b9f8ee9cf8efedbcadbcafa9f8efedbbafb2b0f8efedbab4abb4b3baf8efedafb8bcb9b8afaef8efedaeb2b1b4b9f8efedb4b3aeb4bab5a9aef8efedb4b3f8efed9498899bf8efedaea9bcb3b9bcafb9b4a7bca9b4b2b3f8efedaab2afb6f8efedb2b3f8efeda9b5b8f8efed94b3a9b8afb3b8a9f8efedb2bbf8efed89b5b4b3baaef8ef9ef8efedb4a9f8efedbcb1aeb2f8efedbcb4b0aef8efeda9b2f8efedb8b3beb2a8afbcbab8f8efedafb8bcb9b8afaef8efeda9b2f8efedbba8afa9b5b8af86f3f3f380" title="Email"> <i class="fa fa-envelope-square" style="font-size: 30px;"></i> </a> <a href="https://twitter.com/intent/tweet?text=IETF+Standardization+in+the+Field+of+the++Internet+of+Things+%28IoT%29%3A+A+Survey&hashtags=mdpijsan&url=https%3A%2F%2Fwww.mdpi.com%2F50582&via=JSAN_MDPI" 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%2F50582&title=IETF%20Standardization%20in%20the%20Field%20of%20the%20%20Internet%20of%20Things%20%28IoT%29%3A%20A%20Survey%26source%3Dhttps%3A%2F%2Fwww.mdpi.com%26summary%3DSmart%20embedded%20objects%20will%20become%20an%20important%20part%20of%20what%20is%20called%20the%20Internet%20of%20Things.%20However%2C%20the%20integration%20of%20embedded%20devices%20into%20the%20Internet%20introduces%20several%20challenges%2C%20since%20many%20of%20the%20existing%20Internet%20technologies%20and%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/50582" 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/50582" 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/50582" 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> Ishaq, I.; Carels, D.; Teklemariam, G.K.; Hoebeke, J.; Abeele, F.V.d.; Poorter, E.D.; Moerman, I.; Demeester, P. IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>J. Sens. Actuator Netw.</em> <b>2013</b>, <em>2</em>, 235-287. https://doi.org/10.3390/jsan2020235 </p> <div style="display: block"> <b>AMA Style</b><br> <p> Ishaq I, Carels D, Teklemariam GK, Hoebeke J, Abeele FVd, Poorter ED, Moerman I, Demeester P. IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>Journal of Sensor and Actuator Networks</em>. 2013; 2(2):235-287. https://doi.org/10.3390/jsan2020235 </p> <b>Chicago/Turabian Style</b><br> <p> Ishaq, Isam, David Carels, Girum K. Teklemariam, Jeroen Hoebeke, Floris Van den Abeele, Eli De Poorter, Ingrid Moerman, and Piet Demeester. 2013. "IETF Standardization in the Field of the Internet of Things (IoT): A Survey" <em>Journal of Sensor and Actuator Networks</em> 2, no. 2: 235-287. https://doi.org/10.3390/jsan2020235 </p> <b>APA Style</b><br> <p> Ishaq, I., Carels, D., Teklemariam, G. K., Hoebeke, J., Abeele, F. V. d., Poorter, E. D., Moerman, I., & Demeester, P. (2013). IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>Journal of Sensor and Actuator Networks</em>, <em>2</em>(2), 235-287. https://doi.org/10.3390/jsan2020235 </p> </div> </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/jsan/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="25291"> <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="25291"> <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="25291"> <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> Ishaq, I.; Carels, D.; Teklemariam, G.K.; Hoebeke, J.; Abeele, F.V.d.; Poorter, E.D.; Moerman, I.; Demeester, P. IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>J. Sens. Actuator Netw.</em> <b>2013</b>, <em>2</em>, 235-287. https://doi.org/10.3390/jsan2020235 </p> <div style="display: block"> <b>AMA Style</b><br> <p> Ishaq I, Carels D, Teklemariam GK, Hoebeke J, Abeele FVd, Poorter ED, Moerman I, Demeester P. IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>Journal of Sensor and Actuator Networks</em>. 2013; 2(2):235-287. https://doi.org/10.3390/jsan2020235 </p> <b>Chicago/Turabian Style</b><br> <p> Ishaq, Isam, David Carels, Girum K. Teklemariam, Jeroen Hoebeke, Floris Van den Abeele, Eli De Poorter, Ingrid Moerman, and Piet Demeester. 2013. "IETF Standardization in the Field of the Internet of Things (IoT): A Survey" <em>Journal of Sensor and Actuator Networks</em> 2, no. 2: 235-287. https://doi.org/10.3390/jsan2020235 </p> <b>APA Style</b><br> <p> Ishaq, I., Carels, D., Teklemariam, G. K., Hoebeke, J., Abeele, F. V. d., Poorter, E. D., Moerman, I., & Demeester, P. (2013). IETF Standardization in the Field of the Internet of Things (IoT): A Survey. <em>Journal of Sensor and Actuator Networks</em>, <em>2</em>(2), 235-287. https://doi.org/10.3390/jsan2020235 </p> </div> </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/jsan">J. Sens. Actuator Netw.</a></em>, EISSN 2224-2708, Published by MDPI </span> <div class="large-right"> <span> <a href="/rss/journal/jsan" class="rss-link">RSS</a> </span> <span> <a href="/journal/jsan/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?1732884643" 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#310e17505c410a4244535b5452450c77435e5c1403017c756178140270140301140303787465771403016245505f55504355584b5045585e5f140301585f1403014559541403017758545d551403015e57140301455954140301140301785f4554435f54451403015e571403016559585f5642140301140309785e65140308140270140301701403016244434754481740445e450a17505c410a535e55480c59454541420b1e1e4646461f5c5541581f525e5c1e0401040903140270140170140170787465771403016245505f55504355584b5045585e5f140301585f1403014559541403017758545d551403015e57140301455954140301140301785f4554435f54451403015e571403016559585f5642140301140309785e65140308140270140301701403016244434754483b3b625c504345140301545c5354555554551403015e535b5452454214030146585d5d1403015354525e5c54140301505f140301585c415e4345505f45140301415043451403015e5714030146595045140301584214030152505d5d5455140301455954140301785f4554435f54451403015e571403016559585f56421f140301795e4654475443140372140301455954140301585f455456435045585e5f1403015e57140301545c53545555545514030155544758525442140301585f455e140301455954140301785f4554435f5445140301585f45435e55445254421403014254475443505d1403015259505d5d545f56544214037214030142585f52541403015c505f481403015e571403014559541403015449584245585f56140301785f4554435f5445140301455452595f5e5d5e56585442140301505f5514030141435e455e525e5d42140301465443541403015f5e4514030155544258565f5455140301575e4314030145595842140301525d5042421403015e57140301555447585254421f140301785f1403014559541403014150424514030157544614030148545043421403721403014559544354140301595047541403015354545f1403015c505f481403015457575e434542140301455e140301545f50535d54140301455954140301544945545f42585e5f1403015e57140301785f4554435f5445140301455452595f5e5d5e56585442140301455e140301525e5f42454350585f5455140301555447585254421f140301785f584558505d5d4814037214030145595842140301435442445d455455140301585f14030141435e414358544550434814030141435e455e525e5d42140301505f55140301504352595845545245444354421f1403017d50455443140372140301455954140301585f455456435045585e5f1403015e57140301525e5f42454350585f545514030155544758525442140301585f455e140301455954140301785f4554435f5445140301465042140301545c5343505254551403015348140301787465771403721403015c5e47585f56140301455e46504355421403014245505f55504355584b545514030178611c535042545514030141435e455e525e5d421f140301785f140301455958421403014150415443140372140301465414030146585d5d14030153435854575d48140301435447585446140301455954140301595842455e43481403015e57140301585f455456435045585f56140301525e5f42454350585f545514030155544758525442140301585f455e140301455954140301785f4554435f5445140372140301575e5d5d5e4654551403015348140301505f140301544945545f425847541403015e475443475854461403015e57140301787465771403014245505f55504355584b5045585e5f140301465e435a140301585f140301455954140301077d5e6661707f140372140301637e7d7d140301505f55140301725e6374140301465e435a585f5614030156435e4441421f140301655958421403015842140301525e5c415d545c545f455455140301465845591403015014030153435e50551403015e475443475854461403015e5714030143545d504554551403014354425450435259140301435442445d454214030145595045140301585d5d44424543504554140301595e4614030145595842140301465e435a14030152505f1403015354140301544945545f5554551403015e4314030144425455140301455e1403014550525a5d541403015e4559544314030141435e535d545c42140301505f55140301465845591403015014030155584252444242585e5f1403015e5f1403015e41545f140301584242445442140301505f551403015259505d5d545f5654421f14030170421403014244525914030145595414030150585c1403015e57140301455958421403014150415443140301584214030145465e575e5d55140270140301504150434514030157435e5c140301565847585f5614030143545055544342140301425e5d5855140301585f425856594542140301585f140301787465771403014245505f55504355584b5045585e5f140301465e435a1403015e5f140301455954140301785f4554435f54451403015e571403016559585f56421403721403015845140301505d425e14030150585c42140301455e140301545f525e444350565414030143545055544342140301455e140301574443455954431403015449415d5e43541403014559546a1f1f1f6c" title="Email"> <i class="fa fa-envelope-square" style="font-size: 30px;"></i> </a> <a href="https://twitter.com/intent/tweet?text=IETF+Standardization+in+the+Field+of+the++Internet+of+Things+%28IoT%29%3A+A+Survey&hashtags=mdpijsan&url=https%3A%2F%2Fwww.mdpi.com%2F50582&via=JSAN_MDPI" 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%2F50582&title=IETF%20Standardization%20in%20the%20Field%20of%20the%20%20Internet%20of%20Things%20%28IoT%29%3A%20A%20Survey%26source%3Dhttps%3A%2F%2Fwww.mdpi.com%26summary%3DSmart%20embedded%20objects%20will%20become%20an%20important%20part%20of%20what%20is%20called%20the%20Internet%20of%20Things.%20However%2C%20the%20integration%20of%20embedded%20devices%20into%20the%20Internet%20introduces%20several%20challenges%2C%20since%20many%20of%20the%20existing%20Internet%20technologies%20and%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/50582" 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/50582" 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/50582" 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/50582" 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/50582" /> </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/50582</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="120" y="0" width="12" height="12" /> <rect x="168" y="0" width="12" height="12" /> <rect x="180" 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="108" y="12" width="12" height="12" /> <rect x="120" y="12" width="12" height="12" /> <rect x="156" y="12" width="12" height="12" /> <rect x="180" y="12" width="12" height="12" /> <rect x="192" 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="96" y="24" width="12" height="12" /> <rect x="168" y="24" width="12" height="12" /> <rect x="180" 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="108" y="36" width="12" height="12" /> <rect x="144" y="36" width="12" height="12" /> <rect x="168" 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="108" y="48" width="12" height="12" /> <rect x="120" 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="180" 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="120" y="60" width="12" height="12" /> <rect x="144" y="60" width="12" height="12" /> <rect x="180" 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="120" y="84" width="12" height="12" /> <rect x="132" y="84" width="12" height="12" /> <rect x="168" y="84" width="12" height="12" /> <rect x="180" y="84" width="12" height="12" /> <rect x="192" 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="36" y="96" width="12" height="12" /> <rect x="72" y="96" width="12" height="12" /> <rect x="84" 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="156" y="96" width="12" height="12" /> <rect x="168" y="96" width="12" height="12" /> <rect x="180" y="96" width="12" height="12" /> <rect x="192" 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="264" y="96" width="12" height="12" /> <rect x="276" y="96" width="12" height="12" /> <rect x="36" y="108" width="12" height="12" /> <rect x="48" y="108" width="12" height="12" /> <rect x="96" y="108" width="12" height="12" /> <rect x="108" y="108" width="12" height="12" /> <rect x="132" y="108" width="12" height="12" /> <rect x="144" y="108" width="12" height="12" /> <rect x="192" y="108" width="12" height="12" /> <rect x="216" 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="12" y="120" width="12" height="12" /> <rect x="36" y="120" width="12" height="12" /> <rect x="60" 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="132" y="120" width="12" height="12" /> <rect x="144" y="120" width="12" height="12" /> <rect x="156" y="120" width="12" height="12" /> <rect x="204" y="120" width="12" height="12" /> <rect x="216" y="120" width="12" height="12" /> <rect x="276" y="120" width="12" height="12" /> <rect x="288" y="120" width="12" height="12" /> <rect x="24" y="132" width="12" height="12" /> <rect x="60" y="132" width="12" height="12" /> <rect x="84" y="132" width="12" height="12" /> <rect x="96" y="132" width="12" height="12" /> <rect x="108" y="132" width="12" height="12" /> <rect x="120" y="132" width="12" height="12" /> <rect x="132" y="132" width="12" height="12" /> <rect x="144" y="132" width="12" height="12" /> <rect x="156" y="132" width="12" height="12" /> <rect x="180" 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="240" y="132" width="12" height="12" /> <rect x="24" y="144" width="12" height="12" /> <rect x="72" 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="144" y="144" width="12" height="12" /> <rect x="156" y="144" width="12" height="12" /> <rect x="168" y="144" width="12" height="12" /> <rect x="204" y="144" width="12" height="12" /> <rect x="216" y="144" width="12" height="12" /> <rect x="228" y="144" width="12" height="12" /> <rect x="252" y="144" width="12" height="12" /> <rect x="276" y="144" width="12" height="12" /> <rect x="288" y="144" width="12" height="12" /> <rect x="48" y="156" width="12" height="12" /> <rect x="84" y="156" width="12" height="12" /> <rect x="108" y="156" width="12" height="12" /> <rect x="132" 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="252" y="156" width="12" height="12" /> <rect x="264" 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="48" 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="120" 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="192" y="168" width="12" height="12" /> <rect x="216" y="168" width="12" height="12" /> <rect x="228" y="168" width="12" height="12" /> <rect x="240" 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="12" y="180" width="12" height="12" /> <rect x="36" y="180" width="12" height="12" /> <rect x="60" y="180" width="12" height="12" /> <rect x="108" y="180" width="12" height="12" /> <rect x="120" y="180" width="12" height="12" /> <rect x="132" y="180" width="12" height="12" /> <rect x="156" y="180" width="12" height="12" /> <rect x="180" y="180" width="12" height="12" /> <rect x="192" y="180" width="12" height="12" /> <rect x="216" y="180" width="12" height="12" /> <rect x="240" y="180" width="12" height="12" /> <rect x="276" 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="36" y="192" width="12" height="12" /> <rect x="72" y="192" width="12" height="12" /> <rect x="96" y="192" width="12" height="12" /> <rect x="108" 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="168" 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="252" y="192" width="12" height="12" /> <rect x="264" 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="132" y="204" width="12" height="12" /> <rect x="156" y="204" width="12" height="12" /> <rect x="180" 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="252" 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="96" 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="156" y="216" width="12" height="12" /> <rect x="180" 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="252" y="216" width="12" height="12" /> <rect x="276" 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="108" y="228" width="12" height="12" /> <rect x="132" y="228" width="12" height="12" /> <rect x="144" 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="192" y="228" width="12" height="12" /> <rect x="240" y="228" width="12" height="12" /> <rect x="252" y="228" width="12" height="12" /> <rect x="264" y="228" width="12" height="12" /> <rect x="276" 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="108" 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="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="252" 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="96" y="252" width="12" height="12" /> <rect x="156" y="252" width="12" height="12" /> <rect x="168" y="252" width="12" height="12" /> <rect x="204" y="252" width="12" height="12" /> <rect x="228" y="252" width="12" height="12" /> <rect x="240" y="252" width="12" height="12" /> <rect x="252" y="252" width="12" height="12" /> <rect x="264" 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="132" y="264" width="12" height="12" /> <rect x="144" y="264" width="12" height="12" /> <rect x="156" y="264" width="12" height="12" /> <rect x="180" y="264" width="12" height="12" /> <rect x="192" 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="264" 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="156" y="276" width="12" height="12" /> <rect x="168" y="276" width="12" height="12" /> <rect x="180" 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="252" 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="144" y="288" width="12" height="12" /> <rect x="168" y="288" width="12" height="12" /> <rect x="180" y="288" width="12" height="12" /> <rect x="192" y="288" width="12" height="12" /> <rect x="228" y="288" width="12" height="12" /> <rect x="276" 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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery-1.12.4.min.js?4f252523d4af0b47?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/foundation-5.5.3.min.js?6b2ec41c18b29054?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/foundation-5.5.3.equalizer.min.js?0f6c549b75ec554c?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery.multiselect.js?0edd3998731d1091?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/jquery.cycle2.min.js?63413052928f97ee?1732884643"></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 = "jsan"; $(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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/mdpi.js?c267ce58392b15da?1732884643"></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?1732884643'></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/affix.js?ac4ea55275297c15?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/clipboard.min.js?3f3688138a1b9fc4?1732884643"></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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/slick.min.js?d5a61c749e44e471?1732884643"></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/25291/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/jsan2020235' }], }; }; </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: "/2224-2708/2/2/235" + "/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?1732884643\" height=\"20\" width=\"20\" alt=\"Processing...\" style=\"vertical-align:middle; margin-right:0.6em;\">"; var url = "/citedby/10.3390%252Fjsan2020235/138"; $.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?1732884643\" height=\"20\" width=\"20\" alt=\"Processing...\" style=\"vertical-align:middle; margin-right:0.6em;\">"; $.ajax({ method : "POST", url : "/cite-count/10.3390%252Fjsan2020235", 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?1732884643"></script><script type="text/javascript" src="https://pub.mdpi-res.com/assets/js/third-party/highcharts/modules/exporting.js?944dc938d06de3a8?1732884643"></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('/2224-2708/2/2/235/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/25291/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/25291/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?1732884643"><link rel="stylesheet" href="https://pub.mdpi-res.com/assets/css/magnific-popup.min.css?04d343e036f8eecd?1732884643"><script type="text/javascript" src="https://pub.mdpi-res.com/assets/js/magnific-popup.min.js?2be3d9e7dc569146?1732884643"></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?1732884643"> <script src="https://pub.mdpi-res.com/assets/js/vmap/jquery.vmap.min.js?935f68d33bdd88a1?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/vmap/jquery.vmap.world.js?16677403c0e1bef1?1732884643"></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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/storage.js?e9b262d3a3476d25?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/jquery-scrollspy.js?09cbaec0dbb35a67?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/magnific-popup.js?4a09c18460afb26c?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/xmltohtml/underscore.js?f893e294cde60c24?1732884643"></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?1732884643"></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?1732884643"></script> <script src="https://pub.mdpi-res.com/assets/js/ie8/jquery.xdomainrequest.min.js?a945caca315782b0?1732884643"></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:'8ec5db92cc9c9f7a',t:'MTczMzI1MzAzNi4wMDAwMDA='};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>