Theodore Martin is the lead TA for this lab.
|
|
|
- Rhoda Tucker
- 9 years ago
- Views:
Transcription
1 CS 213, Fall 2010 Lab Assignment L7: Writing a Caching Web Proxy Assigned: Tue, Nov 09, Due: Tue, Nov 23, 11:59 PM Last Possible Time to Turn in: Fri, Nov 26, 11:59 PM Theodore Martin ([email protected]) is the lead TA for this lab. 1 Introduction A web proxy is a program that acts as a middleman between a web server and browser. Instead of contacting the server directly to get a web page, the browser contacts the proxy, which forwards the request on to the server. When the server replies to the proxy, the proxy sends the reply on to the browser. Proxies are used for many purposes. Sometimes proxies are used in firewalls, such that the proxy is the only way for a browser inside the firewall to contact a server outside. The proxy may do translation on the page, for instance, to make it viewable on a web-enabled cell phone. Proxies are used as anonymizers by stripping a request of all identifying information, a proxy can make the browser anonymous to the server. Proxies can even be used to cache web objects, by storing a copy of, say, an image when a request for it is first made, and then serving that image directly in response to future requests rather than going to the server. In this lab, you will write a simple proxy that caches web objects. In the first part of the lab, you will set up the proxy to accept a request, forward the request to the server, and return the result back to the browser. In this part, you will learn how to write programs that interact with each other over a network (socket programming), as well as some basic HTTP. In the second part, you will upgrade your proxy to deal with multiple open connections at once. Your proxy should spawn a separate thread to deal with each request. This will give you an introduction to dealing with concurrency, a crucial systems concept. Finally, you will turn your proxy into a proxy cache by adding a simple main memory cache of recently accessed web pages. 2 Logistics Unlike previous labs, you can work individually or in a group of two on this assignment. The lab is designed to be doable by a single person, so there is no penalty for working alone. You are, however, welcome to team up with another student if you wish. 1
2 We will not be releasing an autograder for this lab, nor will autolab run the autograder for you. The autograde will be determined by a tool called dbug which we will explain in a later section. The majority of your grade will be determined by giving a demo of your proxy to a member of the course staff in the days following the due date for this lab. Every student is required to attend an interview with a TA, groups should attend an interview together as a group. You will not receive a grade on this assignment unless you sign up for, and attend an interview with a member of the course-staff. A link to demo sign-ups will be posted on the course web page soon. All clarifications and revisions to the assignment will be posted to the Autolab message board. Partner signups will be through autolab. You will receive directions for signing up in recitation. DBUG Jiri Simsa has created a tool for checking concurrent code for race conditions. He has adapted this tool to create a grade for your proxy for eliminating race conditions. 30% of your grade on this lab will be based on this tool. He will be hosting an explanation of DBUG on November 20th as well as making a virtual image available for your use in debugging your proxy. This is tentatively scheduled for 3PM in McConomy Auditorium. Grace Days: You may use this function to calculate the number of late days you may use on this lab. min(1, your late days remaining, your partner s late days remaining) 3 Hand Out Instructions Start by downloading proxylab-handout.tar from Autolab to a protected directory in which you plan to do your work. Then give the command tar xvf proxylab-handout.tar. This will cause a number of files to be unpacked in the directory. The three files you will be modifying and turning in are proxy.c, csapp.c, and csapp.h. You may add any files you wish to this directory as you will be submitting the entire directory NOTE: Transfer the tarball to a shark machine before unpacking it. Some operating systems and file transfer clients wipe out Unix file permission bits. The proxy.c file should eventually contain the bulk of the logic for your proxy. The csapp.c and csapp.h files are described in your textbook. The csapp.c file contains error handling wrappers and helper functions such as the RIO functions (Section 11.4), the open clientfd function (Section ), and the open listenfd function (Section ). 4 Part I: Implementing a Sequential Web Proxy The first step is implementing a basic sequential proxy that handles requests one at a time. When started, your proxy should open a socket and listen for connection requests on the port number that is passed in on the command line. (See the section Port Numbers below.) When the proxy receives a connection request from a client (typically a web browser), the proxy should accept the connection, read the request, verify that it is a valid HTTP request, and parse it to determine the server that the request was meant for. It should then open a connection to that server, send it the request, receive the reply, and forward the reply to the browser. 2
3 Notice that, since your proxy is a middleman between client and server, it will have elements of both. It will act as a server to the web browser, and as a client to the web server. Thus you will get experience with both client and server programming. Processing HTTP Requests When an end user enters a URL such as into the address bar of the browser, the browser sends an HTTP request to the proxy that begins with a line looking something like this: GET HTTP/1.0 In this case the proxy will parse the request, open a connection to and then send an HTTP request starting with a line of the form: GET /news.html HTTP/1.0 to the server Please note that all lines end with a carriage return \r followed by a line feed \n, and that HTTP request headers are terminated with an empty line. Since a port number was not specified in the browser s request, in this example the proxy connects to the default HTTP port (port 80) on the server. The web browser may specify a port that the web server is listening on, if it is different from the default of 80. This is encoded in a URL as follows: The proxy, on seeing this URL in a request, should connect to the server on port The proxy then simply forwards the response from the server on to the browser. IMPORTANT: Please read the brief section in your textbook (Sec , HTTP transactions) to better understand the format of the HTTP requests your proxy should send to a server. NOTE: Be sure to parse out the port number from the URL. We will be testing this. If the port is not explicitly stated, use the default port of port 80. Port Numbers Every server on the Internet waits for client connections on a well-known port. The exact port number varies from Internet service to service. The clients of your proxy (your browser for example), will need to be told not just the hostname of the machine running the proxy, but also the port number on which it is listening for connections. Your proxy should accept a command-line argument that gives the port number on which it should listen for connection requests. For example, the following command runs a proxy listening on port 15213: unix>./proxy You will need to specify a port each time you wish to test the code you ve written. Since there might be many people working on the same machine, all of you can not use the same port to run your proxies. You 3
4 are allowed to select any non-privileged port (greater than 1K and less than 64K) for your proxy, as long as it is not taken by other system processes. Selecting a port in the upper thousands is suggested (i.e., 3070 or 8104). We have provided a sample script (port for user.pl) that will generate a port number based on your userid: unix>./port_for_user.pl hbovik droh: We strongly advise you to use this port number for you proxy rather than randomly picking one each time you run. This way, you will not trample on other students ports. 5 Part II: Dealing with Multiple Requests Real proxies do not process requests sequentially. They deal with multiple requests in parallel. This is particularly important when handling a request can involve a lot of waiting (as it can when you are, for instance, contacting a remote web server). While your proxy is waiting for a remote server to respond to a request so that it can serve one browser, it could be working on a pending request from another browser. Thus, once you have a working sequential proxy, you should alter it to handle multiple requests simultaneously. The approach we suggest is using threads. A common way of dealing with concurrent requests is for a server to spawn a thread to deal with each request that comes in. In this architecture, the main server thread simply accepts connections and spawns off worker threads that actually deal with the requests (and terminate when they are done). 6 Part III: Caching Web Objects In this part you will add a cache to your proxy that will cache recently accessed content in main memory. HTTP actually defines a fairly complex caching model where web servers can give instructions as to how the objects they serve should be cached and clients can specify how caches are used on their behalf. In this lab, however, we will adapt a somewhat simplified approach. When your proxy queries a web server on behalf of one of your clients, you should save the object in memory as you transmit it back to the client. This way if another client requests the same object at some later time, your proxy needn t connect to the server again. It can simply resend the cached object. Obviously, if your proxy stored every object that was ever requested, it would require an unlimited amount of memory. To avoid this (and to simplify our testing) we will establish a maximum cache size of MAX CACHE SIZE = 1MB and evict objects from the cache when the size exceeds this maximum. We will require a simple least-recently-used (LRU) cache replacement policy when deciding which objects to evict. One way to achieve this is to mark each cached object with a time-stamp every time it is used. When you need to evict one, choose the one with the oldest time-stamp. Note that reads and writes of a cached object both count as using it. 4
5 Another problem is that some web objects are much larger than others. It is probably not a good idea to delete all the objects in your cache in order to store one giant one, therefore we will establish a maximum object size of MAX OBJECT SIZE = 100KB You should stop trying to cache an object once its size grows above this maximum. The easiest way to implement a correct cache is to allocate a buffer for each active connection and accumulate data as you receive it from the server. If your buffer ever exceeds MAX OBJECT SIZE, then you can delete the buffer and just finish sending the object to the client. After you receive all the data you can then put the object into the cache. Using this scheme the maximum amount of data you will ever store in memory is actually MAX CACHE SIZE+T MAX OBJECT SIZE where T is the maximum number of active connections. Since this cache is a shared resource amongst your connection threads, you must make sure your cache is thread-safe. A simple strategy to make your cache thread-safe is to use a rwlock to ensure that a thread writing to the cache is the only one accessing it. 7 Evaluation For the majority of the grade, each group will meet with a member of the course staff and give a demo in the days following the due date of the lab. The demo will be a chance for a member of the course staff to evaluate your proxy. All members of the group must be present and be prepared to discuss and answer any questions concerning the implementation and/or testing procedures. Further instructions for the demo sign-up will be posted on the class webpage. There are a total of 100 points for this assignment. Points will be assigned based on the the following criteria: Basic sequential proxy (30 points). Credit will be given for a program that accepts connections, forwards the requests to a server, and sends the reply back to the browser. 25 points will be given for properly accepting connections, forwarding requests to the server, and sending replies back to the browser. Your proxy must be able to handle sequences of requests, with memory and system resources recovered between requests. 5 points will be given for handling the SIGPIPE signal correctly (Please see the hints in Section 10). Handling concurrent requests (30 points). Your proxy is required to handle multiple concurrent connections so that one slow web server does not hold up other requests from completing. Memory and system resources must be recovered after servicing requests. Also, your proxy must be free of race conditions. This section will be autograded by DBUG. Caching (30 points). You will receive 30 points for a correct thread-safe cache. 5
6 15 points will be given if your proxy returns cached objects when possible. Your cache must adhere to the cache size limit and the maximum object size limit, and must not insert duplicate entries into the cache. 7.5 points will be given for a proper implementation of the specified least-recently-used (LRU) eviction policy. 7.5 points will be given for proper use of locks. Your cache must be free of race conditions, deadlocks, and excessive locking. Excessive locking includes keeping the cache locked across a network system call or not allowing multiple connection threads to read from the cache concurrently. You may lock down the entire cache every time an update (an insert) is performed. Style (10 points). Up to 10 points will be awarded for code that is readable, robust and well commented. Define subroutines where necessary to make the code more understandable. Also you should check the return codes of all library functions and handle errors as appropriate. It is NOT appropriate to use the capital-letter CSAPP wrappers around system calls. These wrappers will kill the entire proxy if there is an error on a single connection. The correct thing to do is to close that connection and terminate the connection thread. You will lose style points if your proxy simply terminates when it encounters an error during reading and writing. 8 Debugging and Testing Your Proxy For this lab, you will not have any sample inputs or a driver program to test your implementation. You will have to come up with your own tests to help you debug your code and decide when you have a correct implementation. This is a valuable skill for programming in the real world, where exact operating conditions are rarely known and reference solutions are usually not available. Below are some suggested means by which you can debug your proxy, to help you get started. Be sure to exercise all code paths and test a representative set of inputs, including base cases, typical cases, and edge cases. Telnet You can use telnet to send requests to any web server (and/or to your proxy). For initial debugging purposes, you can use print statements in your proxy to trace the flow of information between the proxy, clients and web servers. Run your proxy from a shark machine on an unused port, then connect to your proxy from another xterm window and make requests. The following output is a sample client trace where the proxy is running on lemonshark.ics.cs.cmu.edu on port 1217: unix> telnet lemonshark.ics.cs.cmu.edu 1217 Trying Connected to lemonshark.ics.cs.cmu.edu. Escape character is ˆ]. GET HTTP/1.0 HTTP/ OK... 6
7 Tiny Server We have provided you with code to the CS:APP Tiny Web Server in the handout directory. A version is also available through the CS:APP student website You may wish to modify the code in order to control any server behavior and/or to debug from the web server s end. Web browsers After your proxy is working with telnet, then you should test it with a real browser! It is very exciting to see your code serving content from a real server to a real browser. Please test prior to demo time that your proxy works Mozilla Firefox; if you can test with other browsers, you are encouraged to do so. To setup Firefox to use a proxy, open the Settings window. In the Advanced pane, there is an option to Configure how Firefox connects to the Internet. Click the Settings button and set only your HTTP proxy (using manual configuration). The server will be whatever shark machine your proxy is running on, and the port is the same as the one you passed to the proxy when you ran it. Suggested Websites Your proxy should be able to serve any web page. As a first step, however, we recommend that your proxy be able to serve the web pages listed below. The list is by no means exhaustive; we will test your proxy with additional websites during the demo. The list is in approximately increasing order of how much your proxy will be stressed in serving the website Handin Instructions Make sure you have included all names and Andrew IDs of your group members in the header comments of each file you hand in. Hand in proxylab.tar.gz, which includes all files you need to compile your proxy with, by uploading them to Autolab. Steps to tar up your lab: 1) make submit Important: You only need submit once per group. Autolab will link your submission when you register your partners. You may submit your solution as many times as you wish up until the due date. 7
8 10 Resources and Hints Read Chapters in your textbook. They contain useful information on system-level I/O, network programming, HTTP protocols, and concurrent programming. To get started, you can start with the echo server described in your text and then gradually add functionality. The Tiny Web server described in your text will also provide useful hints. VERY IMPORTANT: Thread-safety. Please be very careful when accessing shared variables from multiple threads. Normally, the cache should be the only shared object accessed by the different threads concurrently. Make sure you have enumerated race-conditions: for example, while one thread is utilizing a cache entry object, another thread might end up free ing the same entry. At the same time, it is important to perform locking only at places where it is necessary because it can cause significant performance degradation. When using threads, keep in mind that gethostbyname is not thread-safe and should be protected using a lock and copy technique, as described in your text. IMPORTANT: When using threads to handle connection requests, you must run them as detached, not joinable, to avoid memory leaks that could crash the machine. To run a thread detached, add the line pthread detach(thread id) in the parent after calling pthread create(). Use the RIO (Robust I/O) package described in your textbook for all I/O on sockets. Do not use standard I/O functions such as fread and fwrite on sockets. You will quickly run into problems if you do. IMPORTANT: Be aware that the default error handling wrappers (upper case first letter) supplied for the RIO routines in csapp.c are not appropriate for your proxies because the wrappers terminate whenever they encounter any kind of error. Your proxy should be more forgiving. Use the regular RIO routines (lower case first letter) for reading and writing. If you encounter an error reading or writing to a socket, simply close the socket. Here are some examples of the kinds of errors you can expect to encounter: In certain cases, a client closing a connection prematurely results in the kernel delivering a SIGPIPE signal to the proxy. This is particularly the case with Internet Explorer. To prevent your proxy from crashing, you should ignore this signal by adding the following line early in your code: Signal(SIGPIPE, SIG_IGN); In certain cases, writing to a socket whose connection has been closed prematurely results in the write system call returning a -1 and setting errno to EPIPE (Broken pipe). Your proxy should not terminate when a write elicits an EPIPE error. Simply close the socket, optionally print an error message, and continue. Reading from a socket whose connection has been reset by the kernel at the other end (e.g., if the process that owned the connection dies) can cause the read to return a -1 with errno to ECONNRESET (Connection reset by peer). Again, your proxy should not die if it encounters this error. 8
9 Here is how you should forward browser requests to servers so as to achieve the simplest and most predictable behavior from the servers: Always send a Host: <hostname> request header to the server. Some servers (like csapp.cs.cmu.edu) require this header because they use virtual hosting. For example, the Host header for csapp.cs.cmu.edu would be Host: csapp.cs.cmu.edu. Forward all requests to servers as version HTTP/1.0, even if the original request was HTTP/1.1. Since HTTP/1.1 supports persistent connections by default, the server won t close the connection after it responds to an HTTP/1.1 request. If you forward the request as HTTP/1.0, you are asking the server to close the connection after it sends the response. Thus your proxy can reliably use EOF on the server connection to determine the end of the response. Replace any Connection/Proxy-Connection: [connection-token] request headers with Connection/Proxy- Connection: close. Also remove any Keep-Alive: [timeout-interval] request headers. The reason for this is that some misbehaving servers will sometimes use persistent connections even for HTTP/1.0 requests. You can force the server to close the connection after it has sent the response by sending the Connection: close header. Finally, try to keep your code as object-oriented and modular as possible. In other words, make sure each data structure is initialized, accessed, changed or freed by a small set of functions. 9
CS105, Spring 2016 Proxy Lab: Writing a Caching Web Proxy See course webpage for due dates
CS105, Spring 2016 Proxy Lab: Writing a Caching Web Proxy See course webpage for due dates 1 Introduction A Web proxy is a program that acts as a middleman between a Web browser and an end server. Instead
CS 213, Fall 2000 Lab Assignment L5: Logging Web Proxy Assigned: Nov. 28, Due: Mon. Dec. 11, 11:59PM
CS 213, Fall 2000 Lab Assignment L5: Logging Web Proxy Assigned: Nov. 28, Due: Mon. Dec. 11, 11:59PM Jason Crawford ([email protected]) is the lead person for this assignment. Introduction A web proxy
Advanced Computer Networks Project 2: File Transfer Application
1 Overview Advanced Computer Networks Project 2: File Transfer Application Assigned: April 25, 2014 Due: May 30, 2014 In this assignment, you will implement a file transfer application. The application
CS 164 Winter 2009 Term Project Writing an SMTP server and an SMTP client (Receiver-SMTP and Sender-SMTP) Due & Demo Date (Friday, March 13th)
CS 164 Winter 2009 Term Project Writing an SMTP server and an SMTP client (Receiver-SMTP and Sender-SMTP) Due & Demo Date (Friday, March 13th) YOUR ASSIGNMENT Your assignment is to write an SMTP (Simple
EVault for Data Protection Manager. Course 361 Protecting Linux and UNIX with EVault
EVault for Data Protection Manager Course 361 Protecting Linux and UNIX with EVault Table of Contents Objectives... 3 Scenario... 3 Estimated Time to Complete This Lab... 3 Requirements for This Lab...
COMP 112 Assignment 1: HTTP Servers
COMP 112 Assignment 1: HTTP Servers Lead TA: Jim Mao Based on an assignment from Alva Couch Tufts University Due 11:59 PM September 24, 2015 Introduction In this assignment, you will write a web server
How to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Network Technologies
Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:
Help. F-Secure Online Backup
Help F-Secure Online Backup F-Secure Online Backup Help... 3 Introduction... 3 What is F-Secure Online Backup?... 3 How does the program work?... 3 Using the service for the first time... 3 Activating
3 Setting up Databases on a Microsoft SQL 7.0 Server
3 Setting up Databases on a Microsoft SQL 7.0 Server Overview of the Installation Process To set up GoldMine properly, you must follow a sequence of steps to install GoldMine s program files, and the other
Capturing Network Traffic With Wireshark
Capturing Network Traffic With Wireshark A White Paper From For more information, see our web site at Capturing Network Traffic with Wireshark Last Updated: 02/26/2013 In some cases, the easiest way to
ODBC Driver User s Guide. Objectivity/SQL++ ODBC Driver User s Guide. Release 10.2
ODBC Driver User s Guide Objectivity/SQL++ ODBC Driver User s Guide Release 10.2 Objectivity/SQL++ ODBC Driver User s Guide Part Number: 10.2-ODBC-0 Release 10.2, October 13, 2011 The information in this
Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview
Web and HTTP Protocolo HTTP Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each
15-441: Computer Networks Project 1: Internet Relay Chat (IRC) Server
15-441: Computer Networks Project 1: Internet Relay Chat (IRC) Server Lead TA: Daegun Won Assigned: January 21, 2010 Checkpoint 1 due: January 26, 2010 Checkpoint 2 due: February
Docufide Client Installation Guide for Windows
Docufide Client Installation Guide for Windows This document describes the installation and operation of the Docufide Client application at the sending school installation site. The intended audience is
FileMaker Server 15. Getting Started Guide
FileMaker Server 15 Getting Started Guide 2007 2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks
Background (http://ha.ckers.org/slowloris)
CS369/M6-109 Lab DOS on Apache Rev. 3 Deny Of Service (DOS): Apache HTTP web server DOS attack using PERL script Background (http://ha.ckers.org/slowloris) The ideal situation for many denial of service
System Administration Training Guide. S100 Installation and Site Management
System Administration Training Guide S100 Installation and Site Management Table of contents System Requirements for Acumatica ERP 4.2... 5 Learning Objects:... 5 Web Browser... 5 Server Software... 5
Remote login (Telnet):
SFWR 4C03: Computer Networks and Computer Security Feb 23-26 2004 Lecturer: Kartik Krishnan Lectures 19-21 Remote login (Telnet): Telnet permits a user to connect to an account on a remote machine. A client
TELNET CLIENT 5.11 SSH SUPPORT
TELNET CLIENT 5.11 SSH SUPPORT This document provides information on the SSH support available in Telnet Client 5.11 This document describes how to install and configure SSH support in Wavelink Telnet
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
Performance Optimization Guide
Performance Optimization Guide Publication Date: July 06, 2016 Copyright Metalogix International GmbH, 2001-2016. All Rights Reserved. This software is protected by copyright law and international treaties.
E-Blocks Easy Internet Bundle
Page 1 Cover Page Page 2 Flowcode Installing Flowcode Instruction for installing Flowcode can be found inside the installation booklet located inside the Flowcode DVD case. Before starting with the course
Lab 2 : Basic File Server. Introduction
Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and
McAfee Web Gateway 7.4.1
Release Notes Revision B McAfee Web Gateway 7.4.1 Contents About this release New features and enhancements Resolved issues Installation instructions Known issues Find product documentation About this
Multi-threaded FTP Client
Multi-threaded FTP Client Jeffrey Sharkey University of Minnesota Duluth Department of Computer Science 320 Heller Hall 1114 Kirby Drive Duluth, Minnesota 55812-2496 Website: http://www.d.umn.edu/~shar0213/
Chapter 28: Expanding Web Studio
CHAPTER 25 - SAVING WEB SITES TO THE INTERNET Having successfully completed your Web site you are now ready to save (or post, or upload, or ftp) your Web site to the Internet. Web Studio has three ways
PAYMENTVAULT TM LONG TERM DATA STORAGE
PAYMENTVAULT TM LONG TERM DATA STORAGE Version 3.0 by Auric Systems International 1 July 2010 Copyright c 2010 Auric Systems International. All rights reserved. Contents 1 Overview 1 1.1 Platforms............................
How to access Answering Islam if your ISP blocks it
How to access Answering Islam if your ISP blocks it Some ISPs will block IP addresses of servers they find inappropriate. This might mean for you that you cannot access Answering Islam. In this case you
WS_FTP Server. User s Guide. Software Version 3.1. Ipswitch, Inc.
User s Guide Software Version 3.1 Ipswitch, Inc. Ipswitch, Inc. Phone: 781-676-5700 81 Hartwell Ave Web: http://www.ipswitch.com Lexington, MA 02421-3127 The information in this document is subject to
There are numerous ways to access monitors:
Remote Monitors REMOTE MONITORS... 1 Overview... 1 Accessing Monitors... 1 Creating Monitors... 2 Monitor Wizard Options... 11 Editing the Monitor Configuration... 14 Status... 15 Location... 17 Alerting...
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2.
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft
Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13
Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13 The information contained in this guide is not of a contractual nature and may be subject to change without prior notice. The software described in this
Practice Fusion API Client Installation Guide for Windows
Practice Fusion API Client Installation Guide for Windows Quickly and easily connect your Results Information System with Practice Fusion s Electronic Health Record (EHR) System Table of Contents Introduction
webmethods Certificate Toolkit
Title Page webmethods Certificate Toolkit User s Guide Version 7.1.1 January 2008 webmethods Copyright & Document ID This document applies to webmethods Certificate Toolkit Version 7.1.1 and to all subsequent
Microsoft SQL Server Guide. Best Practices and Backup Procedures
Microsoft SQL Server Guide Best Practices and Backup Procedures Constellation HomeBuilder Systems Inc. This document is copyrighted and all rights are reserved. This document may not, in whole or in part,
FreeAgent DockStar Network Adapter User Guide
FreeAgent DockStar Network Adapter User Guide FreeAgent DockStar Network Adapter User Guide 2010 Seagate Technology LLC. All rights reserved. Seagate, Seagate Technology, the Wave logo, and FreeAgent are
SHARPCLOUD SECURITY STATEMENT
SHARPCLOUD SECURITY STATEMENT Summary Provides details of the SharpCloud Security Architecture Authors: Russell Johnson and Andrew Sinclair v1.8 (December 2014) Contents Overview... 2 1. The SharpCloud
PMOD Installation on Linux Systems
User's Guide PMOD Installation on Linux Systems Version 3.7 PMOD Technologies Linux Installation The installation for all types of PMOD systems starts with the software extraction from the installation
Appendix D: Configuring Firewalls and Network Address Translation
Appendix D: Configuring Firewalls and Network Address Translation The configuration information in this appendix will help the network administrator plan and configure the network architecture for Everserve.
EXTENDED FILE SYSTEM FOR F-SERIES PLC
EXTENDED FILE SYSTEM FOR F-SERIES PLC Before you begin, please download a sample I-TRiLOGI program that will be referred to throughout this manual from our website: http://www.tri-plc.com/trilogi/extendedfilesystem.zip
Bitrix Site Manager ASP.NET. Installation Guide
Bitrix Site Manager ASP.NET Installation Guide Contents Introduction... 4 Chapter 1. Checking for IIS Installation... 5 Chapter 2. Using An Archive File to Install Bitrix Site Manager ASP.NET... 7 Preliminary
Ipswitch WS_FTP Server
Ipswitch WS_FTP Server User s Guide Software Version 5.0 Ipswitch, Inc Ipswitch Inc. Web: http://www.ipswitch.com 10 Maguire Road Phone: 781.676.5700 Lexington, MA Fax: 781.676.5710 02421 Copyrights The
SSL Enablement of the DB2 Web Query for System i Server
SSL Enablement of the DB2 Web Query for System i Server By default the DB2 Web Query server listens on a non-secure port of 12331. In order to change the server to make the 12331 port SSL enabled, the
Law Conferencing uses the Webinterpoint 8.2 web conferencing platform. This service is completely reservationless and available 24/7.
Law Conferencing uses the Webinterpoint 8.2 web conferencing platform. This service is completely reservationless and available 24/7. This document contains detailed instructions on all features. Table
Last modified: September 12, 2013 This manual was updated for TeamDrive Personal Server version 1.1.058
Last modified: September 12, 2013 This manual was updated for TeamDrive Personal Server version 1.1.058 2013 TeamDrive Systems GmbH Page 1 Table of Contents 1 Installing the TeamDrive Personal Server...
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Server Software Installation Guide
Server Software Installation Guide This guide provides information on...... The architecture model for GO!Enterprise MDM system setup... Hardware and supporting software requirements for GO!Enterprise
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
Internet Information TE Services 5.0. Training Division, NIC New Delhi
Internet Information TE Services 5.0 Training Division, NIC New Delhi Understanding the Web Technology IIS 5.0 Architecture IIS 5.0 Installation IIS 5.0 Administration IIS 5.0 Security Understanding The
TCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
Install MS SQL Server 2012 Express Edition
Install MS SQL Server 2012 Express Edition Sohodox now works with SQL Server Express Edition. Earlier versions of Sohodox created and used a MS Access based database for storing indexing data and other
Using TestLogServer for Web Security Troubleshooting
Using TestLogServer for Web Security Troubleshooting Topic 50330 TestLogServer Web Security Solutions Version 7.7, Updated 19-Sept- 2013 A command-line utility called TestLogServer is included as part
EVault Software. Course 361 Protecting Linux and UNIX with EVault
EVault Software Course 361 Protecting Linux and UNIX with EVault Table of Contents Objectives... 3 Scenario... 3 Estimated Time to Complete This Lab... 3 Requirements for This Lab... 3 Computers Used in
Astaro Security Gateway V8. Remote Access via SSL Configuring ASG and Client
Astaro Security Gateway V8 Remote Access via SSL Configuring ASG and Client 1. Introduction This guide contains complementary information on the Administration Guide and the Online Help. If you are not
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,
Application Note Startup Tool - Getting Started Guide
Application Note Startup Tool - Getting Started Guide 1 April 2012 Startup Tool Table of Contents 1 INGATE STARTUP TOOL... 1 2 STARTUP TOOL INSTALLATION... 2 3 CONNECTING THE INGATE FIREWALL/SIPARATOR...
Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2
Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22
Go to CGTech Help Library. Installing CGTech Products
Go to CGTech Help Library Installing CGTech Products VERICUT Installation Introduction to Installing VERICUT Installing and configuring VERICUT is simple, typically requiring only a few minutes for most
Custom Web ADI Integrators
Custom Web ADI Integrators John Peters JRPJR, Inc. [email protected] NorCal OAUG Training Day, Pres 5.12 John Peters, JRPJR, Inc. 1 Introduction John Peters, Independent Consulting in the SF Bay Area
CASHNet Secure File Transfer Instructions
CASHNet Secure File Transfer Instructions Copyright 2009, 2010 Higher One Payments, Inc. CASHNet, CASHNet Business Office, CASHNet Commerce Center, CASHNet SMARTPAY and all related logos and designs are
How to Create and Send a Froogle Data Feed
How to Create and Send a Froogle Data Feed Welcome to Froogle! The quickest way to get your products on Froogle is to send a data feed. A data feed is a file that contains a listing of your products. Froogle
SysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
State of Michigan Data Exchange Gateway. Web-Interface Users Guide 12-07-2009
State of Michigan Data Exchange Gateway Web-Interface Users Guide 12-07-2009 Page 1 of 21 Revision History: Revision # Date Author Change: 1 8-14-2009 Mattingly Original Release 1.1 8-31-2009 MM Pgs 4,
RMCS Installation Guide
RESTRICTED RIGHTS Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (C)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS
Project 2: Penetration Testing (Phase II)
Project 2: Penetration Testing (Phase II) CS 161 - Joseph/Tygar November 17, 2006 1 Edits If we need to make clarifications or corrections to this document after distributing it, we will post a new version
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Installation and Deployment
Installation and Deployment Help Documentation This document was auto-created from web content and is subject to change at any time. Copyright (c) 2016 SmarterTools Inc. Installation and Deployment SmarterStats
Introduction. How does FTP work?
Introduction The µtasker supports an optional single user FTP. This operates always in active FTP mode and optionally in passive FTP mode. The basic idea of using FTP is not as a data server where a multitude
Migrating helpdesk to a new server
Migrating helpdesk to a new server Table of Contents 1. Helpdesk Migration... 2 Configure Virtual Web on IIS 6 Windows 2003 Server:... 2 Role Services required on IIS 7 Windows 2008 / 2012 Server:... 2
Deltek Touch Time & Expense for Vision 1.3. Release Notes
Deltek Touch Time & Expense for Vision 1.3 Release Notes June 25, 2014 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical or technical
Jive Connects for Microsoft SharePoint: Troubleshooting Tips
Jive Connects for Microsoft SharePoint: Troubleshooting Tips Contents Troubleshooting Tips... 3 Generic Troubleshooting... 3 SharePoint logs...3 IIS Logs...3 Advanced Network Monitoring... 4 List Widget
Bitrix Site Manager 4.0. Quick Start Guide to Newsletters and Subscriptions
Bitrix Site Manager 4.0 Quick Start Guide to Newsletters and Subscriptions Contents PREFACE...3 CONFIGURING THE MODULE...4 SETTING UP FOR MANUAL SENDING E-MAIL MESSAGES...6 Creating a newsletter...6 Providing
vcloud Director User's Guide
vcloud Director 5.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of
Local Caching Servers (LCS): User Manual
Local Caching Servers (LCS): User Manual Table of Contents Local Caching Servers... 1 Supported Browsers... 1 Getting Help... 1 System Requirements... 2 Macintosh... 2 Windows... 2 Linux... 2 Downloading
Integrating with BarTender Integration Builder
Integrating with BarTender Integration Builder WHITE PAPER Contents Overview 3 Understanding BarTender's Native Integration Platform 4 Integration Builder 4 Administration Console 5 BarTender Integration
CS 557- Project 1 A P2P File Sharing Network
Assigned: Feb 26, 205 Due: Monday, March 23, 205 CS 557- Project A P2P File Sharing Network Brief Description This project involves the development of FreeBits, a file sharing network loosely resembling
Novell Identity Manager
AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with
Eucalyptus 3.4.2 User Console Guide
Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure
Infor Xtreme Browser References
Infor Xtreme Browser References This document describes the list of supported browsers, browser recommendations and known issues. Contents Infor Xtreme Browser References... 1 Browsers Supported... 2 Browser
AT&T Business Messaging Account Management
AT&T Business Messaging Account Management Admin User Guide December 2015 1 Copyright 2015 AT&T Intellectual Property. All rights reserved. AT&T, the AT&T logo and all other AT&T marks contained herein
CEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
DSI File Server Client Documentation
Updated 11/23/2009 Page 1 of 10 Table Of Contents 1.0 OVERVIEW... 3 1.0.1 CONNECTING USING AN FTP CLIENT... 3 1.0.2 CONNECTING USING THE WEB INTERFACE... 3 1.0.3 GETTING AN ACCOUNT... 3 2.0 TRANSFERRING
Gladinet Cloud Backup V3.0 User Guide
Gladinet Cloud Backup V3.0 User Guide Foreword The Gladinet User Guide gives step-by-step instructions for end users. Revision History Gladinet User Guide Date Description Version 8/20/2010 Draft Gladinet
How-to: HTTP-Proxy and Radius Authentication and Windows IAS Server settings. Securepoint Security System Version 2007nx
Securepoint Security System Version 2007nx HTTP proxy authentication with radius to a Windows 2003 server The Remote Authentication Dial-In User Service (RADIUS) is a client-server-protocol which is used
WhatsUp Gold v16.3 Installation and Configuration Guide
WhatsUp Gold v16.3 Installation and Configuration Guide Contents Installing and Configuring WhatsUp Gold using WhatsUp Setup Installation Overview... 1 Overview... 1 Security considerations... 2 Standard
Aras Innovator Internet Explorer Client Configuration
Aras Innovator Internet Explorer Client Configuration Aras Innovator 9.4 Document #: 9.4.012282009 Last Modified: 7/31/2013 Aras Corporation ARAS CORPORATION Copyright 2013 All rights reserved Aras Corporation
IBM i Version 7.2. Systems management Advanced job scheduler
IBM i Version 7.2 Systems management Advanced job scheduler IBM i Version 7.2 Systems management Advanced job scheduler Note Before using this information and the product it supports, read the information
FileMaker Server 13. Getting Started Guide
FileMaker Server 13 Getting Started Guide 2007 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker,
Oracle Enterprise Manager
Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Installation Guide Release 11.2.1 E13081-02 June 2009 This document was first written and published in November
Cloud Portal for imagerunner ADVANCE
Cloud Portal for imagerunner ADVANCE User's Guide Please read this guide before operating this product. After you finish reading this guide, store it in a safe place for future reference. ENG How This
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
ASUS WebStorage Client-based for Windows [Advanced] User Manual
ASUS WebStorage Client-based for Windows [Advanced] User Manual 1 Welcome to ASUS WebStorage, your personal cloud space Our function panel will help you better understand ASUS WebStorage services. The
Remote Filtering Software
Remote Filtering Software Websense Web Security Solutions v7.7-7.8 1996 2013, Websense, Inc. All rights reserved. 10240 Sorrento Valley Rd., San Diego, CA 92121, USA Published 2013 The products and/or
