GET <URL1> GET <URL2>
|
|
- Alexandrina Dorsey
- 5 years ago
- Views:
Transcription
1 Anetd: Active NETworks Daemon (v1.0) Livio Ricciulli August 10, Introduction Anetd is an experimental daemon specically designed to support the deployment, operation and control of active networks [3]. Anetd implements some new network management and engineering ideas derived from the ANCORS research project [2]. The anetd design philosophy is to be fully backward compatible with current networking software, and at the same time to introduce new innovative functionality in managing, designing and controlling active networks. Anetd can run in either user mode or supervisory mode and has minimal installation requirements. Today, anetd can be be used to manage legacy networking software and more experimental software derived from active networking research. Anetd performs two major functions: It allows the deployment, conguration and control of networking software (including current active networking execution environment (EE) prototypes) into the network. It demultiplexes active network packets (encapsulated using ANEP [1]) to multiple EEs located on the same network node and sharing the same input port. Anetd requires little or no change to either legacy networking software or current active networking prototypes and greatly improves the ability to manage large active networks. We describe the two main features of Anted and show how these can be elegantly integrated in a single design. 1.1 Deployment Capability Today's global networks are extremely loosely coupled; they are composed of distinct administrative domains that share little or no \electronic knowledge" among them. In today's model, each domain replicates all software resources by copying large amounts of electronic data from software producers. As a software producer improves its products or augments them with new features, a task force of administrators manually changes the local electronic knowledge to keep the administrative domain in synch with the changes. From a system point of view, today's global networks can be seen as a 2-level caching hierarchy in which consistency is automatically maintained at the local level (between the user's machine and the local le server) but requires human intervention at the global level (manually installing new software as it becomes available). 1
2 Load_process <URL1> anetd Fork GET <URL1> Load_thread <URL2> New Process New thread GET <URL2> HTTP Server Figure 1: ANCORS daemons can spawn a new process or a thread within a process Anetd allows dierent administrative domains to share the same software base specied as URLs, and allows the deployment and control of distributed network services through a centralized source of electronic knowledge. The network services to be deployed are specied as URLs; anetd, after downloading a service with an HTTP GET command, strips the HTML header from the received code and installs the service. As shown in Figure 1, the download command can either (1) trigger the anetd to duplicate itself by using a fork system call to run the downloaded network service, or (2) simply add a thread to an existing process. Our current system management prototype supports the deployment of native binary compatible code or Java applications. The deployment and conguration mechanism is fully backward compatible. Legacy services can be congured by downloading conguration les and specifying required command-line arguments so that existing software can be easily deployed without modication. In addition to legacy services, anetd can be used to deploy and control ANCORS engineering services. For these applications, the daemon oers a set of built-in primitives, which are services that, in addition to standard native system functionality (I/O, memory management, networking), provide (1) multithreading (nonpreemptive), (2) LAN multicast emulation, and (3) global time synchronization. These primitives can provide support for distributed simulation network engineering applications, as well as some forms of sophisticated network monitoring. 1.2 ANEP Demultiplexing Active networking is motivated by the notion that the improvement and evolution of current networking software is greatly hindered by slow and expensive standardization processes. Active networking tries to facilitate changes to the networking software by developing an architecture that, by design, allows safe and ecient dynamic reconguration of the network. It has been proposed [3] that this idea can be implemented in two orthogonal ways. The discrete approach allows network administrators or engineers to issue explicit commands that load, modify or remove networking software. With this approach a network is active in the sense that it can be dynamically changed administratively. The integrated approach is being followed today by most active networking research and allows a much ner-grain dynamism. The network is modied by the data packets 2
3 that travel through it. When packets travel through the network, they automatically cause required software and resources to be loaded on demand. Anetd is a prototype that supports the merging of these two approaches. Anetd listens on a unique UDP port (e.g., the active networks port 3322) and accepts commands to implement the discrete approach (i.e., download, congure and manage networking software). In addition to processing commands directed to itself, anetd looks at the packets it receives and, if a packet is destined to one of the services it downloaded, it forwards that packet to the appropriate service. This kind of functionality is very useful in cases where several network services need to share a limited set of port numbers (as in the current architecture of an active node) and it is not possible or desirable to modify the lower level-protocols. 1.3 Deployable Networking Applications Anetd has been designed to require minimal modications to traditional networking applications to deploy them according to the discrete approach outlined in section 1.2. The only general requirement is that the applications must be fairly encapsulated and do not have many dependencies (e.g. do not require a large number of specic shared libraries that are not commonly available). Anetd supports the deployment of resources needed by the applications to facilitate the porting of existing software, but anetd is not intended to be used to deploy a large number of libraries or large portions of installation directories. In these cases, it is advisable to use standard manual installation methodologies or (as in the case of Java) bundle the required resources with anetd in advance. Anetd demultiplexing uses the standard input of the deployed service for forwarding packets to it. In other words, as explained below, an application wanting to receive trac demultiplexed by anetd coming from an ANEP port must read its input stream from standard input. This is accomplished as follows: once a new application with an ANEP type assigned to it is deployed, anetd adds the type ID to a demultiplexing table. The demultiplexing table maps an ANEP type ID to a le descriptor; the le descriptor, in turn, maps to the standard input of the application. Application output streams do not require any support from anetd and can allow the system to assign output ports automatically. 1 2 Implementation and Usage Anetd is implemented in \C" and, because it uses a standard Unix API, it should be easily portable to any Unix platform. For the moment, Anetd is available for Solaris on Sparc, Linux on x86 and FreeBsd on x Anetd listens on a user-assigned UDP port and accepts ANEP encapsulated packets. If the type ID in the ANEP packet header is of the type assigned to ANCORS by ANANA, the ANEP payload is parsed and anetd control commands are executed. A client application is also provided that formats control commands using ANEP and allows the sending of user-dened anetd commands to the daemon. 1 As far as we understand, this demultiplexing scheme is analogous to the mechanism that is used in inetd. 2 We strongly believe that with reasonable eort it could also be ported to Window-based platforms 3
4 2.1 Anetd Invocation Anetd is started on a network node as a user application. Anetd in its current implementation does not need any runtime privileges and can be started as ad.< ostype > [-p < ANEP port >] [-u < localportpoolstart >] [-s] < ostype > is one of solaris, linux or bsd44. These tags refer to the three platforms that anetd currently supports. { solaris=sunos 5.5.x running on Sparc { linux=linux running on Intel x86 { bsd44=freebsd running on Intel x86 < ANEP port > is the port on which anetd listens and is also demultiplexed (default. 3322). < localportpoolstart > is the starting port number for dynamically allocating local ports (default 8000). -s authorizes anetd to send a small heart-beat UDP packet every 30 seconds to our main anetd server (please enable it). For example, to start anetd on a Linux system using ANEP port 3324 and allocating local ports starting at port 7500, one would enter ad.linux -p u 7500 In case multiple Anetd servers need to be installed on the same host and using the dierent Unix user accounts to implement local access control policies (see Section 2.1.1) all these Anetd need to be started using the same ANEP port Access Control Network security is a very important issue that should be addressed during all stages of design and implementation of any networking system. Anetd version 1.0 now aords substantial security by employing 512 bit public key cryptography. As in the previous experimental version Anetd oers two ways of providing access control: (1) it executes deployment and control commands only originating from a set of known IP addresses (specied in a le called hosts.allow), and (2) it accepts code only originating from a set of known http servers (specied in a le called webs.allow). Clents' Access Control List Accepting control commands only from a set of clients allows administrative authority to be set, thus limiting misuse of the daemon. The main improvement in Anetd v1.0 is that the control commands are now digitally signed through RSA 512-bit public key cryptography. In addition, to improve security and exibility, each client can now be assigned a particular local Unix account. The access control le hosts.allow has the following format: < ClientIP > [< publickey >] [< localuseraccount >] 4
5 < ClientIP > is the IP address of the client that is authorized to issue control commands to Anetd. < publickey > is the client's 512-bit public key in printable ASCII (RFC 1113). If the public key is not present, any request coming from the hosts < ClientIP > will be executed without requiring a digital signature. If this led is present, any incoming request from the hosts < ClientIP > will be veried using the key. A give < ClientIP > address can be listed multiple times with dierent public key entries. In this case, all entries are tried until one of the entries matching the source address successfully veries the command or no more appropriate entries are found. In case a command cannot be veried, anetd returns the error CLIENT NOT AUTHORIZED. < localuseraccount > is the user name of the local user account that a client must use. In case this eld is not present, any request coming from the host < ClientIP > that is successfully veried will execute in the user account where the main Anetd daemon is executing. If this led is present, the main Anetd daemon will attempt to forward the incoming request to a daemon executing under user account localuseraccount. If no daemon executing under localuseraccount is found the command will be executed as if the eld was not present. Code Base Access Control List Limiting the origin of deployable services is somewhat analogous to providing an implicit form of certication of the code. Anetd uses the le web.allow to list the IP addresses of the code servers from which anetd is authorized to receive code. Setting up multiple local user accounts The hosts.allow access control le allows to map clients to local user accounts. This allows a node administrator (1) to customize access control rights for each client reusing Unix access control mechanisms and (2) provide protection to the services deployed by the clients from interfering from one another. The setup of local user accounts is as easy as creating the accounts as one would normally do in Unix and invoke an Anetd daemon to execute in each of the created accounts. The rst Anetd daemon that is invoked on a host will serve as the main Anetd daemon that will receive all ANEP packets and forward them to the appropriate user accounts (if necessary). All other Anetd daemons subsequently started that share the same ANEP port will automatically congure themselves as secondary daemons 2.2 Forwarding Unless a request is executed on the main daemon, requests need to be forwarded to secondary daemons thus increasing response time. To improve performance, the daemon responding to a client's request includes in the acknowledge the port number on which it is listening. This allows a client to learn the port number after the rst request and subsequently use that port to directly communicate with the right daemon without the additional forwarding delay. This port-mapping feature can be used in those cases in which performance is critical but can be ignored for normal operation. 5
6 2.3 Multiple Virtual Networks All Anetd daemons running under dierent user accounts started by specifying the same ANEP port logically behave as a single Anetd daemon, they all respond to requests coming on a unique port and may be indistinguishable from the client. Multiple logical Anetd daemons can be running simultaneously on the same host, perhaps implementing multiple virtual active networks. The only restrictions are that (1) multiple logical daemons, obviously, cannot share the same ANEP port, (2) if multiple logical daemons are controlled by the same client, care must be taken in avoiding overwriting conguration les and output redirection les (see Section 2.4 for more details) and (3) multiple logical daemons must share the same access control settings if their respective main daemons run under the same user account. 2.4 Control Commands Anetd control commands allow a client to deploy, congure and manage network application software. The LOAD command instructs anetd to download a number of les specied with URLs and start a network service. The load command has the format: LOAD [T=< anepid >] [J=< jurl > j X =< url > j A =< url >] [F=< url >...] [E=< var : val >...] [D=< dir >] [O=< file >] [R=< file >] T=< anepid > is the ANEP ID of the service being deployed. If this argument is not present, the deployed service will be assigned type 0 and no packets will be demultiplexed to it by anetd. J=< jurl > species a Java application. < jurl > is of the form where { servername.edu:port species the server where the data is located following the normal URL conventions. { classpath is a path pointing to the base classpath of the Java application. { class is the class to invoke. Both classpath and class can be a series of directories separated by \/". For example, J= species the URL of the ANTS application ants.congurationmanager located on SRI's http code server in the directory java/ants-1.2/. X=< url > means that < url > species a native binary executable. A=< url > means that < url > species an ANCORS thread (see [2]). F=< url > means that < url > species a data le that should be simply transferred and written on the local installation directory. 6
7 S=< string > tells anetd to invoke the deployed service with < string > as a command line argument. < string > cannot contain any white spaces. E=< variable >:< value > tells anetd to set the environment variable < variable > to the value < value >. D=< dir > tells anetd to use the directory < dir > as the root directory for the service installation. Anetd by default uses the directory /homedirectory/< clientip >/ for installing all downloaded code; by specifying the D=< dir > option, anetd installs all downloaded code in /homedirectory/< clientip >/< dir >. O=< f ile > redirects the standard output of the network service to the le < f ile > (to be created in the installation directory). R=< f ile > redirects the standard error of the network service to the le < f ile > (to be created in the installation directory). C=< description > species a description < description > for the deployed services. This description is then returned to the client when QUERY commands are invoked. The description string cannot contain white spaces. Because the X and A types specify native executables, anetd automatically appends the extensions solaris, linux, and bsd44 to the URLs, depending on what platform anetd is running on. For example, suppose that anetd is running on a Linux machine; the URL would actually fetch the le The QUERY command returns, to the client originating the command, a list of network services that were forked by anetd. The QUERY command format is simply QUERY. The list of forked services has the format: < index > < clientip > < description > < index > is an index generated by anetd (0,1,2 etc.). < clientip > is the IP address of the client that installed the service. < description > is a textual description of the service. The KILL command allows a client to terminate a network service by sending a SIGINT signal. The KILL command has the format: KILL < index > < index > is the index of the thread to be terminated by anetd (0,1,2 etc.). The < index > value should be retrieved by using the QUERY command. Anetd will automatically garbage-collect all resources allocated to the terminated service and will only allow the client that originally deployed the service to perform the operation. 7
8 The GET command allows a client to retrieve a le through anetd. The GET command has the format: GET [D=< dir >] < file > D=< dir > tells anetd to look in the directory < dir >. Anetd by default uses the directory /homedirectory/< clientip >/ to look for the le < f ile >; by specifying the D=< dir > option, anetd will look in /homedirectory/< clientip >/< dir >. < f ile > species the name of the le to retrieve. Anetd only allows the client that originally created the le < f ile > to retrieve it. The content of the le is returned to the client in the acknowledge message. The PUT command has the format: PUT [D=< dir >] < file > < content::: > allows a client to upload a le through anetd. The PUT command D=< dir > tells anetd to look in the directory < dir >. Anetd by default uses the directory < f ile > species the name of le to be created. < content::: > is the data to be stored. Anetd allows clients to upload les. For example the command PUT cong... will create a le \cong" in the installation directory of the client and write the data that follows into it. From the client side this is specied by invoking sc PUT < port > < host > cong < f ilename > where < host > is the name of the machine on which anted is running, < port > is the port on which anetd is listening, cong is the remote le name and < f ilename > is the local lename. The CONF Command applies to ANCORS threads and is similar to a remote procedure call. The CONF command has the format: CONF < symbol > [args...] < symbol > species the name of the function to invoke. The symbol < symbol > is resolved by anetd to a local memory address, and the function is invoked. args are a sequence of command line arguments to be passed to the function < symbol >. 8
9 2.5 Client Application SC Anetd's client application (sc) assists in issuing control commands formatted using ANEP and creating digital signatures for authentication. sc looks for the le homedirectory=:anetd=secretkey and if it nds valid 512-bit key, it creates a digital signature of the user command. The signature includes a timestamp to avoid replay attacks and is sent together with the command to the specied Anetd daemon for verication. The sc command line usage is sc < port > < hostname > args... [< filename1 > < filename2 >] < port > is the port on which a logical anetd is listening (by default anetd listens on port 3322) < hostname > is the name of the network node where anetd is running. args are any of the control commands specied in Section 2.4. < f ilename1 > is the name of a remote le to be created using the PUT command. < f ilename2 > is the name of the local le name whose content should be sent using the PUT command. Sc returns the port number of the Anetd daemon that acknowledged the request. This is useful in bypassing the forwarding of Anetd commands (if any) to improve response time. 2.6 Example We include an example for demonstrating how sc can be used to deploy ANTS [4] active nodes and monitor their standard output. Three dierent ANTS active nodes can be deployed on host1, host2, and host3 by using the following commands: sc PUT 3322 host1 data.config data.config sc PUT 3322 host1 data.routes data.routes sc 3322 host1 LOAD J= F= F= S=data.config S= T=18 O=output C=ANTS_active_node1 sc PUT 3322 host2 data.config data.config sc PUT 3322 host2 data.routes data.routes sc 3322 host1 LOAD J= F= F= S=data.config S= T=18 O=output C=ANTS_active_node2 sc PUT 3322 host3 data.config data.config sc PUT 3322 host3 data.routes data.routes sc 3322 host1 LOAD J= F= F= S=data.config S= T=18 O=output C=ANTS_active_node3 9
10 Notice that the ANTS application specied by J=< jurl > requires two conguration les specied by F=< url > arguments, and the command-line arguments S=data.cong S= The T=18 argument is needed to instruct anetd to later forward ANEP packets of type ID 18 to this application. After installing the active nodes it is possible to also deploy simple monitoring agents that simply read the standard output contents in output by issuing the following commands: sc 3322 host1 LOAD J= S=host1output S=output S=5000 E=DISPLAY:clientip:0.0 sc 3322 host2 LOAD J= S=host2output S=output S=5000 E=DISPLAY:clientip:0.0 sc 3322 host3 LOAD J= S=host3output S=output S=5000 E=DISPLAY:clientip:0.0 A simple Java application GetStat1 is downloaded to the hosts host1, host2 and host3, and it is instructed to display to the client at IP address clientip the content of the le output every 5000 milliseconds in a window entitled host1output, host2output or host3output, respectively. 3 Conclusion Anetd is available for download at For the time being, we do not provide the source code because we are sorting out some license-agreement details. Anetd is currently available for Linux and FreeBsd on x86 and Sunos 5.2 on Sparc. Because we feel awkward in not providing source code, we will be very responsive in porting anetd to any other Unix system as needed (forward requests to ancors@csl.sri.com). Anetd is an alpha release and therefore may have bugs. (report any bugs or inconsistencies to ancors@csl.sri.com). Please notify us of any interesting uses of anetd in managing networked systems. References [1] Scott Alexander, Carl A. Gunter, Angelos D. Keromytis, Gary Minden, and David Wetherall. ANEP: Active network encapsulation protocol. switchware/anep/docs/anep.txt,
11 [2] Livio Ricciulli, Phillip Porras, and Nachum Shacham. ANCORS: Adaptable network control and reporting system. SRI International Technical Report SRI-CSL-98-01, [3] D. J. Wetherall, J. V. Guttag, and D. L. Tennenhouse. Ants: A toolkit for building and dynamically deploying network protocols. Submitted to IEEES OPENARCH'98, [4] D. J. Wetherall, J. V. Guttag, and D. L. Tennenhouse. ANTS: A toolkit for building and dynamically deploying network protocols. Submitted to IEEE OPENARCH'98,
Communication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationWeb site Image database. Web site Video database. Web server. Meta-server Meta-search Agent. Meta-DB. Video query. Text query. Web client.
(Published in WebNet 97: World Conference of the WWW, Internet and Intranet, Toronto, Canada, Octobor, 1997) WebView: A Multimedia Database Resource Integration and Search System over Web Deepak Murthy
More informationZENworks for Desktops Preboot Services
3.2 Novell ZENworks for Desktops Preboot Services DEPLOYMENT www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation,
More informationCptS 464/564 Lecture 18
CptS 464/564 Lecture 18 2nd November 2004 Checkpoint What have we covered so far? Paradigms and Models: frameworks for the discussion of DS What is the plan ahead? Next: examples of distributed systems
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1
More informationEEC-682/782 Computer Networks I
EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at
More informationJonathan Wald and Jason Zigelbaum (A project report written under the guidance of Prof.
1 of 12 Jonathan Wald jwald@wustl.edu and Jason Zigelbaum jczigelb@wustl.edu (A project report written under the guidance of Prof. Raj Jain) Download Table of Content: 1. Introduction 1.1 What is OpenPacketPro
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationAutomatic Code Generation for Non-Functional Aspects in the CORBALC Component Model
Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and
More informationTHE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano
THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,
More informationMotivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4
Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell
More informationFoundations of Python
Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationCS 403/534 Distributed Systems Midterm April 29, 2004
CS 403/534 Distributed Systems Midterm April 9, 004 3 4 5 Total Name: ID: Notes: ) Please answer the questions in the provided space after each question. ) Duration is 0 minutes 3) Closed books and closed
More informationA Mobile Agent-based Model for Service Management in Virtual Active Networks
A Mobile Agent-based Model for Service Management in Virtual Active Networks Fábio Luciano Verdi and Edmundo R. M. Madeira Institute of Computing, University of Campinas (UNICAMP), Campinas-SP, Brazil
More informationGETTING 1 STARTED. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.
GETTING 1 STARTED hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Apache Software Foundation. Apache execution. Apache components. Hypertext Transfer Protocol. TP/IP protocol.
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationAn ios Static Library for Service Discovery and Dynamic Procedure Calls
An ios Static Library for Service Discovery and Dynamic Procedure Calls Arnav Anshul Department of Engineering. Arizona State University Polytechnic Campus. arnavanshul@gmail.com Abstract - Remote procedure
More informationWWW Applications for an Internet Integrated Service Architecture
WWW Applications for an Internet Integrated Service Architecture T. V. Do, B. Kálmán, Cs. Király, Zs. Mihály, Zs. Molnár, Zs. Pándi Department of Telecommunications Technical University of Budapest Fax:
More informationLanguage-Based Parallel Program Interaction: The Breezy Approach. Darryl I. Brown Allen D. Malony. Bernd Mohr. University of Oregon
Language-Based Parallel Program Interaction: The Breezy Approach Darryl I. Brown Allen D. Malony Bernd Mohr Department of Computer And Information Science University of Oregon Eugene, Oregon 97403 fdarrylb,
More informationUnit 5: Distributed, Real-Time, and Multimedia Systems
Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating
More informationA New Architecture for HTTP Proxies Using Workstation Caches
A New Architecture for HTTP Proxies Using Workstation Caches Author Names : Prabhakar T V (tvprabs@cedt.iisc.ernet.in) R. Venkatesha Prasad (vprasad@cedt.iisc.ernet.in) Kartik M (kartik_m@msn.com) Kiran
More informationIdentity Firewall. About the Identity Firewall
This chapter describes how to configure the ASA for the. About the, on page 1 Guidelines for the, on page 7 Prerequisites for the, on page 9 Configure the, on page 10 Monitoring the, on page 16 History
More informationChapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin
More informationKea Messages Manual. Kea Messages Manual
Kea Messages Manual i Kea Messages Manual Kea Messages Manual ii Copyright 2011-2015 Internet Systems Consortium, Inc. Kea Messages Manual iii Contents 1 Introduction 1 2 Kea Log Messages 2 2.1 ALLOC Module....................................................
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationOS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4
OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels
More informationInternet Performance and Reliability Measurements
SLAC-PUB-9785 Internet Performance and Reliability Measurements Presented at Computing in High-Energy Physics (CHEP 97), 4/7/1997 4/11/1997, Berlin, Germany Stanford Linear Accelerator Center, Stanford
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and
More informationLarge Software System Programming Project CPSC410 Operating Systems. Loman: Distributed Traveling Salesman Utilizing Simulated Annealing Schedules
Large Software System Programming Project CPSC410 Operating Systems Loman: Distributed Traveling Salesman Utilizing Simulated Annealing Schedules FINAL REPORT Principle Investigators Christopher Hewitt
More informationRSYSLOGD(8) Linux System Administration RSYSLOGD(8)
NAME rsyslogd reliable and extended syslogd SYNOPSIS rsyslogd [ 4 ][ 6 ][ A ][ d ][ D ][ f config file ] [ i pid file ][ l hostlist ][ n ][ N level ] [ q ][ Q ][ s domainlist ][ u userlevel ][ v ][ w ][
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 3: Programming Models CIEL: A Universal Execution Engine for
More informationParallel Processing of Data on the Fly in Active Networks
Parallel Processing of Data on the Fly in Active Networks Akbar 1, Buhari 1, Kalamullah 3, Sahalu 2, Saleem 1 1 Lecturer, King Fahd University of Petroleum and Minerals, Saudi Arabia. 2 Assistant Professor,
More informationDistributed Multitiered Application
Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm
More informationTransparent Access to Legacy Data in Java. Olivier Gruber. IBM Almaden Research Center. San Jose, CA Abstract
Transparent Access to Legacy Data in Java Olivier Gruber IBM Almaden Research Center San Jose, CA 95120 Abstract We propose in this paper an extension to PJava in order to provide a transparent access
More information\Classical" RSVP and IP over ATM. Steven Berson. April 10, Abstract
\Classical" RSVP and IP over ATM Steven Berson USC Information Sciences Institute April 10, 1996 Abstract Integrated Services in the Internet is rapidly becoming a reality. Meanwhile, ATM technology is
More informationDHCP for IPv6. Palo Alto, CA Digital Equipment Company. Nashua, NH mentions a few directions about the future of DHCPv6.
DHCP for IPv6 Charles E. Perkins and Jim Bound Sun Microsystems, Inc. Palo Alto, CA 94303 Digital Equipment Company Nashua, NH 03062 Abstract The Dynamic Host Conguration Protocol (DHCPv6) provides a framework
More informationOutline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4
EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks
More informationAdvanced Services for Internet Telephony
Thesis Proposal: Advanced Services for Internet Telephony 1 Advanced Services for Internet Telephony Thesis Proposal Department of Computer Science Columbia University Thesis Proposal: Advanced Services
More informationBEAAquaLogic. Service Bus. Interoperability With EJB Transport
BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking
More informationUniform Resource Locators (URL)
The World Wide Web Web Web site consists of simply of pages of text and images A web pages are render by a web browser Retrieving a webpage online: Client open a web browser on the local machine The web
More informationC. E. McDowell August 25, Baskin Center for. University of California, Santa Cruz. Santa Cruz, CA USA. abstract
Unloading Java Classes That Contain Static Fields C. E. McDowell E. A. Baldwin 97-18 August 25, 1997 Baskin Center for Computer Engineering & Information Sciences University of California, Santa Cruz Santa
More informationOS Virtualization. Linux Containers (LXC)
OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux
More informationBusiness Processes and Rules: Siebel Enterprise Application Integration. Siebel Innovation Pack 2013 Version 8.1/8.
Business Processes and Rules: Siebel Enterprise Application Integration Siebel Innovation Pack 2013 September 2013 Copyright 2005, 2013 Oracle and/or its affiliates. All rights reserved. This software
More informationSAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group
SAMOS: an Active Object{Oriented Database System Stella Gatziu, Klaus R. Dittrich Database Technology Research Group Institut fur Informatik, Universitat Zurich fgatziu, dittrichg@ifi.unizh.ch to appear
More informationNordiaSoft SCA Architect 2016
SCA Architect NordiaSoft SCA Architect is the modeling tool used by developers to compose and assemble software components into applications. Based on a Model-Driven Development (MDD) concept, SCA Architect
More informationDistributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016
Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault
More informationjwhois Version July 2005 Jonas berg
jwhois Version 3.2.3 10 July 2005 Jonas berg (jonas@gnu.org) Copyright c 1999-2005 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of
More informationgateways to order processing in electronic commerce. In fact, the generic Web page access can be considered as a special type of CGIs that are built i
High-Performance Common Gateway Interface Invocation Ganesh Venkitachalam Tzi-cker Chiueh Computer Science Department State University of New York at Stony Brook Stony Brook, NY 11794-4400 fganesh, chiuehg@cs.sunysb.edu
More informationBy Chung Yeung Pang. The Cases to Tackle:
The Design of Service Context Framework with Integration Document Object Model and Service Process Controller for Integration of SOA in Legacy IT Systems. By Chung Yeung Pang The Cases to Tackle: Using
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationand easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.
and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.
More informationA Framework for Building Parallel ATPs. James Cook University. Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given
A Framework for Building Parallel ATPs Geo Sutclie and Kalvinder Singh James Cook University 1 Introduction Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given sets of
More informationffproxy (8) FreeBSD System Manager s Manual ffproxy (8)
NAME ffproxy filtering HTTP/HTTPS proxy server SYNOPSIS ffproxy [ p port] [ c ip hostname] [ C ip hostname] [ l childs] [ u uid user g gid group] [ r dir] [ D datadir] [ x proxyip proxyhost X proxyport]
More informationConfiguring Client Posture Policies
CHAPTER 19 This chapter describes the posture service in the Cisco Identity Services Engine (Cisco ISE) appliance that allows you to check the state (posture) for all the endpoints that are connecting
More informationAn Overview of the BLITZ System
An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level
More informationA proposed architecture for integrating Active Networks and MPLS 2 BACKGROUND
A proposed architecture for integrating Active s and Sanda Dragos & Martin Collier Dublin City University, School of Electronic Engineering Dublin, Ireland e mail: {dragoss, collierm}@eeng.dcu.ie Abstract:
More information(Refer Slide Time: 1:26)
Information Security-3 Prof. V Kamakoti Department of Computer science and Engineering Indian Institute of Technology Madras Basics of Unix and Network Administration Operating Systems Introduction Mod01,
More informationinformatory frame VRML browser window Java applet
Remote VRML browser control using EAI Milan Kubec, Jiri Zara @fel.cvut.cz Departament of Computer Science and Engeneering Czech Technical University Prague / Czech Republic Abstract The paper
More informationImi :... Data:... Nazwisko:... Stron:...
Imi :.................................................... Data:....................... Nazwisko:............................................... Stron:...................... 1. Which of the following protocols
More informationImplementing NTPv4 in IPv6
Implementing NTPv4 in IPv6 Last Updated: July 31, 2012 The Network Time Protocol (NTP) is a protocol designed to time-synchronize a network of machines. NTP runs over UDP, which in turn runs over IPv4.
More informationDeveloper Resources: PIN2
Administrative Technology Services Technology and Data Services Developer Resources: PIN2 Contents Introduction... 2 Registering an Application... 2 Information Required for Registration... 3 Information
More informationANIC Host CPU Offload Features Overview An Overview of Features and Functions Available with ANIC Adapters
ANIC Host CPU Offload Features Overview An Overview of Features and Functions Available with ANIC Adapters ANIC Adapters Accolade s ANIC line of FPGA-based adapters/nics help accelerate security and networking
More informationKeyNote: Trust Management for Public-Key. 180 Park Avenue. Florham Park, NJ USA.
KeyNote: Trust Management for Public-Key Infrastructures Matt Blaze 1 Joan Feigenbaum 1 Angelos D. Keromytis 2 1 AT&T Labs { Research 180 Park Avenue Florham Park, NJ 07932 USA fmab,jfg@research.att.com
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationThe members of the Committee approve the thesis of Baosheng Cai defended on March David B. Whalley Professor Directing Thesis Xin Yuan Commit
THE FLORIDA STATE UNIVERSITY COLLEGE OF ARTS AND SCIENCES COMPILER MODIFICATIONS TO SUPPORT INTERACTIVE COMPILATION By BAOSHENG CAI A Thesis submitted to the Department of Computer Science in partial fulllment
More informationNamed Data Networking (NDN) CLASS WEB SITE: NDN. Introduction to NDN. Updated with Lecture Notes. Data-centric addressing
CLASS WEB SITE: http://upmcsms.weebly.com/ Updated with Lecture Notes Named Data Networking (NDN) Introduction to NDN Named Data Networking (NDN) IP NDN Host-centric addressing Data-centric addressing
More informationOperating Systems 2 nd semester 2016/2017. Chapter 4: Threads
Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More informationGarbage Collected. Methods Area. Execution Engine. Program Counter. Heap. Operand. Optop. Execution Environment. Frame. Local Variables.
Techniques for Obtaining High Performance in Java Programs Iat H. Kazi y Howard H. Chen z Berdenia Stanley y David J. Lilja y y Department of Electrical and Computer Engineering z Department of Computer
More informationThe ASP Virtual Networking (VNET) Component. 23 July Abstract
The ASP Virtual Networking (VNET) Component 23 July 2002 Abstract This document describes the implementation of the virtual networking (VNET) component of the ASP EE. VNET is a simple and modular implementation
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More informationMobile Computing An Browser. Grace Hai Yan Lo and Thomas Kunz fhylo, October, Abstract
A Case Study of Dynamic Application Partitioning in Mobile Computing An E-mail Browser Grace Hai Yan Lo and Thomas Kunz fhylo, tkunzg@uwaterloo.ca University ofwaterloo, ON, Canada October, 1996 Abstract
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationTECHNICAL NOTE. Oracle Protocol Agent Overview. Version 2.5 TECN04_SG2.5_
Version 2.5 TECHNICAL NOTE Oracle Protocol Agent Overview Stonesoft Corp. Itälahdenkatu 22A, FIN-00210 Helsinki Finland Tel. +358 (9) 4767 11 Fax. +358 (9) 4767 1234 email: info@stonesoft.com Copyright
More informationHPE Intelligent Management Center
HPE Intelligent Management Center Service Health Manager Administrator Guide Abstract This guide provides introductory, configuration, and usage information for Service Health Manager (SHM). It is for
More informationCreate Decryption Policies to Control HTTPS Traffic
Create Decryption Policies to Control HTTPS Traffic This chapter contains the following sections: Overview of Create Decryption Policies to Control HTTPS Traffic, page 1 Managing HTTPS Traffic through
More informationUnCovert: Evaluating thermal covert channels on Android systems. Pascal Wild
UnCovert: Evaluating thermal covert channels on Android systems Pascal Wild August 5, 2016 Contents Introduction v 1: Framework 1 1.1 Source...................................... 1 1.2 Sink.......................................
More informationWebAccess Device Driver Guide. BwSNMP Broadwin to SNMP Agent (Simple Network Management Protocol) Device Driver Guide
BwSNMP Broadwin to SNMP Agent (Simple Network Management Protocol) Device Driver Guide Version 5.0 rev 1 Broadwin Technology, Inc. Table of Contents BwSNMP Broadwin to SNMP Agent (Simple Network Management
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationMigrating IONA Orbix 3 Applications
Migrating IONA Orbix 3 Applications Contrasting the migration path of Orbix 3 applications to Orbix 2000 and to Borland Enterprise Server, VisiBroker Edition by Will Edwards, Senior Consultant, The New
More informationComputer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University
Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University Introduction to Protocols l A protocol is a set of rules
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationComprehensive Guide to Evaluating Event Stream Processing Engines
Comprehensive Guide to Evaluating Event Stream Processing Engines i Copyright 2006 Coral8, Inc. All rights reserved worldwide. Worldwide Headquarters: Coral8, Inc. 82 Pioneer Way, Suite 106 Mountain View,
More informationUser Scripting April 14, 2018
April 14, 2018 Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and
More informationDistributed Xbean Applications DOA 2000
Distributed Xbean Applications DOA 2000 Antwerp, Belgium Bruce Martin jguru Bruce Martin 1 Outline XML and distributed applications Xbeans defined Xbean channels Xbeans as Java Beans Example Xbeans XML
More informationNGFW Security Management Center
NGFW Security Management Center Release Notes 6.4.0 Revision B Contents About this release on page 2 System requirements on page 2 Build version on page 3 Compatibility on page 4 New features on page 5
More informationOutline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations
Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8
More informationNetalyzr Updates. Christian Kreibich (ICSI), Nicholas Weaver (ICSI), and Vern Paxson (ICSI & UC Berkeley) Netalyzr Updates
Christian Kreibich (ICSI), Nicholas Weaver (ICSI), and Vern Paxson (ICSI & UC Berkeley) 1 Acknowledgements and Important Disclaimers This work sponsored by the National Science Foundation With additional
More informationICS 351: Networking Protocols
ICS 351: Networking Protocols IP packet forwarding application layer: DNS, HTTP transport layer: TCP and UDP network layer: IP, ICMP, ARP data-link layer: Ethernet, WiFi 1 Networking concepts each protocol
More informationSFDV3006 Concurrent Programming
SFDV3006 Concurrent Programming Lecture 6 Concurrent Architecture Concurrent Architectures Software architectures identify software components and their interaction Architectures are process structures
More informationBuffer overflow background
and heap buffer background Comp Sci 3600 Security Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Address Space and heap buffer
More informationLast class: Today: Thread Background. Thread Systems
1 Last class: Thread Background Today: Thread Systems 2 Threading Systems 3 What kind of problems would you solve with threads? Imagine you are building a web server You could allocate a pool of threads,
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 03 (version February 11, 2008) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationDEPLOYMENT GUIDE DEPLOYING F5 WITH ORACLE ACCESS MANAGER
DEPLOYMENT GUIDE DEPLOYING F5 WITH ORACLE ACCESS MANAGER Table of Contents Table of Contents Introducing the F5 and Oracle Access Manager configuration Prerequisites and configuration notes... 1 Configuration
More informationuser with a QBE-like interface. The QBE-like interface creates a single virtual environment displaying database information about all current connecti
Applications of JAVA programming language to database management Bradley F. Burton and Victor W. Marek Department of Computer Science University of Kentucky Lexington, KY 40506-0046 e-mail: fbfburton marekg@cs.uky.edu
More informationDesign and Implementation of a Flexible Measurement Tool Exploiting IPv6 Features
Design and Implementation of a Flexible Measurement Tool Exploiting IPv6 Features University Of Liège Faculty Of Applied Sciences Promoter Professor G. LEDUC Supervisor E. TYCHON Paganessi François 2 nd
More informationAbstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy
ONE: The Ohio Network Emulator Mark Allman, Adam Caldwell, Shawn Ostermann mallman@lerc.nasa.gov, adam@eni.net ostermann@cs.ohiou.edu School of Electrical Engineering and Computer Science Ohio University
More informationCMSC 332 Computer Networking Web and FTP
CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into
More information