<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <title>SCOTUS Wanders into Patent Troll Fight</title>
    <meta name="description" content="" />
    <meta name="HandheldFriendly" content="True">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="msvalidate.01" content="CF295E1604697F9CAD18B5A232E871F6" />

    <link rel="shortcut icon" href="/assets/images/favicon.ico?v=b6cf3f99a6">
    <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/assets/images/apple-touch-icon-57x57-precomposed.png?v=b6cf3f99a6" />
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/assets/images/apple-touch-icon-72x72-precomposed.png?v=b6cf3f99a6" />
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/assets/images/apple-touch-icon-114x114-precomposed.png?v=b6cf3f99a6" />
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/assets/images/apple-touch-icon-144x144-precomposed.png?v=b6cf3f99a6" />

    <link rel="stylesheet" type="text/css" href="/assets/css/screen.css?v=b6cf3f99a6" />
    <!--[if lt IE 9]><link rel="stylesheet" type="text/css" href="/assets/css/ie.css?v=b6cf3f99a6" /><![endif]-->

    <!--<link href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,700,300,600" rel="stylesheet" type="text/css">-->

    <script>(function(G,o,O,g,l){G.GoogleAnalyticsObject=O;G[O]||(G[O]=function(){(G[O].q=G[O].q||[]).push(arguments)});G[O].l=+new Date;g=o.createElement('script'),l=o.scripts[0];g.src='//www.google-analytics.com/analytics.js';l.parentNode.insertBefore(g,l)}(this,document,'ga'));ga('create','UA-10218544-12', 'auto');ga('send','pageview')</script>

    <link rel="canonical" href="http://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" />
    <meta name="referrer" content="no-referrer-when-downgrade" />
    <link rel="amphtml" href="http://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/amp/" />
    
    <meta property="og:site_name" content="Cloudflare Blog" />
    <meta property="og:type" content="article" />
    <meta property="og:title" content="SCOTUS Wanders into Patent Troll Fight" />
    <meta property="og:description" content="Next Monday, the US Supreme Court will hear oral arguments in Oil States Energy Services, LLC vs. Greene’s Energy Group, LLC, which is a case to determine whether the Inter Partes Review (IPR) administrative process at the US Patent and Trademark Office (USPTO) used to determine the validity of" />
    <meta property="og:url" content="http://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" />
    <meta property="og:image" content="http://blog.cloudflare.com/content/images/2017/11/Thomas_Rowlandson_-_The_Privy_Council_of_a_King_-_Google_Art_Project--1-.jpg" />
    <meta property="article:published_time" content="2017-11-20T18:18:00.000Z" />
    <meta property="article:modified_time" content="2017-11-20T22:51:13.000Z" />
    <meta property="article:tag" content="Legal" />
    <meta property="article:tag" content="Jengo" />
    <meta property="article:tag" content="Patents" />
    
    <meta property="article:publisher" content="https://www.facebook.com/Cloudflare" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="SCOTUS Wanders into Patent Troll Fight" />
    <meta name="twitter:description" content="Next Monday, the US Supreme Court will hear oral arguments in Oil States Energy Services, LLC vs. Greene’s Energy Group, LLC, which is a case to determine whether the Inter Partes Review (IPR) administrative process at the US Patent and Trademark Office (USPTO) used to determine the validity of" />
    <meta name="twitter:url" content="http://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" />
    <meta name="twitter:image" content="http://blog.cloudflare.com/content/images/2017/11/Thomas_Rowlandson_-_The_Privy_Council_of_a_King_-_Google_Art_Project--1-.jpg" />
    <meta name="twitter:label1" content="Written by" />
    <meta name="twitter:data1" content="Edo Royker" />
    <meta name="twitter:label2" content="Filed under" />
    <meta name="twitter:data2" content="Legal, Jengo, Patents" />
    <meta name="twitter:site" content="@cloudflare" />
    <meta property="og:image:width" content="4468" />
    <meta property="og:image:height" content="3183" />
    
    <script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Article",
    "publisher": {
        "@type": "Organization",
        "name": "Cloudflare Blog",
        "logo": {
            "@type": "ImageObject",
            "url": "http://blog.cloudflare.com/content/images/2016/09/logo-for-blog_thumb.png",
            "width": 189,
            "height": 47
        }
    },
    "author": {
        "@type": "Person",
        "name": "Edo Royker",
        "image": {
            "@type": "ImageObject",
            "url": "http://blog.cloudflare.com/content/images/2017/11/AAEAAQAAAAAAAAdiAAAAJDdiMzU0OWYxLTBmOTMtNGZhZi1hNDQ1LTBhNjJhZDdmMGRlZA.jpg",
            "width": 200,
            "height": 200
        },
        "url": "http://blog.cloudflare.com/author/edo-royker/",
        "sameAs": []
    },
    "headline": "SCOTUS Wanders into Patent Troll Fight",
    "url": "https://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/",
    "datePublished": "2017-11-20T18:18:00.000Z",
    "dateModified": "2017-11-20T22:51:13.000Z",
    "image": {
        "@type": "ImageObject",
        "url": "http://blog.cloudflare.com/content/images/2017/11/Thomas_Rowlandson_-_The_Privy_Council_of_a_King_-_Google_Art_Project--1-.jpg",
        "width": 4468,
        "height": 3183
    },
    "keywords": "Legal, Jengo, Patents",
    "description": "Next Monday, the US Supreme Court will hear oral arguments in Oil States Energy Services, LLC vs. Greene’s Energy Group, LLC, which is a case to determine whether the Inter Partes Review (IPR) administrative process at the US Patent and Trademark Office (USPTO) used to determine the validity of",
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "http://blog.cloudflare.com"
    }
}
    </script>

    <script type="text/javascript" src="/shared/ghost-url.min.js?v=b6cf3f99a6"></script>
