CINXE.COM
Berkeley Netsys Lab
<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en-US"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en-US"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9" lang="en-US"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]--> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width"> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="https://netsys.cs.berkeley.edu/xmlrpc.php"> <!--wordpress head--> <title>Berkeley Netsys Lab</title> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//use.fontawesome.com' /> <link rel="alternate" type="application/rss+xml" title="Berkeley Netsys Lab » Feed" href="https://netsys.cs.berkeley.edu/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/netsys.cs.berkeley.edu\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='pt-cv-public-style-css' href='https://netsys.cs.berkeley.edu/wp-content/plugins/content-views-query-and-display-post-page/public/assets/css/cv.css?ver=4.1' type='text/css' media='all' /> <link rel='stylesheet' id='pt-cv-public-pro-style-css' href='https://netsys.cs.berkeley.edu/wp-content/plugins/pt-content-views-pro/public/assets/css/cvpro.min.css?ver=7.1' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://netsys.cs.berkeley.edu/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' type='text/css' media='all' /> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='rmp-material-icons-css' href='https://fonts.googleapis.com/icon?family=Material+Icons&display=auto&ver=4.4.2' type='text/css' media='all' /> <link rel='stylesheet' id='rmp-font-awesome-css' href='https://use.fontawesome.com/releases/v5.13.0/css/all.css?ver=4.4.2' type='text/css' media='all' /> <link rel='stylesheet' id='rmp-glyph-icons-css' href='https://netsys.cs.berkeley.edu/wp-content/plugins/responsive-menu-pro/v4.0.0/assets/admin/scss/glyphicons.css?ver=4.4.2' type='text/css' media='all' /> <link rel='stylesheet' id='dashicons-css' href='https://netsys.cs.berkeley.edu/wp-includes/css/dashicons.min.css?ver=6.7.2' type='text/css' media='all' /> <link rel='stylesheet' id='rmp-menu-dynamic-styles-css' href='https://netsys.cs.berkeley.edu/wp-content/uploads/rmp-menu/css/rmp-menu.css?ver=15.21.17' type='text/css' media='all' /> <link rel='stylesheet' id='parent-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/style.css?ver=6.7.2' type='text/css' media='all' /> <link rel='stylesheet' id='child-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/netsys-theme/style.css?ver=6.7.2' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/css/bootstrap.min.css?ver=3.4.1' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-theme-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/css/bootstrap-theme.min.css?ver=3.4.1' type='text/css' media='all' /> <link rel='stylesheet' id='fontawesome-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/css/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' /> <link rel='stylesheet' id='main-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/css/main.css?ver=1.0' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-basic-style-css' href='https://netsys.cs.berkeley.edu/wp-content/themes/netsys-theme/style.css?ver=1.0' type='text/css' media='all' /> <!-- Google tag (gtag.js) snippet added by Site Kit --> <!-- Google Analytics snippet added by Site Kit --> <script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=GT-WK25VRHN" id="google_gtagjs-js" async></script> <script type="text/javascript" id="google_gtagjs-js-after"> /* <![CDATA[ */ window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} gtag("set","linker",{"domains":["netsys.cs.berkeley.edu"]}); gtag("js", new Date()); gtag("set", "developer_id.dZTNiMT", true); gtag("config", "GT-WK25VRHN"); window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); } /* ]]> */ </script> <!-- End Google tag (gtag.js) snippet added by Site Kit --> <link rel="https://api.w.org/" href="https://netsys.cs.berkeley.edu/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://netsys.cs.berkeley.edu/wp-json/wp/v2/pages/930" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://netsys.cs.berkeley.edu/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <link rel="canonical" href="https://netsys.cs.berkeley.edu/" /> <link rel='shortlink' href='https://netsys.cs.berkeley.edu/' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://netsys.cs.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fnetsys.cs.berkeley.edu%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://netsys.cs.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fnetsys.cs.berkeley.edu%2F&format=xml" /> <meta name="generator" content="Site Kit by Google 1.139.0" /><link rel="icon" href="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/11/cropped-netsys-logo-32x32.png" sizes="32x32" /> <link rel="icon" href="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/11/cropped-netsys-logo-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/11/cropped-netsys-logo-180x180.png" /> <meta name="msapplication-TileImage" content="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/11/cropped-netsys-logo-270x270.png" /> </head> <body class="home page-template page-template-page-home page-template-page-home-php page page-id-930 wp-embed-responsive"> <button type="button" aria-controls="rmp-container-968" aria-label="Menu Trigger" id="rmp_menu_trigger-968" class="rmp_menu_trigger rmp-menu-trigger-boring"> <span class="rmp-trigger-box"><span class="responsive-menu-pro-inner"></span></span> </button><div id="rmp-container-968" class="rmp-container rmp-slide-left"><div id="rmp-menu-wrap-968" class="rmp-menu-wrap"><ul id="rmp-menu-968" class="rmp-menu" role="menubar" aria-label="Main Menu"><li id="rmp-menu-item-922" class=" menu-item menu-item-type-post_type menu-item-object-page rmp-menu-item rmp-menu-top-level-item" role="none"><a href="https://netsys.cs.berkeley.edu/people/" class="rmp-menu-item-link" role="menuitem" >People</a></li><li id="rmp-menu-item-914" class=" menu-item menu-item-type-post_type menu-item-object-page rmp-menu-item rmp-menu-top-level-item" role="none"><a href="https://netsys.cs.berkeley.edu/projects/" class="rmp-menu-item-link" role="menuitem" >Projects</a></li><li id="rmp-menu-item-923" class=" menu-item menu-item-type-post_type menu-item-object-page rmp-menu-item rmp-menu-top-level-item" role="none"><a href="https://netsys.cs.berkeley.edu/past_projects/" class="rmp-menu-item-link" role="menuitem" >Past Projects</a></li><li id="rmp-menu-item-924" class=" menu-item menu-item-type-post_type menu-item-object-page rmp-menu-item rmp-menu-top-level-item" role="none"><a href="https://netsys.cs.berkeley.edu/publications/" class="rmp-menu-item-link" role="menuitem" >Publications</a></li></ul></div></div> <div class="container page-container"> <div id="navbar" class="row"> <div class="col-md-4"> <a href="/"> <img class="logo" src="/static/img/logo.png" title="Berkeley NetSys Lab"> </a> </div> <ul id="menu-primary-navigation" class="nav navbar navbar-nav"><li id="menu-item-922" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-922"><a href="https://netsys.cs.berkeley.edu/people/">People</a></li> <li id="menu-item-914" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-914"><a href="https://netsys.cs.berkeley.edu/projects/">Projects</a></li> <li id="menu-item-923" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-923"><a href="https://netsys.cs.berkeley.edu/past_projects/">Past Projects</a></li> <li id="menu-item-924" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-924"><a href="https://netsys.cs.berkeley.edu/publications/">Publications</a></li> </ul> </div><!-- end navbar--> </header> <div class="page-content"> <div class="wrapper"> <div class="row"> <style> body.home { background: url(/static/img/bg.png) repeat-x; } div.welcome-box { background: url(/static/img/soda_south.jpg) no-repeat; background-size: cover; height: 30em; } p.feat-all { padding: 1.25em; margin-bottom: -1.25em; } .news-page-post img, article .post-body img { max-width: 500px; } .project-excerpt { height: 150px; } a { color: #50758E; } .welcome-box h1 { color: #ffffff; background-color: rgba(0, 0, 0, 0.6); padding: 1em; } .welcome-box p.lead { color: #ffffff; padding: 1em; background-color: rgba(0, 0, 0, 0.6); } .sponsor { margin: .5em auto; } .logo { max-height: 80px; max-width: 300px; margin-top: .5em; } .people-pic-wrapper { width: 130px; height: 130px; text-align: center; display: table-cell; vertical-align: middle; } .people-pic { max-width: 100%; max-height: 100%; } .faculty { border: 2px solid black; } .grad { border: 2px solid #2e6da4; } .staff { border: 2px solid #00770b; } .undergrad { border: 2px solid #ddd; } .home-post { } .person { margin-bottom: 1em; } #sponsors img { max-width: 120px; } </style> <div class="row welcome-box"> <div class="col-md-12"> <div class="row"> <h1 class="col-md-8">Welcome to the Berkeley NetSys Lab</h1> </div> </div> </div> <div class = "row"> <div class = "col-md-10 home-left"> <div class="row"> <h2 class="col-md-10">Active Projects</h2> <p class="col-md-2 feat-all"> <a href="/projects" class="btn btn-block btn-default" role="btn"> view all </a> </p> </div> <div class = 'row'> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Programmable RDMA</h3> <p class="project-excerpt">We propose extensions to RDMA called Remote Memory Calls (RMCs) that allows applications to install a customized set of 1-sided RDMA operations. We are exploring how can RMCs be implemented on the forthcoming generation of SmartNICs, and we will compare its performance to pure 1-sided and 2-sided RDMA operations.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>CESSNA</h3> <p class="project-excerpt">The introduction of computational resources at the network edge allows application designers to offload computation from clients and/or servers. We propose a design called the Client-Edge-Server for Stateful Network Applications (CESSNA) for client-edge-server systems so they can tolerate edge failures and client mobility.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>CellBricks</h3> <p class="project-excerpt">We propose CellBricks, a novel cellular architecture that lowers the barrier to entry for new operators by enabling users to consume access on-demand from any available cellular operator — small or large, trusted or untrusted.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Efficient Work Stealing</h3> <p class="project-excerpt">Existing techniques such as work stealing perform well for long tasks, but can be inefficient for short tasks that take only a couple of microseconds. We explore techniques to perform load balancing more efficiently, so that requests are handled faster and cores waste fewer cycles looking for work.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Blockaid</h3> <p class="project-excerpt">Several recent laws (e.g., GDPR and CCPA) constrain how applications collect and utilize user data, and ensuring compliance to these constraints is challenging. Blockaid is a system that enforces data access policies for web applications using a proxy that interposes on the connection between the application and the database.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>RCS</h3> <p class="project-excerpt">The conventional wisdom requires that all congestion control algorithms deployed on the public Internet be TCP-friendly. We propose an alternative to the TCP-friendly paradigm that can accommodate innovation, is consistent with the Internet’s current economic model, and is feasible to deploy given current usage trends.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Persimmon</h3> <p class="project-excerpt">Distributed in-memory storage systems lose all state on failure, so recovery is expensive and data loss is always a risk. The Persimmon system leverages persistent memory (PM) to convert existing in-memory storage systems into persistent, crash-consistent versions with low overhead and minimal code changes.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Routing Resilience</h3> <p class="project-excerpt">A project in this area attempts to deliver a routing resiliency mechanism that is easily implementable, easily deployable, and easily manageable while offering packet delivery rates that rival those of the most sophisticated resiliency mechanisms.</p> </div> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Smarter Prefetching</h3> <p class="project-excerpt">We propose a smart memory prefetcher to exploit the predictability of memory access patterns in data oblivious algorithms to reduce their memory footprint, while limiting their performance degradation. It can use information garnered from one execution to accurately prefetch on subsequent executions of an application.</p> </div> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="row"> <h2 class="col-md-9" style="padding-left: .25em;">Recent Publications</h2> <p class="col-md-3 feat-all"> <a href="/publications/" class="btn btn-block btn-default" role="btn"> view all </a> </p> </div> <hr role="separator" class="divider"> <div> <h4>A Decentralized SDN Architecture for the WAN</h4> <p> Alexander Krentsel, Nitika Saran, Bikash Koley, Subhasree Mandal, Ashok Narayanan, Sylvia Ratnasamy, Ali Al-Shabibi, Anees Shaikh, Rob Shakir, Ankit Singla, Hakim Weatherspoon: A Decentralized SDN Architecture for the WAN. SIGCOMM 2024: 938-953 </p> <p> <a target = "_blank" href="https://dl.acm.org/doi/10.1145/3651890.3672257">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>A Survey on Direct-to-Device Satellite Communications: Advances, Challenges, and Prospects</h4> <p> Hannaneh B. Pasandi, Juan A. Fraire, Sylvia Ratnasamy, Hervé Rivano: A Survey on Direct-to-Device Satellite Communications: Advances, Challenges, and Prospects. LEO-NET 2024: 7-12 </p> <p> <a target = "_blank" href="https://dl.acm.org/doi/10.1145/3697253.3697265">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>An Architecture For Edge Networking Services</h4> <p> Lloyd Brown, Emily Marx, Dev Bali, Emmanuel Amaro, Debnil Sur, Ezra Kissel, Inder Monga, Ethan Katz-Bassett, Arvind Krishnamurthy, James Murphy McCauley, Tejas Narechania, Aurojit Panda, Scott Shenker: An Architecture For Edge Networking Services. SIGCOMM 2024: 645-660 </p> <p> <a target = "_blank" href="https://dl.acm.org/doi/10.1145/3651890.3672261">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Everything Everywhere All At Once: Efficient Cross-Service Program Analysis with OverSeer</h4> <p> Jiwon Park, Shadaj Laddad, Dev Bali, Wen Zhang, Scott Shenker, Matei Zaharia: Everything Everywhere All At Once: Efficient Cross-Service Program Analysis with OverSeer. ASE Workshops 2024: 82-87 </p> <p> <a target = "_blank" href="https://dl.acm.org/doi/10.1145/3691621.3694937">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Harvesting Memory-bound CPU Stall Cycles in Software with MSH</h4> <p> Zhihong Luo, Sam Son, Sylvia Ratnasamy, Scott Shenker: Harvesting Memory-bound CPU Stall Cycles in Software with MSH. OSDI 2024: 57-75 </p> <p> <a target = "_blank" href="https://www.usenix.org/conference/osdi24/presentation/luo">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Principles for Internet Congestion Management</h4> <p> Lloyd Brown, Albert Gran Alcoz, Frank Cangialosi, Akshay Narayan, Mohammad Alizadeh, Hari Balakrishnan, Eric J. Friedman, Ethan Katz-Bassett, Arvind Krishnamurthy, Michael Schapira, Scott Shenker: Principles for Internet Congestion Management. SIGCOMM 2024: 166-180 </p> <p> <a target = "_blank" href="https://dl.acm.org/doi/10.1145/3651890.3672247">Read the Paper</a> </p> </div> <hr role="separator" class="divider"> </div> <div class="col-md-6"> <div class="row"> <h2 class="col-md-9" style="padding-left: .25em;">Recent News</h2> <p class="col-md-3 feat-all"> <a href="/news" class="btn btn-block btn-default" role="btn"> view all </a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Dissertation Talk: System Abstractions for the Internet of Things – Silvery Fu</h4> <p class="netsys-post-meta">Dec 9, 2024</p> <p> Title: System Abstractions for the Internet of ThingsSpeaker: Silvery FuDate: December 12, 2024Time: 12:30 – 1:30 pm Abstract: Three decades ago, Mark Weiser envisioned a future where technology seamlessly integrates into our daily lives. Today, our living spaces – homes, offices, and retail locations – are being transformed by the proliferation of Internet of Things … </p> <p> <a target = "_blank" class="netsys-post-link" href="https://netsys.cs.berkeley.edu/dissertation-talk-system-abstractions-for-the-internet-of-things-silvery-fu/">Read more</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Scott Shenker wins IEEE Computer Society Women of ENIAC Computer Pioneer Award</h4> <p class="netsys-post-meta">Feb 1, 2023</p> <p> Congratulations to Scott! The Computer Pioneer recognizes the vision of those people whose efforts resulted in the creation or expansion and continued vitality of the computer industry at least 15 years after their contribution. Scott was honored in 2023 for pioneering contributions to scheduling and management of packet-switched networks, impacting the theory and practice of … </p> <p> <a target = "_blank" class="netsys-post-link" href="https://netsys.cs.berkeley.edu/scott-shenker-wins-ieee-computer-society-women-of-eniac-computer-pioneer-award/">Read more</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Invisinets and LOCA accepted to NSDI!</h4> <p class="netsys-post-meta">Dec 9, 2022</p> <p> Congratulations to Sarah and Zhihong! </p> <p> <a target = "_blank" class="netsys-post-link" href="https://netsys.cs.berkeley.edu/invisinets-and-loca-accepted-to-nsdi/">Read more</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Zed Accepted to CIDR!</h4> <p class="netsys-post-meta">Oct 28, 2022</p> <p> Congratulations to Amy and Silvery! </p> <p> <a target = "_blank" class="netsys-post-link" href="https://netsys.cs.berkeley.edu/zed-accepted-to-cidr/">Read more</a> </p> </div> <hr role="separator" class="divider"> <div> <h4>Three Papers Accepted to HotNets!</h4> <p class="netsys-post-meta">Sep 4, 2022</p> <p> "The Case for an Internet Primitive for Fault Localization", "Global Content Revocation on the Internet: A Case Study in Technology Ecosystem Transformation", and "The Internet of Things in a Laptop: Rapid Prototyping for IoT Applications with Digibox" were accepted. Congrats to Emily, Narek, and Silvery! </p> <p> <a target = "_blank" class="netsys-post-link" href="https://netsys.cs.berkeley.edu/three-papers-accepted-to-hotnets/">Read more</a> </p> </div> <hr role="separator" class="divider"> </div> </div></div> <div class="col-md-2" id="sponsors"> <div class="row"> <h2 class="col-md-12">Sponsors</h2> </div> <div class="row text-center sponsor"> <div class="col-md-12"><!--Intel--> <a target = "_blank" href="https://www.intel.com/content/www/us/en/homepage.html"> <img src="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/intel.png" alt="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/intel.png"> </a> </div> <div class="row text-center sponsor"> <div class="col-md-12"><!--Intel--> <a target = "_blank" href="https://www.vmware.com/"> <img src="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/vmware.jpg" alt="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/vmware.jpg"> </a> </div> <div class="row text-center sponsor"> <div class="col-md-12"><!--Intel--> <a target = "_blank" href="https://www.google.com/"> <img src="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/google.png" alt="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/google.png"> </a> </div> <div class="row text-center sponsor"> <div class="col-md-12"><!--Intel--> <a target = "_blank" href="https://www.nsf.gov/"> <img src="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/nsf.png" alt="https://netsys.cs.berkeley.edu/wp-content/uploads/2024/09/nsf.png"> </a> </div> </div> </div> </div> </div><!--.row-content--> </div><!--.wrapper-content--> </div><!--.page-content--> <footer id="site-footer" role="contentinfo"> <div id="footer-row" class="row site-footer"> <div class="col-md-6 footer-left"> © 2025 Berkeley NetSys Lab </div> <div class="col-md-6 footer-right text-right"> </div> </div> </footer> </div><!--.container page-container--> <!--wordpress footer--> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/content-views-query-and-display-post-page/assets/ie-fix/html5shiv.min.js?ver=3.7.0" id="pt-cv-html5shiv-script-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/content-views-query-and-display-post-page/assets/ie-fix/respond.js?ver=1.4.2" id="pt-cv-respond-script-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" id="pt-cv-content-views-script-js-extra"> /* <![CDATA[ */ var PT_CV_PUBLIC = {"_prefix":"pt-cv-","page_to_show":"5","_nonce":"9b03c4ac4b","is_admin":"","is_mobile":"","ajaxurl":"https:\/\/netsys.cs.berkeley.edu\/wp-admin\/admin-ajax.php","lang":"","loading_image_src":"data:image\/gif;base64,R0lGODlhDwAPALMPAMrKygwMDJOTkz09PZWVla+vr3p6euTk5M7OzuXl5TMzMwAAAJmZmWZmZszMzP\/\/\/yH\/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAPACwAAAAADwAPAAAEQvDJaZaZOIcV8iQK8VRX4iTYoAwZ4iCYoAjZ4RxejhVNoT+mRGP4cyF4Pp0N98sBGIBMEMOotl6YZ3S61Bmbkm4mAgAh+QQFCgAPACwAAAAADQANAAAENPDJSRSZeA418itN8QiK8BiLITVsFiyBBIoYqnoewAD4xPw9iY4XLGYSjkQR4UAUD45DLwIAIfkEBQoADwAsAAAAAA8ACQAABC\/wyVlamTi3nSdgwFNdhEJgTJoNyoB9ISYoQmdjiZPcj7EYCAeCF1gEDo4Dz2eIAAAh+QQFCgAPACwCAAAADQANAAAEM\/DJBxiYeLKdX3IJZT1FU0iIg2RNKx3OkZVnZ98ToRD4MyiDnkAh6BkNC0MvsAj0kMpHBAAh+QQFCgAPACwGAAAACQAPAAAEMDC59KpFDll73HkAA2wVY5KgiK5b0RRoI6MuzG6EQqCDMlSGheEhUAgqgUUAFRySIgAh+QQFCgAPACwCAAIADQANAAAEM\/DJKZNLND\/kkKaHc3xk+QAMYDKsiaqmZCxGVjSFFCxB1vwy2oOgIDxuucxAMTAJFAJNBAAh+QQFCgAPACwAAAYADwAJAAAEMNAs86q1yaWwwv2Ig0jUZx3OYa4XoRAfwADXoAwfo1+CIjyFRuEho60aSNYlOPxEAAAh+QQFCgAPACwAAAIADQANAAAENPA9s4y8+IUVcqaWJ4qEQozSoAzoIyhCK2NFU2SJk0hNnyEOhKR2AzAAj4Pj4GE4W0bkJQIAOw==","is_mobile_tablet":"","sf_no_post_found":"No posts found.","lf__separator":","}; var PT_CV_PAGINATION = {"first":"\u00ab","prev":"\u2039","next":"\u203a","last":"\u00bb","goto_first":"Go to first page","goto_prev":"Go to previous page","goto_next":"Go to next page","goto_last":"Go to last page","current_page":"Current page is","goto_page":"Go to page"}; /* ]]> */ </script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/content-views-query-and-display-post-page/public/assets/js/cv.js?ver=4.1" id="pt-cv-content-views-script-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/pt-content-views-pro/public/assets/js/cvpro.min.js?ver=7.1" id="pt-cv-public-pro-script-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/responsive-menu-pro/v4.0.0/assets/js/jquery.touchSwipe.min.js?ver=4.4.2" id="rmp_menu_touchSwipe-js"></script> <script type="text/javascript" id="rmp_menu_scripts-js-extra"> /* <![CDATA[ */ var rmp_menu = {"ajaxURL":"https:\/\/netsys.cs.berkeley.edu\/wp-admin\/admin-ajax.php","wp_nonce":"3869345bdd","menu":[{"menu_theme":"Default","theme_type":"default","theme_location_menu":"0","submenu_submenu_arrow_width":"40","submenu_submenu_arrow_width_unit":"px","submenu_submenu_arrow_height":"39","submenu_submenu_arrow_height_unit":"px","submenu_arrow_position":"right","submenu_sub_arrow_background_colour":"","submenu_sub_arrow_background_hover_colour":"","submenu_sub_arrow_background_colour_active":"","submenu_sub_arrow_background_hover_colour_active":"","submenu_sub_arrow_border_width":"","submenu_sub_arrow_border_width_unit":"px","submenu_sub_arrow_border_colour":"#1d4354","submenu_sub_arrow_border_hover_colour":"#3f3f3f","submenu_sub_arrow_border_colour_active":"#1d4354","submenu_sub_arrow_border_hover_colour_active":"#3f3f3f","submenu_sub_arrow_shape_colour":"#fff","submenu_sub_arrow_shape_hover_colour":"#fff","submenu_sub_arrow_shape_colour_active":"#fff","submenu_sub_arrow_shape_hover_colour_active":"#fff","use_header_bar":"off","header_bar_items_order":{"logo":"off","title":"on","additional content":"off","menu":"on","search":"off"},"header_bar_title":"Responsive Menu","header_bar_html_content":"","header_bar_logo":"","header_bar_logo_link":"","header_bar_logo_width":"","header_bar_logo_width_unit":"%","header_bar_logo_height":"","header_bar_logo_height_unit":"px","header_bar_height":"80","header_bar_height_unit":"px","header_bar_padding":{"top":"0px","right":"5%","bottom":"0px","left":"5%"},"header_bar_font":"","header_bar_font_size":"14","header_bar_font_size_unit":"px","header_bar_text_color":"#ffffff","header_bar_background_color":"#1d4354","header_bar_breakpoint":"8000","header_bar_position_type":"fixed","header_bar_adjust_page":"on","header_bar_scroll_enable":"off","header_bar_scroll_background_color":"#36bdf6","mobile_breakpoint":"600","tablet_breakpoint":"1200","transition_speed":"0.5","sub_menu_speed":"0.2","show_menu_on_page_load":"off","menu_disable_scrolling":"off","menu_overlay":"off","menu_overlay_colour":"rgba(0,0,0,0.7)","desktop_menu_width":"","desktop_menu_width_unit":"%","desktop_menu_positioning":"absolute","desktop_menu_side":"left","desktop_menu_content_alignment":"left","desktop_menu_to_hide":"","use_current_theme_location":"off","mega_menu":{"922":"off","914":"off","923":"off","924":"off"},"desktop_submenu_open_animation":"none","desktop_submenu_open_animation_speed":"100ms","desktop_submenu_open_on_click":"off","desktop_menu_hide_and_show":"off","menu_name":"Main Menu","menu_to_use":"22","different_menu_for_mobile":"off","menu_to_use_in_mobile":"22","use_mobile_menu":"on","use_tablet_menu":"on","use_desktop_menu":"off","menu_display_on":"all-pages","menu_to_hide":"#menu-primary-navigation","submenu_descriptions_on":"off","custom_walker":"","menu_background_colour":"","menu_depth":"5","smooth_scroll_on":"off","smooth_scroll_speed":"500","menu_font_icons":{"id":["922"],"icon":[""],"custom_icon":[""]},"menu_links_height":"40","menu_links_height_unit":"px","menu_links_line_height":"40","menu_links_line_height_unit":"px","menu_depth_0":"5","menu_depth_0_unit":"%","menu_font_size":"15","menu_font_size_unit":"px","menu_font":"","menu_font_weight":"normal","menu_text_alignment":"left","menu_text_letter_spacing":"","menu_word_wrap":"off","menu_link_colour":"#fff","menu_link_hover_colour":"#fff","menu_current_link_colour":"#fff","menu_current_link_hover_colour":"#fff","menu_parent_link_active_color":"","menu_parent_link_background_active_color":"","menu_item_background_colour":"","menu_item_background_hover_colour":"","menu_current_item_background_colour":"#496aed","menu_current_item_background_hover_colour":"","menu_border_width":"","menu_border_width_unit":"px","menu_item_border_colour":"#1d4354","menu_item_border_colour_hover":"#1d4354","menu_current_item_border_colour":"#1d4354","menu_current_item_border_hover_colour":"#3f3f3f","submenu_links_height":"40","submenu_links_height_unit":"px","submenu_links_line_height":"40","submenu_links_line_height_unit":"px","menu_depth_side":"left","menu_depth_1":"10","menu_depth_1_unit":"%","menu_depth_2":"15","menu_depth_2_unit":"%","menu_depth_3":"20","menu_depth_3_unit":"%","menu_depth_4":"25","menu_depth_4_unit":"%","submenu_item_background_colour":"","submenu_item_background_hover_colour":"","submenu_current_item_background_colour":"","submenu_current_item_background_hover_colour":"","submenu_border_width":"","submenu_border_width_unit":"px","submenu_item_border_colour":"#1d4354","submenu_item_border_colour_hover":"#1d4354","submenu_current_item_border_colour":"#1d4354","submenu_current_item_border_hover_colour":"#3f3f3f","submenu_font_size":"13","submenu_font_size_unit":"px","submenu_font":"","submenu_font_weight":"normal","submenu_text_letter_spacing":"","submenu_text_alignment":"left","submenu_link_colour":"#fff","submenu_link_hover_colour":"#fff","submenu_current_link_colour":"#fff","submenu_current_link_hover_colour":"#fff","inactive_arrow_shape":"\u25bc","active_arrow_shape":"\u25b2","inactive_arrow_font_icon":"","active_arrow_font_icon":"","inactive_arrow_image":"","active_arrow_image":"","submenu_arrow_width":"40","submenu_arrow_width_unit":"px","submenu_arrow_height":"39","submenu_arrow_height_unit":"px","arrow_position":"right","menu_sub_arrow_shape_colour":"#fff","menu_sub_arrow_shape_hover_colour":"#fff","menu_sub_arrow_shape_colour_active":"#fff","menu_sub_arrow_shape_hover_colour_active":"#fff","menu_sub_arrow_border_width":"","menu_sub_arrow_border_width_unit":"px","menu_sub_arrow_border_colour":"#1d4354","menu_sub_arrow_border_hover_colour":"#3f3f3f","menu_sub_arrow_border_colour_active":"#1d4354","menu_sub_arrow_border_hover_colour_active":"#3f3f3f","menu_sub_arrow_background_colour":"","menu_sub_arrow_background_hover_colour":"","menu_sub_arrow_background_colour_active":"rgba(33,33,33,0.01)","menu_sub_arrow_background_hover_colour_active":"","fade_submenus":"off","fade_submenus_side":"left","fade_submenus_delay":"100","fade_submenus_speed":"500","use_slide_effect":"off","slide_effect_back_to_text":"Back","accordion_animation":"off","auto_expand_all_submenus":"off","auto_expand_current_submenus":"off","menu_item_click_to_trigger_submenu":"off","button_width":"55","button_width_unit":"px","button_height":"55","button_height_unit":"px","button_background_colour":"#1d4354","button_background_colour_hover":"#1d4354","button_background_colour_active":"#1d4354","toggle_button_border_radius":"5","button_transparent_background":"off","button_left_or_right":"right","button_position_type":"fixed","button_distance_from_side":"5","button_distance_from_side_unit":"%","button_top":"15","button_top_unit":"px","button_push_with_animation":"off","button_click_animation":"boring","button_line_margin":"10","button_line_margin_unit":"px","button_line_width":"25","button_line_width_unit":"px","button_line_height":"3","button_line_height_unit":"px","button_line_colour":"#fff","button_line_colour_hover":"#fff","button_line_colour_active":"#fff","button_font_icon":"","button_font_icon_when_clicked":"","button_image":"","button_image_when_clicked":"","button_title":"","button_title_open":"","button_title_position":"left","menu_container_columns":"","button_font":"","button_font_size":"14","button_font_size_unit":"px","button_title_line_height":"13","button_title_line_height_unit":"px","button_text_colour":"#fff","button_trigger_type_click":"on","button_trigger_type_hover":"off","button_click_trigger":"","items_order":{"title":"","additional content":"","menu":"on","search":""},"menu_title":"BwrResponsive Menu","menu_title_link":"","menu_title_link_location":"_self","menu_title_image":"","menu_title_font_icon":"","menu_title_section_padding":{"top":"10%","right":"5%","bottom":"0%","left":"5%"},"menu_title_background_colour":"rgba(109,109,109,0)","menu_title_background_hover_colour":"rgba(109,109,109,0)","menu_title_font_size":"25","menu_title_font_size_unit":"px","menu_title_alignment":"center","menu_title_font_weight":"400","menu_title_font_family":"","menu_title_colour":"#ffffff","menu_title_hover_colour":"#fff","menu_title_image_width":"","menu_title_image_width_unit":"%","menu_title_image_height":"","menu_title_image_height_unit":"px","menu_additional_content":"Add more content here...","menu_additional_section_padding":{"top":"0%","right":"5%","bottom":"10%","left":"5%"},"menu_additional_content_font_size":"16","menu_additional_content_font_size_unit":"px","menu_additional_content_alignment":"center","menu_additional_content_colour":"#6fda44","menu_search_box_text":"Search","menu_search_box_code":"","menu_search_section_padding":{"top":"5%","right":"5%","bottom":"5%","left":"5%"},"menu_search_box_height":"45","menu_search_box_height_unit":"px","menu_search_box_border_radius":"30","menu_search_box_text_colour":"#1d4354","menu_search_box_background_colour":"#ffffff","menu_search_box_placeholder_colour":"#1d4354","menu_search_box_border_colour":"","menu_section_padding":{"top":"0px","right":"0px","bottom":"0px","left":"0px"},"menu_width":"50","menu_width_unit":"%","menu_maximum_width":"200","menu_maximum_width_unit":"px","menu_minimum_width":"200","menu_minimum_width_unit":"px","menu_auto_height":"off","menu_container_padding":{"top":"30pzx","right":"30pzx","bottom":"30pzx","left":"30pzx"},"menu_container_background_colour":"#1d4354","menu_background_image":"","animation_type":"slide","menu_appear_from":"left","animation_speed":"0.5","page_wrapper":"body","menu_close_on_body_click":"off","menu_close_on_scroll":"off","menu_close_on_link_click":"off","enable_touch_gestures":"off","header_bar_gradient_background_colour_on":"off","header_bar_gradient_background_first_colour":"","header_bar_gradient_background_second_colour":"","header_bar_gradient_background_type":"linear","header_bar_gradient_background_direction":"180","header_bar_gradient_background_start_position":"50","header_bar_gradient_background_end_position":"50","desktop_menu_container_background_colour":"#ffffff","desktop_menu_container_gradient_background_colour_on":"off","desktop_menu_container_gradient_background_first_colour":"","desktop_menu_container_gradient_background_second_colour":"","desktop_menu_container_gradient_background_type":"linear","desktop_menu_container_gradient_background_direction":"180","desktop_menu_container_gradient_background_start_position":"50","desktop_menu_container_gradient_background_end_position":"50","menu_display_by_users":"all-users","hamburger_position_selector":"","menu_container_gradient_background_colour_on":"off","menu_container_gradient_background_first_colour":"","menu_container_gradient_background_second_colour":"","menu_container_gradient_background_type":"linear","menu_container_gradient_background_direction":"180","menu_container_gradient_background_start_position":"50","menu_container_gradient_background_end_position":"50","menu_id":968,"active_toggle_contents":"\u25b2","inactive_toggle_contents":"\u25bc"}]}; /* ]]> */ </script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/plugins/responsive-menu-pro/v4.0.0/assets/js/rmp-menu.min.js?ver=4.4.2" id="rmp_menu_scripts-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/js/vendor/modernizr.min.js?ver=3.6.0-20190314" id="modernizr-script-js"></script> <!--[if lt IE 9]> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/js/vendor/respond.min.js?ver=1.4.2" id="respond-script-js"></script> <![endif]--> <!--[if lte IE 9]> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/js/vendor/html5shiv.min.js?ver=3.7.3" id="html5-shiv-script-js"></script> <![endif]--> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/js/vendor/bootstrap.min.js?ver=3.4.1" id="bootstrap-script-js"></script> <script type="text/javascript" src="https://netsys.cs.berkeley.edu/wp-content/themes/bootstrap-basic/js/main.js?ver=1.0" id="main-script-js"></script> </body> </html>