<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Implementation and Evaluation of a Sleep-Proxy for Energy Savings in Networked Computers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Enida Sheme</string-name>
          <email>enida.sheme@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Neki Frasheri</string-name>
          <email>neki.frasheri@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marin Aranitasi</string-name>
          <email>m_aranitasi@hotmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>BCI'12, September 16-20, 2012, Novi Sad, Serbia.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Copyright © 2012 by the paper's authors. Copying permitted only for private and</institution>
          ,
          <addr-line>academic purposes. This volume is published and copyrighted by its editors., Local Proceedings also appeared in ISBN 978-86-7031-200-5</addr-line>
          ,
          <institution>Faculty of Sciences, University of Novi Sad.</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, Polytechnic University of Tirana</institution>
        </aff>
      </contrib-group>
      <fpage>68</fpage>
      <lpage>71</lpage>
      <abstract>
        <p>In enterprise networks, idle desktop machines rarely sleep, because users and IT departments want them to be always accessible. While some solutions have been proposed, few of them have been implemented even more evaluated in real network environments. In this paper, we implement and evaluate a sleep proxy system, based on existing proposed architecture for this Proxy. This system is tested in 6 different PC machines of a real network. The results of the experiments show that machines can sleep almost 55% of the experimenting time (which is translated into energy savings) while maintaining their network accessibility to user satisfaction. However, there is a need of “cooperation” between IT procedures and sleep proxy system in order to gain better performance and thus less dissipated energy.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Power consumption</kwd>
        <kwd>energy savings</kwd>
        <kwd>networked computers</kwd>
        <kwd>network traffic</kwd>
        <kwd>proxying Ethernet adapter</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The main reason PC users and IT administrators want to leave