<script type="text/javascript">
ghost.init({
	clientId: "ghost-frontend",
	clientSecret: "cf0df60d1ab4"
});
</script>
    <meta name="generator" content="Ghost 0.11" />
    <link rel="alternate" type="application/rss+xml" title="Cloudflare Blog" href="https://blog.cloudflare.com/rss/" />
    <meta name="msvalidate.01" content="CF295E1604697F9CAD18B5A232E871F6" />
<meta class="swiftype" name="language" data-type="string" content="en" />
<script src="https://blog.cloudflare.com/assets/js/index.js"></script>
<script type="text/javascript" src="//cdn.bizible.com/scripts/bizible.js" async=""></script>
<script>
var trackRecruitingLink = function(role, url) {
   ga('send', 'event', 'recruiting', 'jobscore-click', role, {
     'transport': 'beacon',
     'hitCallback': function(){document.location = url;}
   });
}
</script> 
<script type="text/javascript">
	(function() {
		var didInit = false;
		function initMunchkin() {
			if(didInit === false) {
				didInit = true;
				Munchkin.init('713-XSC-918');
			}
		}
		var s = document.createElement('script');
		s.type = 'text/javascript';
		s.async = true;
		s.src = '//munchkin.marketo.net/munchkin.js';
		s.onreadystatechange = function() {
			if (this.readyState == 'complete' || this.readyState == 'loaded') {
				initMunchkin();
			}
		};
		s.onload = initMunchkin;
		document.getElementsByTagName('head')[0].appendChild(s);
		})();
</script>
<script>
var HTMLAttrToAdd = document.querySelector("html");
HTMLAttrToAdd.setAttribute("lang", "en");
</script>
<style>
    table {
        background-color: transparent;
    }
    td {
		padding: 5px 1em;
    }
    pre {
        max-height: 500px;
        overflow-y: scroll;
    }
</style>
<link href="https://blog.cloudflare.com/assets/css/screen.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/themes/prism.min.css" rel="stylesheet">

    <style>
        .st-default-search-input {
            font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
            font-size: 14px;
            line-height: 16px;
            font-weight: 400;
            -moz-transition: opacity 0.2s;
            -o-transition: opacity 0.2s;
            -webkit-transition: opacity 0.2s;
            transition: opacity 0.2s;
            display: inline-block;
            width: 190px;
            height: 16px;
            padding: 7px 11px 7px 28px;
            border: 1px solid rgba(0, 0, 0, 0.25);
            color: #444;
            -moz-box-sizing: content-box;
            box-sizing: content-box;
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            background: #fff 8px 8px no-repeat url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6%2BR8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG11AABzoAAA%2FN0AAINkAABw6AAA7GgAADA%2BAAAQkOTsmeoAAAESSURBVHjajNCxS9VRGMbxz71E4OwgoXPQxVEpXCI47%2BZqGP0LCoJO7UVD3QZzb3SwcHB7F3Uw3Zpd%2FAPCcJKG7Dj4u%2FK7Pwp94HDg5Xyf5z1Pr9YKImKANTzFXxzjU2ae6qhXaxURr%2FAFl9hHDy%2FwEK8z89sYVEp5gh84wMvMvGiSJ%2FEV85jNzLMR1McqfmN5BEBmnmMJFSvtpH7jdJiZv7q7Z%2BZPfMdcF6rN%2FT%2F1m2LGBkd4HhFT3dcRMY2FpskxaLNpayciHrWAGeziD7b%2BVfkithuTk8bkGa4wgWFmbrSTZOYeBvjc%2BucQj%2FEe6xHx4Taq1nrnKaW8K6XUUsrHWuvNevdRRLzFGwzvDbXAB9cDAHvhedDruuxSAAAAAElFTkSuQmCC")
        }

        .st-ui-close-button {
            -moz-transition: none;
            -o-transition: none;
            -webkit-transition: none;
            transition: none
        }
    </style>
