Department of Computer Science & Engineering Green Client/Server Software to Save Energy in Network Devices Axel Vigo, Mentor: Miguel Jimeno, Advisor:

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

NetComm Wireless Dial on Demand Feature Spotlight.
Message Queues COMP3017 Advanced Databases Dr Nicholas Gibbins –
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
CNT 4603: Managing/Maintaining Server 2008 – Part 3 Page 1 Dr. Mark Llewellyn © CNT 4603: System Administration Spring 2014 Managing And Maintaining Windows.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
1 L53 Networking (2). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
1 2. Controlling Robot Car in Ogre References: 1. LEGO.com MINDSTORMS NXT Home, 2. OGRE 3D, 3. MSDN,
9.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 9: Installing and Configuring.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
CSCE 515: Computer Network Programming TCP Details Wenyuan Xu Department of Computer Science and Engineering.
Hands-On Microsoft Windows Server Connecting Through Terminal Services Terminal server – Enables clients to run services and software applications.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Fundamentals of Python: From First Programs Through Data Structures
File Systems (2). Readings r Silbershatz et al: 11.8.
Client – Server Architecture A Basic Introduction Kathleen R. Murray, Ph.D. May 2002.
Electronic Mail (SMTP, POP, IMAP, MIME)
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Agenda  Terminal Handling in Unix File Descriptors Opening/Assigning & Closing Sockets Types of Sockets – Internal(Local) vs. Network(Internet) Programming.
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
NET0183 Networks and Communications Lecture 31 The Socket API 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks Lecture powerpoints from.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
A system sharing informati on and services with individuals and groups webster.com/dictionary/ne tworking webster.com/dictionary/ne.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
Computer Networks Seminar Spring 2007 A Power Management Proxy with a New Best-of-N Bloom Filter Design to Reduce False Positives Miguel Jimeno Ken Christensen.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Power Management for Universal Plug and Play Jakob Klamra and Martin Olsson Department of Communication Systems Lund Institute of Technology Lund, Sweden.
Final Presentation for Senior Project April 25, of 25 Jarrett Allen Luis Cintron Michael Kubacki Robert Skinner Department of Computer Science and.
Dana Butnariu Princeton University EDGE Lab June – September 2011 OPTIMAL SLEEPING IN DATACENTERS Joint work with Professor Mung Chiang, Ioannis Kamitsos,
ITGS Networks. ITGS Networks and components –Server computers normally have a higher specification than regular desktop computers because they must deal.
OS2014 PROJECT 2 Supplemental Information. Outline Sequence Diagram of Project 2 Kernel Modules Kernel Sockets Work Queues Synchronization.
Threaded Programming in Python Adapted from Fundamentals of Python: From First Programs Through Data Structures CPE 401 / 601 Computer Network Systems.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
SECURING SELF-VIRTUALIZING ETHERNET DEVICES IGOR SMOLYAR, MULI BEN-YEHUDA, AND DAN TSAFRIR PRESENTED BY LUREN WANG.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
C3 confidentiality classificationIntegrated M2M Terminals Introduction Vodafone MachineLink 3G v1.0 1 Vodafone MachineLink 3G Connect on demand Feature.
Processes Creation and Threads. Shared Resource Example The console is just a place where text can be printed by the application currently running. Program.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
1 Tips for the assignment. 2 Socket: a door between application process and end- end-transport protocol (UDP or TCP) TCP service: reliable transfer of.
JavaScript and Ajax (Internet Background) Week 1 Web site:
Telnet  TErminaL NETwork  TELNET is a general-purpose client-server application program  TELNET enables the establishment of a connection to a remote.
Client – Server Architecture A Basic Introduction 1.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
1 K. Salah Application Layer Module K. Salah Network layer duties.
The Echo Server Problem. Contents  Basic Networking Concepts  The Echo Server Problem.
The Echo Server Problem. Contents  Basic Networking Concepts  The Echo Server Problem.
Introduction To Application Layer
Remote Logging, Electronic Mail, and File Transfer
Threaded Programming in Python
Process-to-Process Delivery, TCP and UDP protocols
Client/Server Example
Department of Computer Science University of Calgary
Class 3: Implementing Network Connectivity 2
Pub/sub-based Web Applications
Process-to-Process Delivery:
Lab Usage Data Impact Approach Problem
Software Engineering for Internet Applications
Energy-Efficient Storage Systems
Threaded Programming in Python
TA: Donghyun (David) Kim
TELNET BY , S.AISHWARYA III-IT.
Presentation transcript:

Department of Computer Science & Engineering Green Client/Server Software to Save Energy in Network Devices Axel Vigo, Mentor: Miguel Jimeno, Advisor: Dr. Ken Christensen Background Many client/server applications (such as telnet and IM) maintain a TCP connection at all times. If the client enters a sleep state, the connection is broken and the server will “clean-up” its resources and lose data. That is, application state is tied to connection state. In this existing paradigm, clients cannot use existing power management capabilities and thus energy is wasted when the client is idle. Office and network equipment consume about $6 billion in electricity per year in the US. But we could save up to 32% if power management were enabled (K. Kawamoto et al., “Electricity Used by Office and Network Equipment in the U.S.”, Lawrence Berkeley National Lab, 2001). Solution One possible solution is to allow the server to buffer data for a disconnected and sleeping client. When the client wakes up and reconnects to the server, the buffered data is delivered to the client as illustrated in figure 1. Thus, the server does not clean-up resources when a client temporarily disconnects. REU 2007 Problem The problem is how to decouple application state from TCP connection state. Is it possible for a server application to allow a client to enter a sleep state during periods of inactivity and sustain application state in the server? If this can be done, a client could enable power management and consume less energy without losing important data. Evaluation The client and server programs were implemented in C using Windows sockets, semaphores, and threads. The sever program follows the design shown in figure 2 and sends a string to the client every minute which represents data traffic. When the client goes to “sleep”, the server stores the data in a queue. Once the client wakes up, the buffered messages are sent as shown in figure 3. Program gServer() wait for connection request from client establish connection start reconnect() start send() do forever if (buffer is not full) generate data and write to queue Process reconnect() do forever wait for client to disconnect wait for connection request from client establish connection to client Process send() do forever wait for queue to contain data if (disconnected from client) wait for connection to be established dequeue all data from queue and send Figure 1: How the green server and client work Figure 2: Server program pseudocode Figure 3: Server and client programs running Summary & Future Work In this project a new model for client/server applications to allow client computers to enter a sleep state and save energy was explored. The feasibility of server buffering during periods of disconnect was demonstrated via a prototype application. Future work includes: 1. Designing a method for the server to wake up the client when the server buffers are full. 2. Implementing this method in an actual application, such as in the telnet server in Linux.