PCs on all the time is they want to access them whenever they
want to, or whenever it is planned a broadcasting update or
process. Among many ideas, lately the focus is back to Sleep
Proxy concept, which was first introduced in 1998 [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and later
researched. A Sleep Proxy allows a PC to pass into a Sleep state,
meanwhile it preserves PC’s network presence and awakens it if
necessary. The architecture of this Sleep Proxy system is
composed by a client which periodically updates the server with
information it needs to represent this client while it is asleep,
and the server (Sleep Proxy) that based on a designed policy on
how to manage network traffic protocols, will eventually ignore
some packets, answer to some requests, and awake the sleeping
computer for other packets.
      </p>
      <p>The aim of developing a Sleep Proxy system is to encourage
users to enable power management features, assuring them that
they can have access to their computers even when they are
asleep. So, in our work we emphasize this by testing a real
system in an office environment, showing and highlighting the
differences between non-proxy system and proxy system
network regarding their energy consumption.</p>
      <p>In Section 2, we mention related articles, papers and
publications regarding this area. In Section 3 we will give a
preview of the design and implementation of Sleep Proxy server,
how are all the components related to each other in Hardware
and Software level. Section 4 describes the experimental
environment, also the tests regarding the power consumption
without and with Proxy server implemented in the experiment,
in order to get an idea of energy savings this system can provide.
The results of the experiments and their interpretation are given
in section 5, where we emphasize the need of synchronization
between IT staff and the Proxy system in order to get the best
results. At last we come with our conclusions.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORK</title>
      <p>
        The Sleep Proxy idea was first introduced in 1998 by Kenneth
Christensen in an International Journal [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Although there were
some technologies such as “Wake on LAN” and “Advanced
Configuration and Power Interface Specification” in 90’s
regarding saving energy issue, due to some of their
disadvantages, there are no more researches in the area. Instead,
attention was back to Sleep Proxy in 2004 by Bruce Nordman
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. An interesting paper comes in 2007 for an implemented
Proxy specifically designed for Universal Plug and Play
Protocol (UPnp) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Later in 2007, Bruce Nordman and
Keneth Christensen came with another work where they propose
solution [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for a Sleep Proxy which can manage protocols
such as ARP, DHCP, ICMP. Another scheme similiar to Sleep
Proxy comes in 2008 called Somniloquy [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. It offers a
hardware implementation of Sleep Proxy in a so-called
“gumstix”, thought as a predecessor of future NIC. We can also
mention [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]: Sleep Proxy as a standard of European Computer
Manufacturers Association in November 2009. Researches go
on and another paper of 2010’ [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], illustrates designing,
implementing and testing of a Sleep Proxy in Microsoft Offices.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. DESIGN AND IMPLEMENTATION</title>
    </sec>
    <sec id="sec-4">
      <title>ISSUES</title>
      <p>
        In this section we show some design and implementation issues
based on previous known architecture of Sleep Proxy Server,
expressed in papers such as [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The Sleep Proxy
system is based on a client/server architecture where every client
can fall asleep, being represented on the network by the Sleep
Proxy server.
      </p>
    </sec>
    <sec id="sec-5">
      <title>3.1 Client Server Communication Protocol</title>
      <p>Based on the characteristics of what we want our Sleep Project
to do, we specify below the client server communication. That
means what will the server do and what will the client do in our
system.</p>
      <p>The client will eventually:
• provide to the proxy server necessary information that
server will need in order to represent the sleeping computer
on the network. This will be done by periodically (every 10
seconds) sending an INFO message that contains these
data: PC_name, IP address, MAC address, Operating
System, state, local time
• “request” to the proxy server to change his status to sleep
when it is going to sleep. This will happen automatically by
server when it doesn’t get an INFO message after 20
seconds (twice the time of default time set for periodic
sending of INFO)
• notify the server whenever the client is awaked by any
event. This will happen by automatically sending INFO
• know and process any waking packet that comes from the
server (which means to support some kind of WoL
technology)
• optionally can configure the default time for periodic
sending of INFO, IP address of server, communication port
with the server. The default values are set in the
programming code.</p>
      <p>The server will eventually:
• be listening to INFO messages from the clients and store
these data in a table
• keep a list of tables to keep track and information about
computers on the network
• change status of a computer from Sleep to Awake in its list
whenever that clients notifies it is awaked (it gets INFO
messages)
• prevent any network traffic to wake the sleeping computer
in vain by ignoring or answering to these kind of packets
• wake up the sleeping computer by sending a WoL packet
whenever there is a network traffic too important not to be
answered by the client itself</p>
    </sec>
    <sec id="sec-6">
      <title>3.2 Implementation Issues</title>
      <p>
        Based on the survey of [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] regarding network chattering, we
decide to implement this reaction policy for the Proxy server:
• it will answer back to ARP requests, will send ARP probes
broadcasts on the network when necessary
• wake up sleeping computer by sending WoL packet in case
of TCP requests toward that computer
• ignore all the others
Programming this system will need:
• Java RMI for building the client / server applications (as a
programming environment is chosen “Eclipse IDE for Java
Developers”, Version 3.5.2 “Helios Service Release”),
• Jpcap library (Java packet capturing) which serves for
capturing, analyzing and processing network packets.
      </p>
    </sec>
    <sec id="sec-7">
      <title>4. EXPERIMENTS</title>
    </sec>
    <sec id="sec-8">
      <title>4.1 Experiment Preview</title>
      <p>The experiment environment is composed by 6 computers
clients and one server. 6 computers have these parameters:
• 4 of them: Processor Intel(R) Core Duo CPU 2.0 GHz,
RAM 1 GB, HDD 160 GB, Operating System 32-bit
Windows XP, TFT screen
• 2 of them: Processor Intel(R) Core Duo CPU 2.0 GHz,
RAM 1 GB, HDD 160 GB, Operating System 32-bit
Windows 7.</p>
      <p>The server has these parameters: Processor Intel(R) Core Duo
CPU 2.4 GHz, RAM 2 GB, HDD 160 GB, Operating System
32-bit Windows 7.</p>
      <p>In every client is installed Java JDK and executes the client.jar
application, which is the client Proxy application. Meanwhile
the server executes the Server Proxy application. The network
topology is Bus.</p>
      <p>There will be held these experiments to test the Sleep Proxy
system. The first testing: we will measure the consumed energy
and the network traffic (number of packets) passing to them
during the time 16:00 to 8:00 of the next day, for three
continuous days, providing so 3 samples for each computer,
without “sleep proxy” implemented. The second testing, will
include the 7-th computer, the server Sleep Proxy, and we will
measure the same parameters for 16 hours, in three days. So we
will have 3 other samples for each of 6 client computers. Based
on the results of the experiments we will compare the energy
consumed and network traffic, also the time of each computer
passed on sleeping state with Sleep Proxy system implemented,
which is automatically translated into energy savings.</p>
    </sec>
    <sec id="sec-9">
      <title>4.2 Measuring Tools</title>
      <p>4.2.1 Joulemeter
The power consumption is measured by a specific tool produced
by Microsoft called Joulemeter. We will measure the power
consumption for 16 hours, for 3 days.
4.2.2 Wireshark
Wireshark is the program from which we will get information
about the network traffic in the experimental client machine, in
terms of number of packets, saved in generated .pcap files.</p>
    </sec>
    <sec id="sec-10">
      <title>5. RESULTS AND INTERPRETATION</title>
      <p>The first testing results regarding the power consumption and
total number of packets are shown in Table 1 below.
As we can see from the table, Computer C1 and C6 have higher
power consumption and this happens because of the CRT screen
that consumes more power. The same data of Table 1 are shown
in a graphical form in Figure 1.</p>
      <p>During the 16 experimenting hours, using a Sleep Proxy server,
it was provided a percentage of sleeping time in a range of 44%
to 65%, with an average sleeping time of 8.71 hours, illustrated
in Table 3 and Figure 3.</p>
      <p>The results about the second testing, when Sleep Proxy is
implemented on the network, regarding power consumption and
total number of packets are shown in Table 2, also in a graphical
form in Figure 2:</p>
      <p>Now using the formula Energy = Power * Time, we calculate
each of 6 computers * 16 experimental hours = energy
consumed (kWh) per each computer. It is computed that the
daily average energy consumption per computer is 1.97 kWh.
Translated in annual energy consumption, if 6 computers would
be left on from Monday to Thursday afternoons, it is computed
an average energy consumption of 376kWh per each computer,
or about 376 MWh for 1000 computers of a big company in a
year.</p>
      <p>Meanwhile using the Sleep Proxy system on the experimental
network shows these calculated results:
Energy consumed = 3W * sleeping hours + Power consum. *
Awake hours
It is computed that, using Sleep Proxy, the daily average energy
consumption per computer is 0.92 kWh. In comparison to the
value just given above, without Sleep Proxy of 1.97 kWh, we
save energy up to 53%. So, computers with proxy consume 53%
less power than without proxy. The annual calculation would be
176 MWh for 1000 computers in a year.</p>
      <p>The difference with and without proxy is approximately
208MWh, translated into 54.2% energy savings.</p>
      <p>The figures 4 and 5 show respectively the difference in a
graphical form of Daily Average energy consumed and Daily
Average number of packets in the NIC by the client with and
without proxy.</p>
    </sec>
    <sec id="sec-11">
      <title>6. CONCLUSIONS</title>
      <p>The results of this paper highlights the importance of power
management features application and encourage this by
evaluating a Sleep Proxy system, making a comparison of
energy consumed between two situations: without Sleep Proxy
implemented, and with Sleep Proxy implemented on the
network.</p>
      <p>The system we implemented can provide significant energy
savings, assuring computers’s availability on the network and a
high level of transparency for other computers of the network.
Due to our experiments, we calculate that in our system of 6
computers, daily average energy consumption in a Sleep Proxy
system is 0.92 kWh per each computer. Compared to the daily
average energy consumption value without implemented Sleep
Proxy, of 1.97 kW, the energy savings results up to 53%, so
computers in a Sleep Proxy environment consume 53% less
energy than the same computers in a Non-Sleep Proxy
environment. These values belong to only one computer on the
network, but as the size of the company grows the energy saving
becomes more and more significant in an annual period, up to
hundreds of MWh. The energy savings is achieved by longer
sleeping time in the presence of a Sleep Proxy Server. In a
nonSleep Proxy environment, sleeping time is almost 0 hours.
Meanwhile the results of the experiments with Sleep Proxy
implemented, show that during 16 hours of experimental time,
the 6 computers stayed in sleeping time from 44% to 65% of
the time, translated in 7.2 to 10.4 sleeping hours, from a total of
16 hours. Knowing that Sleep proxy is a system which is closely
related to other Software components, brings to the need for
some Software policies that would help in a better performance
of the Sleep Proxy system. We can mention here procedures and
routines such as backup, patches, automatic updates, scheduled
by the IT department. Of course, IT department policies and
schedules regarding these fields play a non-trivial role in Sleep
Proxy performance. Sleep Proxy is active during non-official
time (16-8 of the next day) so it would be much helpful from the
IT department to be synchronized with this system in order to
get the best results from Sleep Proxy.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Allan</given-names>
            <surname>Chen</surname>
          </string-name>
          “
          <article-title>Berkeley Lab Researcher Leads Development of a Standard to Reduce Energy Use of Computers Connected to the Internet”</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Bruce</given-names>
            <surname>Nordman</surname>
          </string-name>
          , Ken Christensen “
          <article-title>Improving the Energy Efficiency of Ethernet-Connected: A Proposal for Proxying”</article-title>
          ,
          <source>Version</source>
          <volume>1</volume>
          .0,
          <year>September 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Chamara</given-names>
            <surname>Gunaratne</surname>
          </string-name>
          ,
          <article-title>Ken Christensen and Bruce Nordman “Managing energy Consumption Costs in desktop PCs and LAN switches with proxying, split TCP connections, and scaling of link speed”</article-title>
          ,
          <source>INTERNATIONAL JOURNAL OF NETWORK MANAGEMENT</source>
          ,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>ECMA</given-names>
            <surname>Standards</surname>
          </string-name>
          , “Final Draft,
          <article-title>Proxzzzy for sleeping hosts”; November2009,www</article-title>
          .ecma-international.org /publications/files/ECMA-ST/ECMA-393.pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] “EPA Announces New Computer Efficiency Requirements” -
          <source>October</source>
          <year>2006</year>
          , http://yosemite.epa.gov/opa/admpress.nsf/4a3d7e51caf96c7 a85257359003f533e/113b0c0647fee41585257210006474f1 !OpenDocument
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Greg</given-names>
            <surname>Shultz</surname>
          </string-name>
          “
          <article-title>Use Windows XP's power management features to lower energy bills”</article-title>
          ,
          <source>November</source>
          <year>2002</year>
          , http://articles.techrepublic.com/510010878111054827.html
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Joshua</given-names>
            <surname>Reich</surname>
          </string-name>
          , Michel Goraczko, Aman Kansal, Jitendra Padhye - “Sleepless in Seattle No Longer”,
          <source>Microsoft Research, Proceedings of the 2010 USENIX Conference</source>
          ,
          <year>June 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gunaratne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nordman</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>George</surname>
          </string-name>
          , “
          <article-title>The Next Frontier for Communications Networks: Power Management,” Computer Communications</article-title>
          , Vol.
          <volume>27</volume>
          ,
          <string-name>
            <surname>Nr</surname>
          </string-name>
          .
          <volume>18</volume>
          , f.
          <fpage>1758</fpage>
          -
          <lpage>1770</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Kenneth</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Christensen</surname>
          </string-name>
          , Franklin 'Bo' Gulledge - “
          <article-title>Enabling Power Management for Network-attached Computers”</article-title>
          ,
          <source>International Journal of Network Management</source>
          , Vol.
          <volume>8</volume>
          ,
          <issue>Nr</issue>
          .2, pp.
          <fpage>120</fpage>
          -
          <lpage>130</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Allman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nordman</surname>
          </string-name>
          , dhe V. Paxson, “
          <article-title>Enabling an Energy-Efficient Future Internet Through Selectively Connected End Systems</article-title>
          ,” Sixth Workshop on Hot Topics in
          <string-name>
            <surname>Networks (HotNets-VI)</surname>
          </string-name>
          ,
          <year>November 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Sergiu</surname>
            <given-names>Nedevschi</given-names>
          </string-name>
          , Jaideep Chandrashekar, Junda Liu, Bruce Nordman, Sylvia Ratnasamy, Nina Taft - “
          <article-title>Skilled in the Art of Being Idle: Reducing Energy Waste in Networked Systems”</article-title>
          , NSDI Conference,
          <year>April 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>UPnP</given-names>
            <surname>Low Power Architecture</surname>
          </string-name>
          ,
          <source>Version</source>
          <volume>1</volume>
          .0,
          <string-name>
            <given-names>UPnP</given-names>
            <surname>Forum</surname>
          </string-name>
          ,
          <year>August 27</year>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Yuvraj</surname>
            <given-names>Agarwal</given-names>
          </string-name>
          , Steve Hodges,
          <string-name>
            <given-names>James</given-names>
            <surname>Scott</surname>
          </string-name>
          , Ranveer Chandra, Paramvir Bahl, Rajesh Gupta “Somniloquy: Maintaining Network Connectivity While Your Computer Sleeps”,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>