</head>
<body class="post-template tag-legal tag-jengo tag-patents">
<div id="fb-root"></div>
<header id="header" class="header">
    <div class="wrapper">
        <a href="https://www.cloudflare.com" class="logo logo-header">Cloudflare</a>
        <nav id="main-menu" class="header-navigation navigation" role="navigation">
            <ul class="menu menu-header">
                <li><a href="https://blog.cloudflare.com/">Blog home</a></li>
                <li><a href="https://www.cloudflare.com/overview" tabindex="1">What we do</a></li>
                <li><a href="https://www.cloudflare.com/support" tabindex="9">Support</a></li>
                <li><a href="https://www.cloudflare.com/community" tabindex="9">Community</a></li>
                <li><a href="https://www.cloudflare.com/login" tabindex="10">Login</a></li>
                <li><a href="https://www.cloudflare.com/sign-up" class="btn btn-success" tabindex="11">Sign up</a></li>
            </ul>
        </nav>
    </div>
</header>

<div class="wrapper reverse-sidebar">
    <section class="primary-content" role="main">

        <article class="post tag-legal tag-jengo tag-patents">


        <header class="post-header">
            <h1 class="title">The Supreme Court Wanders into the Patent Troll Fight</h1>
            <div class="meta">
                <time class="meta-date" datetime="2017-11-20">20 Nov 2017</time>
                by <a href="/author/edo-royker/">Edo Royker</a>.
            </div>
            <div class="social">
                <div class="g-plusone" data-size="medium" data-href="https://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/"></div>
                <script type="IN/Share" data-url="https://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" data-counter="right"></script>
                <div class="fb-like" data-href="https://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
                <a href="https://twitter.com/share" class="twitter-share-button" data-url="https://blog.cloudflare.com/supreme-court-wanders-into-patent-troll-fight/" data-text="The Supreme Court Wanders into the Patent Troll Fight" data-via="cloudflare" data-related="cloudflare">Tweet</a>
            </div>
        </header>

        <div class="post-content">
            <p>Next Monday, the US Supreme Court will hear oral arguments in <em>Oil States Energy Services, LLC vs. Greene’s Energy Group, LLC</em>, which is a case to determine whether the Inter Partes Review (IPR) administrative process at the US Patent and Trademark Office (USPTO) used to determine the validity of patents is constitutional. </p>

<p>The constitutionality of the IPR process is one of the biggest legal issues facing innovative technology companies, as the availability of this process has greatly reduced the anticipated costs, and thereby lessened the threat, of patent troll litigation. As we discuss in this blog post, it is ironic that the outcome of a case that is of such great importance to the technology community today may hinge on what courts in Britain were and were not doing more than 200 years ago.</p>

<p><img src="/content/images/2017/11/Thomas_Rowlandson_-_The_Privy_Council_of_a_King_-_Google_Art_Project.jpg" alt="" title="" /><small>Thomas Rowlandson [Public domain], via <a href="https://commons.wikimedia.org/wiki/File%3AThomas_Rowlandson_-_The_Privy_Council_of_a_King_-_Google_Art_Project.jpg">Wikimedia Commons</a></small></p>

<p>As we have discussed in prior <a href="https://blog.cloudflare.com/project-jengo-challenges/">blog posts</a>, the stakes are high: if the Supreme Court finds IPR unconstitutional, then the entire system of administrative review by the USPTO — including IPR and ex parte processes — will be shuttered.  This would be a mistake, as administrative recourse at the USPTO is one of the few ways to avoid the considerable costs and delays of federal court litigation, which can take years and run into the millions of dollars. Those heavy costs are often leveraged by patent trolls when they threaten litigation in the effort to procure easy and lucrative settlements from their targets. </p>

