<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [

<!ENTITY I-D.cparsk-eimpact-sustainability-considerations SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.cparsk-eimpact-sustainability-considerations.xml">
<!ENTITY I-D.pignataro-green-enviro-sust-terminology SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.pignataro-green-enviro-sust-terminology.xml">

]>
<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes"?>
<rfc category="bcp" docName="draft-pignataro-enviro-sustainability-consid-01" ipr="trust200902" submissionType="IETF" consensus="true">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <?rfc toc="yes" ?>
  <?rfc compact="yes" ?>
  <?rfc symrefs="yes" ?>
  <?rfc sortrefs="yes"?>
  <?rfc iprnotified="no" ?>
  <?rfc strict="yes" ?>

  <front>
    <title abbrev="Sustainability Considerations">Sustainability Considerations for Networking Protocols and Applications</title>

    <author fullname="Carlos Pignataro" initials="C." surname="Pignataro" role="editor">
      <organization abbrev="Blue Fern Consulting">Blue Fern Consulting</organization>

      <address>
        <postal>
          <country>US</country>
        </postal>        
        <email>cpignata@gmail.com</email>
        <email>carlos@bluefern.consulting</email>
      </address>
    </author>

    <author fullname="Ali Rezaki" initials="A." surname="Rezaki">
      <organization>Nokia</organization>

      <address>
        <postal>
          <country>DE</country>
        </postal>        

        <email>ali.rezaki@nokia.com</email>
      </address>
    </author>

    <author fullname="Jari Arkko" initials="J." surname="Arkko">
      <organization>Ericsson</organization>

      <address>
        <postal>
          <country></country>
        </postal>
        <email>jari.arkko@ericsson.com</email>
      </address>
    </author>


<!--
    <author fullname="Suresh Krishnan" initials="S." surname="Krishnan">
      <organization abbrev="Cisco">Cisco Systems, Inc.</organization>

      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>sureshk@cisco.com</email>
      </address>
    </author>

-->

    <author fullname="Alexander Clemm" initials="A." surname="Clemm">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street>2220 Central Expressway</street>
          <city>Santa Clara</city>
          <country>US</country>
          <code>CA 95050</code>
        </postal>
        <phone/>
        <email>ludwig@clemm.org</email>
      </address>
    </author>

    <author fullname="Hesham ElBakoury" initials="H." surname="ElBakoury">
      <organization>Independent Consultant</organization>

      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>helbakoury@gmail.com</email>
      </address>
    </author>


    <date />

    <abstract>
      <t>
        Embedding sustainability considerations at the design of new protocols and extensions is more effective than attempting to do so after-the-fact. Consequently, this document also gives network, protocol, and application designers and implementors sustainability-related advice and guideance.