<h3 id="cloudflareispursuingourfightagainstpatenttrollsallthewaytothestepsofthesupremecourt">Cloudflare is Pursuing Our Fight Against Patent Trolls All the Way to the Steps of the Supreme Court</h3>

<p>Cloudflare joined Dell, Facebook, and a number of other companies, all practicing entities with large patent portfolios, in a <em>brief amici curiae</em> (or ‘friend of the court’ brief) in support of the IPR process, because it has a substantial positive impact on technological innovation in the United States. Amicus briefs allow parties who are interested in the outcome of a case, but are not parties to the immediate dispute before the court, to have input into the court’s deliberations.  </p>

<p>As many of you are aware, we were sued by Blackbird Technologies, a notorious patent troll, earlier this year for patent infringement, and initiated <a href="https://blog.cloudflare.com/project-jengo/">Project Jengo</a> to crowd source prior art searches and invalidate Blackbird’s patents. One of our strategies for quickly and efficiently invalidating Blackbird’s patents is to take advantage of the IPR process at the USPTO, which can be completed in about half the time and at one tenth of the cost of a federal court case, and to initiate ex parte proceedings against Blackbird’s other patents that are overly broad and invalid. </p>

<p>A full copy of the Amicus Brief we joined in the Oil States case is <a href="http://www.scotusblog.com/wp-content/uploads/2017/11/16-712-bsac-Dell.pdf">available here</a>, and a summary of the argument follows. </p>

<h3 id="oilstatesmakesitscase">Oil States Makes its Case</h3>

<p>Oil States is an oilfield services and drilling equipment manufacturing company. The USPTO invalidated one of its patents related to oil drilling technology in an IPR proceeding while Oil States had a lawsuit pending against one of its competitors claiming infringement of its patent. After it lost the IPR, Oil States lost an appeal in a lower federal court based on the findings of the IPR proceeding. The Supreme Court agreed to hear the case to determine whether once the USPTO issues a patent, an inventor has a constitutionally protected property right that — under <a href="http://www.heritage.org/constitution/#!/articles/3">Article III</a> of the U.S. Constitution (which outlines the powers of the judicial branch of the government), and the <a href="https://constitutioncenter.org/interactive-constitution/amendments/amendment-vii">7th Amendment</a> (which addresses the right to a jury trial in certain types of cases) — cannot be revoked without intervention by the court system. </p>

<p><img src="/content/images/2017/11/2770193028_68edc662a9_b.jpg" alt="" title="" /><small><a href="https://www.flickr.com/photos/paul_lowry/2770193028">Image</a> by <a href="https://creativecommons.org/licenses/by/2.0/">Paul Lowry</a></small></p>

<p>As the patent owner, Oil States argues that the IPR process violates the relevant provisions of the constitution by allowing an administrative body, the Patent Trial and Appeal Board (PTAB)--a non-judicial forum, to decide a matter which was historically handled by the judiciary. This argument rests upon the premise that there was a historical analogue to cancellation of patent claims available in the judiciary. Since cancellation of patent claims was historically available in the judiciary, the cancellation of patent claims today must be consistent with that history and done exclusively by courts. </p>

<p>This argument is flawed on multiple counts, which are set forth in the “friend of the court” brief we joined.</p>

<h4 id="firstflawanadministrativeprocessevenanoriginalistcanlove">First Flaw: An Administrative Process Even an Originalist Can Love</h4>

<p>As the amicus brief we joined points out, patent revocation did not historically rest within the <em>exclusive</em> province of the common law and chancery courts, the historical equivalents in Britain to the judiciary in the United States. Rather, prior to the Founding of the United States, patent revocation rested entirely with the Crown of England’s Privy Council, a non-judicial body comprising of advisors to the king or queen of England. It wasn’t until later that the Privy Council granted the chancery court (the judiciary branch) concurrent authority to revoke patents. Because a non-judicial body had the authority to revoke patents when the US Constitution was framed, the general principles of separation of powers and the right to trial in the Constitution do not require that patentability challenges be decided solely by courts. </p>

<h4 id="secondflawthejudicialrolewaslimited">Second Flaw: The Judicial Role was Limited</h4>

<p>Not only did British courts share the power to address patent rights historically, the part shared by the the courts was significantly limited.  Historically, the common-law and chancery courts only received a partial delegation of the Privy Council’s authority to invalidate patents. Courts only had the authority to invalidate patents for issues related to things like inequitable conduct (e.g., making false statements in the original patent application). The limited authority delegated to the England Courts did not include the authority to seek claim <em>cancellation</em> based on elements intrinsic to the patent or patent application, like lack of novelty or obviousness as done under an IPR proceeding. Rather, such authority remained with the Privy Council, a non-court authority, which decided questions like whether the invention was really new. Thus, like the PTAB, the Privy Council was a non-judicial body charged with responsibility to assess patent validity based on criteria that included the novelty of the invention.</p>

<p>We think these arguments are compelling and provide very strong reasons why the Supreme Court should resist the request that such matters be resolved exclusively in federal courts. We hope that’s the position they do take because the real world implications are significant. </p>

<h3 id="dontmesswithagoodthing">Don’t Mess with a Good Thing</h3>

<p>The IPR process is not only consistent with the US Constitution, but it also advances the Patent Clause’s objective of promoting the progress of science and useful arts. That is, the “quid pro quo of the patent system; the public must receive meaningful disclosure in exchange for being excluded from practicing the invention for a limited period of time” by patent rights. (<a href="http://caselaw.findlaw.com/us-federal-circuit/1330083.html">Enzo Biochem, Inc. v. Gen-probe Inc.</a>) Congress created the IPR process in the America Invents Act in 2011 to use administrative review to weed out poor-quality patents that did not satisfy this quid pro quo because they had not actually disclosed very much. Congress sought to provide quick and cost effective administrative procedures for challenging the validity of patent claims that did not disclose novel inventions, or that claimed to disclose substantially more innovation than they actually did,  to improve patent quality and restore confidence in the presumption of validity. In other words, Congress created a system to specifically permit the efficient challenge of the zealous assertion of vague and overly broad patents. </p>

<p>As a recent study by the Congressional Research Service found, non-practicing entity (i.e., patent troll) patent litigation “activity cost defendants and licensees $29 billion in 2011, a 400 percent increase over $7 billion in 2005” and “the losses are mostly deadweight, with less than 25 percent flowing to innovation and at least that much going towards legal fees.” (<em>see</em> <a href="https://fas.org/sgp/crs/misc/R42668.pdf">Brian T. Yeh, Cong. Research sERV., R42668</a>) The IPR process enables innovative companies to navigate patent troll activity in an efficient manner and devote a greater proportion of their resources to research and development, rather than litigation or cost-of-litigation settlement fees for invalid patents. </p>

<p><img src="/content/images/2017/11/Troll-slip.jpg" alt="" title="" /><small>By EFF-Graphics (<a href="http://creativecommons.org/licenses/by/3.0/us/deed.en">Own work</a>), via <a href="https://commons.wikimedia.org/wiki/File%3ATroll-slip.jpg">Wikimedia Commons</a></small></p>

<p>Additionally, the IPR process reduces the total number and associated costs of patent disputes in a number of ways.</p>

<ul>
<li><p>Patent owners, especially patent trolls, are less likely to threaten litigation or file an infringement suit based on patent claims that they know or suspect to be invalid. In fact, patent owners who threaten or file suit merely to seek cost-of-litigation settlements have become far less prevalent because of the availability of the IPR process to reduce the cost of litigation.</p></li>
<li><p>Patent owners are less likely to initiate litigation out of concerns that the IPR proceedings may culminate in PTAB’s cancellation of all patent claims asserted in the infringement suit.</p></li>
<li><p>Where the PTAB does not cancel all asserted claims, statutory estoppel and the PTAB’s claim construction may serve to narrow the infringement issues to be resolved by the district court.</p></li>
</ul>

<p>Our hope is that the US Supreme Court justices take into full consideration the larger community of innovative companies that are helped by the IPR system in battling patent trolls, and do not limit their consideration to the implications on the parties to <em>Oil States</em> (neither of which is a non-practicing entity). As we have explained, not only does the IPR process enable innovative companies to focus their resources on technological innovation, instead of legal fees, but allowing the USPTO to administer IPR and ex parte proceedings is entirely consistent with the US Constitution.</p>