</t><t>
        This document recommends to authors and reviewers the inclusion of a Sustainability Considerations section in IETF Internet-Drafts and RFCs.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
 
      <t>
        The ultimate objective of this document is to detail guidance regarding aspects of sustainability and environmental impact that authors and reviewers of Internet protocol and architecture documents should consider in a "Sustainability Considerations" section.
      </t>


    <section title="Terminology">
      <t>
        This document leverages the terminology and concepts defined in 
        <xref target="I-D.pignataro-green-enviro-sust-terminology" />,
        and readers are expected to be familiar with those. Specifically, Section 3.1.1 of <xref target="I-D.pignataro-green-enviro-sust-terminology" /> describes contepts of particular relevance to this draft.
      </t>
    </section>




    </section>


    <section title="Implications to the IETF">
            <t>This section describes the implications of sustainability to the IETF. Specifically, the high-level relevant areas on which the IETF can act upon, and a rough prioritization.
              These potentially include use cases, protocols, metrics, etc.</t>
            <t>A key area to understand the relevance and implication is regarding IETF Protocols.</t>
    </section>



    <section anchor="advice" title="Sustainability Guidelines for Protocol and Network Designers and Implementers">
            <t>This section renders the Sustainability Considerations into specific guidelines and advice for the design and development of networking technologies.</t>
            <t>These specific items are labeled so as to follow and reference as a check-list.</t>

        <list style="format %c.">

          <t>
            General:<br />The section title "Sustainability Considerations" should be used to detail the environmental-impact implications of protocols, architectures, and Internet technologies.

            <list style="format %p%d.">
              <t>
                For each of the items covered, explicitly state the "boundary of analysis" considered. For example, this can include a scope, time boundary, or lifecycle phases.
              </t>
              <t>
                Consider attributional versus consequential analysis methods, explaining environmental impact benefits.
              </t>
              <t>
                Clearly state the units used for each magnitude in every analysis (e.g., gCO2e/KWh.)
              </t>
            </list>
          </t>


          <t>
            Network Management:<br />Several areas of network management have direct relationship with sustainability.

            <list style="format %p%d.">
              <t>
                Metrics:<br />Instrument equipment, network elements, and networks with a set of relevant and meaningful metrics that provide visibility into sustainability and environmental-impact attributes (e.g., power and energy consumption.)  This is the foundation for any mechanisms to improve and optimize sustainability.
              </t>
              <t>
                Managed Elements:<br />Facilitate, extend, and enrich the manageability of network elements and sub-elements which have environmental impact, such as Power Supplies. For example, provide visibility into sourced power, e.g. energy mix, and allow to account for the "dirtiness" of power being consumed to obtain a truer picture of sustainability than can be gained by visibility into power consumption alone.
              </t>
            </list>
          </t>

          <t>
            Energy Management:<br />Minimizing energy consumption is a critical consideration in making networks more sustainable. Minimizing energy consumption typically comes also with important economic side benefits associated with reducing operational expenses and making network providers more competitive.
            <br /><br />To facilitate energy efficiency schemes, designers of networking devices and protocols should examine and consider the following considerations:
            <list style="format %p%d.">
              <t>
                Energy linearity. In many cases, the amount of power drawn by a device is not in linear proportion to the volume of traffic that is passed.  Instead, energy consumption when idle generally accounts for a very significant percentage of the energy consumption when under full load.  The implication of this is that the volume of traffic by itself is of relative consequence to energy consumption, as long as the volume does not get to the point where additional equipment needs to be added to the network to handle peak loads.
              </t>
              <t>
                Power saving modes. Similarly, many devices and resources support power saving modes that can be entered when idled.  Similarly, during periods of exceedingly low traffic, some links may support downspeeding  associated with energy savings.  As a result, a big opportunity for energy savings involves schemes in which resources are temporarily put into power saving modes, including almost shut-down, at times when they are not needed.
              </t>

              <t>
                Chattiness of protocols.  For a given protocol, what are the message exchange patterns? does the protocol rely on periodic updates or heartbeat messages?  Could such message patterns result in preventing links or nodes from going to sleep (absent other communications), and in such a case, would an alternative pattern be feasible?
              </t>
              <t>
                Exploiting burstiness versus smoothening of traffic.  Is it feasible to design the protocol in such a way that traffic is sent with a smoother traffic pattern with lower traffic volumes that are sent continuously, as opposed to a way that traffic is bulked up and then sent in one fell swoop?
              </t>
              <t>
                Rapid discovery and convergence.  Does the protocol involve the exchange of state and information about other systems?  In that case, how can the protocol be designed in such that any such information can be discovered quickly and protocol synchronization reconverged efficiently?  Does the protocol design support stateful schemes that might accelerate this?  In cases where there is a possibility of nodes going to sleep, the associated overhead of going offline and coming back online should be minimized.  By shortening the time interval needed to go offline and come back online, it might be possible to have enter sleep mode in situations where it would otherwise not be feasible. 
              </t>
              <t>
                Encoding schemes.  How much computational effort goes into encoding and decoding?  Assess the tradeoff between encoding efficiency and computational effort, which directs into carbon for cycles to perform coding operations.
              </t>
            </list>
          </t>

          <t>
            Carbon Awareness:<br />

            <list style="format %p%d.">
              <t>
                Consider Carbon Intensity (CI) / Emission Factor (EF) as an attribute. For example, CI is used to optimize for lower-carbon sources of electrical energy (e.g., using renewables.) Prioritizing electricity use when carbon intensity is low is a target, and, for that, this attribute needs to be accessed or advertised.
              </t>
              <t>
                Consider embodied emissions (i.e., embedded carbon) with any new product. For example, a new generation of networking device might significantly improve energy efficiency, and a replacement migration would include the embedded emissions (of producing and transporting the new product as well as disposing of the old one), and hence there's a break-even point (BEP).
              </t>
            </list>
          </t>

          <t>
            Beyond Carbon:<br />Characterize and note full-spectrum environmental impacts, beyond GHG emissions, and into water usage, raw materials usage, circularity in supply chain, repurpose, reuse, and recycle, etc.

            <list style="format %p%d.">
              <t>
                WIP
              </t>
              <t>
                WIP
              </t>
            </list>
          </t>



        </list>


    </section>




    <section title="Conclusion">
            <t>The pre-eminent message in this document is to elevate the need and sense of urgency of including sustainability considerations in our protocol and system design, and to provide editors with a sustainability lexicon, definitions, and priorities to carry out that task. As an added benefit, by including sustainability considerations, it will be possible to optimize for not only performance parameters but also sustainability ones, through respective trade-offs in our protocols and systems.</t>
            <t>We also envision that on top of minimizing the environmental impact of our technologies and helping consumers identify and reduce the environmental impact of their use, we can also make a positive impact on other systems. E.g., use our technologies to choose greener and more efficient sources of power, control HVAC systems efficiently, etc.</t>
                <section title="Call to Action">
            <t>The intention of this document is multifaceted: establish definitions and a lexicon for sustainability, characterize environmental implications of internetworking technologies, and provide specific guidelines for designers and implementors. 
    </t><t>
              Making these objectives actionable involves:</t>
                          <list style="numbers">
                <t>Familiarize yourself with the environmental sustainabilithy terms,</t>
                <t>understand the environmental sustainability implications to protocol and architecture, and</t>
                <t>consider, qualify, quantify, and explain the specific guidelines in <xref target="advice" /> as you develop protocols, extensions, and architectures.</t></list>

</section>

</section>



    <section title="Security Considerations">
      <t>
        Sustainable practices offer many environmental, economic, and social benefits, and  security is a route to sustainability rather than a hurdle to clear.
      </t>
    </section>

    <section title="Acknowledgements">
      <t>
                This document is created greatly leveraging ideas and text from <xref target="I-D.cparsk-eimpact-sustainability-considerations" />, and consequently acknowledges all the many contributions that improved it.
      </t>
    </section>
  </middle>

  <back>

    <!--
    <references title="Normative References">

      &RFC2119;

    </references>
  -->
    
    <references title="Informative References">

    &I-D.cparsk-eimpact-sustainability-considerations;
    &I-D.pignataro-green-enviro-sust-terminology;




    </references>

<!--
  TODO moved to GitHub Issues
-->

  </back>
</rfc>