<p>While we await a decision in <em>Oil States</em>, expect to see Cloudflare initiate IPR and ex parte proceedings against Blackbird Technologies patents in the coming months. </p>

<p>We will make sure to keep you updated. </p>
        </div>
        <footer>
            <small>
                Tagged with <a href="/tag/legal/">Legal</a>, <a href="/tag/jengo/">Jengo</a>, <a href="/tag/patents/">Patents</a>
            </small>
        </footer>
        <aside class="section learn-more">
            <h5>Want to learn more about Cloudflare?</h5>
            <p><a href="https://www.cloudflare.com" class="btn btn-success">Learn more</a></p>
        </aside>

        <aside class="section comments">
            <h3>Comments</h3>

        </aside>


    <div id="disqus_thread"></div>
    <script type="text/javascript">
        var disqus_shortname = 'cloudflare';
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

</article>

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
</script>
<script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=596756540369391";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>
<script src="//platform.linkedin.com/in.js" type="text/javascript">lang: en_US</script>
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/platform.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>


    </section>

    <aside class="sidebar">
    <div class="widget">
      <input type="text" placeholder="Search the blog" class="st-default-search-input"></input>
      <script type="text/javascript">
          (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
          (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
          e=d.getElementsByTagName(t)[0];s.async=0;s.src=u;e.parentNode.insertBefore(s,e);
          })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
        _st('install','_KobMC_zsd_tDx_7NWiX','2.0.0');
      </script>
    </div>
    <div class="widget">
        <h4 class="widget-title">Cloudflare blog</h4>
        <p style="margin-top: 20px">
            <a href="https://www.cloudflare.com/enterprise-service-request" class="btn btn-success" tabindex="11" target="_blank">Contact our team</a>
        </p>
        <p>
            <strong>US callers</strong><br/>
            1 (888) 99-FLARE <br/>
            <strong>UK callers</strong><br/>
            +44 (0)20 3514 6970<br/>
            <strong>International callers</strong><br/>
            +1 (650) 319-8930 <BR/><BR/>
            <a href="https://www.cloudflare.com/plans" target="_blank">Full feature list and plan types</a>
        </p>
        <p>Cloudflare provides performance and security for any website. More than 6 million websites use Cloudflare.</p>
        <p>There is no hardware or software. Cloudflare works at the DNS level. It takes only 5 minutes to sign up. To learn more, please visit our website</p>
    </div>
    <div class="widget">
        <h4 class="widget-title">Cloudflare features</h4>
        <ul class="menu menu-sidebar">
            <li><a href="https://www.cloudflare.com/">Overview</a></li>
            <li><a href="https://www.cloudflare.com/cdn/">CDN</a></li>
            <li><a href="https://www.cloudflare.com/website-optimization/">Optimizer</a></li>
            <li><a href="https://www.cloudflare.com/security/">Security</a></li>
            <li><a href="https://www.cloudflare.com/analytics/">Analytics</a></li>
            <li><a href="https://www.cloudflare.com/apps">Apps</a></li>
            <li><a href="https://www.cloudflare.com/network/">Network map</a></li>
            <li><a href="https://www.cloudflarestatus.com">System status</a></li>
        </ul>
    </div>
    <div id="mc_embed_signup" class="widget">
        <form action="https://cloudflare.us5.list-manage.com/subscribe/post?u=d80d4d74266c0c044b0bcd7ca&amp;id=8dc0bf9dea" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
            <input type="email" value="" name="EMAIL" class="width-full required email" id="mce-EMAIL" placeholder="Enter your email address"/>
            <div id="mce-responses" class="clearfix">
            <div class="response" id="mce-error-response" style="display:none"></div>
            <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <div class="clearfix">
                <button type="submit" name="subscribe" id="mc-embedded-subscribe" class="btn btn-primary width-full">Sign up for email updates</button>
            </div>
        </form>
    </div>
</aside>
</div>

<footer id="footer" class="footer">
    <div class="wrapper">
        <nav class="navigation footer-nav">
            <ul role="navigation">
                <li id="cf_nav_menu-2" class="footer-column widget_cf_nav_menu">
                    <h6 class="widget-title">What We Do</h6>
                    <div class="menu-what-we-do-container">
                        <ul class="menu menu-footer">
                            <li><a href="https://www.cloudflare.com/plans">Plans</a></li>
                            <li><a href="https://www.cloudflare.com/performance/">Performance</a></li>
                            <li><a href="https://www.cloudflare.com/security/">Security</a></li>
                            <li><a href="https://www.cloudflare.com/reliability/">Reliability</a></li>
                            <li><a href="https://www.cloudflare.com/apps">Apps</a></li>
                            <li><a href="https://www.cloudflare.com/network-map">Network</a></li>
                        </ul>
                    </div>
                </li>
                <li id="cf_nav_menu-3" class="footer-column widget_cf_nav_menu">
                    <h6 class="widget-title">Resources</h6>
                    <div class="menu-support-container">
                        <ul class="menu menu-footer">
                            <li><a href="https://www.cloudflare.com/support">Help Center</a></li>
                            <li><a href="https://www.cloudflare.com/community">Community</a></li>
                            <li><a href="https://www.cloudflare.com/video">Video Guides</a></li>
                            <li><a href="https://www.cloudflarestatus.com">System Status</a></li>
                            <li><a href="https://www.cloudflare.com/contact">Contact Us</a></li>

                            <li class="active"><a href="/">Blog</a></li>
                        </ul>
                    </div>
                </li>
                <li id="cf_nav_menu-4" class="footer-column widget_cf_nav_menu">
                    <h6 class="widget-title">Not a Developer?</h6>
                    <div class="menu-resources-container">
                        <ul class="menu menu-footer">
                            <li><a href="https://www.cloudflare.com/case-studies">Case Studies</a></li>
                            <li><a href="https://www.cloudflare.com/resources/">White Papers</a></li>
                            <li><a href="https://www.cloudflare.com/internet-summit/">Internet Summit</a></li>
                            <li><a href="https://www.cloudflare.com/hosting-partners">Partners</a></li>
                            <li><a href="https://www.cloudflare.com/hosting-partners">Integrations</a></li>
                        </ul>
                    </div>
                </li>
                <li id="cf_nav_menu-5" class="footer-column widget_cf_nav_menu">
                    <h6 class="widget-title">About Us</h6>
                    <div class="menu-about-us-container">
                        <ul class="menu menu-footer">
                            <li><a href="https://www.cloudflare.com/people">Our Team</a></li>
                            <li><a href="https://www.cloudflare.com/join-our-team">Careers</a></li>
                            <li><a href="https://www.cloudflare.com/press-center">Press</a></li>
                            <li><a href="https://www.cloudflare.com/terms">Terms of Service</a></li>
                            <li><a href="https://www.cloudflare.com/security-policy/">Privacy &amp; Security</a></li>
                            <li><a href="https://www.cloudflare.com/abuse/">Trust &amp; Safety</a></li>
                        </ul>
                    </div>
                </li>
                <li id="cf_nav_menu-6" class="footer-column widget_cf_nav_menu">
                    <h6 class="widget-title">Connect</h6>
                    <div class="menu-connect-container">
                        <ul class="menu menu-footer">
                            <li><a href="http://twitter.com/cloudflare">Twitter</a></li>
                            <li><a href="https://www.facebook.com/Cloudflare">Facebook</a></li>
                            <li><a href="https://www.linkedin.com/company/cloudflare-inc-">LinkedIn</a></li>
                            <li><a href="https://www.youtube.com/cloudflare-">YouTube</a></li>
                            <li><a href="https://plus.google.com/+cloudflare/posts">Google+</a></li>
                            <li><a href="/rss/">RSS</a></li>
                        </ul>
                    </div>
                </li>
            </ul>
            <div class="credits">All content &copy; 2017 <a href="https://cloudflare.com">Cloudflare</a>. Proudly published with <a href="https://ghost.org">Ghost</a>.</div>
        </nav>
    </div>
</footer>

<script>
    var links = document.links;

    for (var i = 0, linksLength = links.length; i < linksLength; i++) {  
       if (links[i].hostname != window.location.hostname) {
           links[i].target = '_blank';
       } 
    } 
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/prism.min.js"></script>
<script type="text/javascript" src="/assets/js/jquery.fitvids.js?v=b6cf3f99a6"></script>
<script type="text/javascript">
    $(document).ready(function(){ $(".post-content").fitVids(); });
</script>

<script type="text/javascript">

    var disqus_shortname = 'cloudflare';
    (function () {
        var s = document.createElement('script'); s.async = true;
        s.type = 'text/javascript';
        s.src = '//' + disqus_shortname + '.disqus.com/count.js';
        (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
    }());
</script>

</body>
</html>