waashk/dblp huggingface dataset:
tron: process-specific file protection for the unix operating system. the file protection mechanism provided in unix is insufficient for current computing environments. while the unix file protection system attempts to protect users from attacks by other users, it does not directly address the agents of destruction-executing processes. as computing environments become more interconnected and interdependent, there is increasing pressure and opportunity for users to acquire and test non-secure, and possibly malicious, software. we introduce tron, a process-level discretionary access control system for unix. tron allows users to specify capabilities for a process' access to individual files, directories, and directory trees. these capabilities are enforced by system call wrappers compiled into the operating system kernel. no privileged system calls, special files, system administrator intervention, or changes to the file system are required. existing unix programs can be run without recompilation under tron-enhanced unix. thus, tron improves unix security while maintaining current standards of flexibility and openness.
traffic data repository at the wide project. it becomes increasingly important for both network researchers and operators to know the trend of network traffic and to find anomaly in their network traffic. this paper describes an on-going effort within the wide project to collect a set of free tools to build a traffic data repository containing detailed information of our backbone traffic. traffic traces are collected by tcpdump and, after removing privacy information, the traces are made open to the public. we review the issues on user privacy, and then, the tools used to build the wide traffic repository. we will report the current status and findings in the early stage of our ipv6 deployment.
an implementation study of a detection-based adaptive block replacement scheme. in this paper, we propose a new adaptive buffer management scheme called dear (detection based adaptive replacement) that automatically detects the block reference patterns of applications and applies different replacement policies to different applications based on the detected reference pattern. the proposed dear scheme uses a periodic process. detection is made by associating block attribute values such as backward distance and frequency gathered at the (i - 1)-th invocation with forward distances of blocks referenced between the (i - 1)-th and i-th invocations. we implemented the dear scheme in freebsd 2.2.5 and measured its performance using several real applications. the results show that compared with the lru buffer management scheme, the proposed scheme reduces the number of disk i/os by up to 51% (with an average of 23%) and the response time by up to 35% (with an average of 12%) in the case of single application executions. for multiple applications, the proposed scheme reduces the number of disk i/os by up to 20% (with an average of 12%) and the over-all response time by up to 18% (with an average of 8%).
the nachos instructional operating system. in teaching operating systems at an undergraduate level, we belive that it is important to provide a project that is realistic enought to show how real operating systems work, yet is simple enough that the students can understand and modify it in significant ways. a number of these instructional saystems have been created over the last two decades, but recent advances in hardware and software design, along with the increasing power of available computational resources, have changed the basis for many of the tradeoffs made by these systems. we have implemented an instructional operating system, called nachos, and designed a series of assignments to go with it. our system includes cpu and device simulatiors, and it runs as a regulat unix process. nachos illustrates and takes advantage of modern operating systems technology, such as threads and remote procedure calls, recent harware advances, such as risc's and the prevalence of memory hierarchies, and modern software design techniques, such as protocol layering and object-oriented programming. nachos has been used to teach undergraduate operating systems classes at several universities with positive results.
secure short-cut routing for mobile ip. this paper describes the architecture and implementation of a mobile ip system. it allows mobile hosts to roam between cells implemented with 2-mbps radio base stations, while maintaining internet connectivity. the system is being developed as part of a course on wireless networks at harvard and has been operational since march 1994. the architecture scales well, both geographically and in the number of mobile hosts supported. it supports secure short-cut routing to mobile hosts using the existing internet routing system without change. the implementation demonstrates a robust, low complexity realization of the architecture, and provides trade-off opportunities between efficiency and cost. measured performance of the mobile system is generally excellent. the system can handle a high rate of location updates, and routes packets almost as efficiently for mobile hosts as the internet does for stationary hosts. we observe reasonable tcp behavior during hand-offs.
zero-copy tcp in solaris. this paper describes a new feature in solaris that uses virtual memory remapping combined with checksumming support from the networking hardware, to eliminate data-touching overhead from the tcp/ip protocol stack. by implementing page remapping operations at the right level of the operating system, and caching mmu mappings to take advantage of locality of reference, significant performance gain is attained on certain hardware platforms. nevertheless, the performance improvement over cpu copying varies, depending on the host memory cache architecture, mmu design, and application behavior. we begin by comparing different zero-copy schemes, and explain our preference for page remapping and copy-on-write (cow) techniques. we then describe our implementation, and present its performance characteristics under a number of different parameters. we conclude with ideas for future improvements.
virtual machine memory access tracing with hypervisor exclusive cache. virtual machine (vm) memory allocation and vm consolidation can benefit from the prediction of vm page miss rate at each candidate memory size. such prediction is challenging for the hypervisor (or vm monitor) due to a lack of knowledge on vm memory access pattern. this paper explores the approach that the hypervisor takes over the management for part of the vm memory and thus all accesses that miss the remaining vm memory can be transparently traced by the hypervisor. for online memory access tracing, its overhead should be small compared to the case that all allocated memory is directly managed by the vm. to save memory space, the hypervisor manages its memory portion as an exclusive cache (i.e., containing only data that is not in the remaining vm memory). to minimize i/o overhead, evicted data from a vm enters its cache directly from vm memory (as opposed to entering from the secondary storage). we guarantee the cache correctness by only caching memory pages whose current contents provably match those of corresponding storage locations. based on our design, we show that when the vm evicts pages in the lru order, the employment of the hypervisor cache does not introduce any additional i/o overhead in the system. we implemented the proposed scheme on the xen para-virtualization platform. our experiments with microbenchmarks and four real data-intensive services (specweb99, index searching, tpc-c, and tpc-h) illustrate the overhead of our hypervisor cache and the accuracy of cache-driven vm page miss rate prediction. we also present the results on adaptive vm memory allocation with performance assurance.
heuristic cleaning algorithms in log-structured file systems. research results show that while log-structured file systems (lfs) offer the potential for dramatically improved file system performance, the cleaner can seriously degrade performance, by as much as 40% in transaction processing workloads [9]. our goal is to examine trace data from live file systems and use those to derive simple heuristics that will permit the cleaner to run without interfering with normal file access. our results show that trivial heuristics perform very well, allowing 97% of all cleaning on the most heavily loaded system we studied to be done in the background.
early experience with an internet broadcast system based on overlay multicast. in this paper, we report on experience in building and deploying an operational internet broadcast system based on overlay multicast. in over a year, the system has been providing a cost-effective alternative for internet broadcast, used by over 4000 users spread across multiple continents in home, academic and commercial environments. technical conferences and special interest groups are the early adopters. our experience confirms that overlay multicast can be easily deployed and can provide reasonably good application performance. the experience has led us to identify first-order issues that are guiding our future efforts and are of importance to any overlay multicast protocol or system. our key contributions are (i) enabling a real overlay multicast application and strengthening the case for overlays as a viable architecture for enabling group communication applications on the internet, (ii) the details in engineering and operating a fully functional streaming system, addressing a wide range of real-world issues that are not typically considered in protocol design studies, and (iii) the data, analysis methodology, and experience that we are able to report given our unique standpoint.
xen and the art of repeated research. xen is an x86 virtual machine monitor produced by the university of cambridge computer laboratory and released under the gnu general public license. performance results comparing xenolinux (linux running in a xen virtual machine) to native linux as well as to other virtualization tools such as user mode linux (uml) were recently published in the paper "xen and the art of virtualization" at the symposium on operating systems principles (october 2003). in this study, we repeat this performance analysis of xen. we also extend the analysis in several ways, including comparing xenolinux on x86 to an ibm zserver. we use this study as an example of repeated research. we argue that this model of research, which is enabled by open source software, is an important step in transferring the results of computer science research into production environments.
key management in an encrypting file system. as distributed computing systems grow in size, complexity and variety of application, the problem of protecting sensitive data from unauthorized disclosure and tampering becomes increasingly important. cryptographic techniques can play an important role in protecting communication links and file data, since access to data can be limited to those who hold the proper key. in the case of file data, however, the routine use of encryption facilities often places the organizational requirements of information security in opposition to those of information management. since strong encryption implies that only the holders of the cryptographic key have access to the cleartext data, an organization may be denied the use of its own critical business records if the key used to encrypt these records becomes unavailable (e.g., through the accidental death of the key holder). this paper describes a system, based on cryptographic "smartcards," for the temporary "escrow" of file encryption keys for critical files in a cryptographic file system. unlike conventional escrow schemes, this system is bilaterally auditable, in that the holder of an escrowed key can verify that, in fact, he or she holds the key to a particular directory and the owner of the key can verify, when the escrow period is ended, that the escrow agent has neither used the key nor can use it in the future. we describe a new algorithm, based on the des cipher, for the on-line encryption of file data in a secure and efficient manner that is suitable for use in a smartcard.
probing tcp implementations. in this paper, we demonstrate a technique called active probing used to study tcp implementations. active probing treats a tcp implementation as a black box, and uses a set of procedures to probe the black box. by studying the way tcp responds to the probes, one can deduce several characteristics of the implementation. the technique is particularly useful if tcp source code is unavailable. to demonstrate the technique, the paper shows example probe procedures that examine three aspects of tcp. the results are informative: they reveal implementation flaws, protocol violations, and the details of design decisions in five vendor-supported tcp implementations. the results of our experiment suggest that active probing can be used to test tcp implementations.
the slab allocator: an object-caching kernel memory allocator. this paper presents a comprehensive design overview of the sunos 5.4 kernel memory allocator. this allocator is based on a set of object-caching primitives that reduce the cost of allocating complex objects by retaining their state between uses. these same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are space-efficient and fast. the allocator's object caches respond dynamically to global memory pressure, and employ an object-coloring scheme that improves the system's overall cache utilization and bus balance. the allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system.
oodce: a c++ framework for the osf distributed computing environment. this paper presents a method for developing object-oriented distributed applications using the c++ and dce technologies. the core of this package is a dce idl-to-c++ compiler and a set of c++ classes providing easy access to dce functionality. using this approach we were able to develop more object-oriented distributed applications, and saw a significant decrease in application code size. this contributed to an increase in developer productivity and code maintainability.
why use a fishing line when you have a net? an adaptive multicast data distribution protocol. the design and implementation of a system to provide reliable and efficient distribution of large quantities of data to many hosts on a local area network or internetwork is described. by exploiting the one-to-many transmission capabilities of multicast and broadcast, it is possible to transmit data to multiple hosts simultaneously, using less bandwidth and thus obtaining greater efficiency than repeated unicasting. although performance measurements indicate the superiority of multicast, we dynamically select from available transmission modes so as to maximize efficiency and throughput while providing reliable delivery of data to all hosts. our results demonstrate that file-distribution programs based on our protocol can benefit from a substantial speed-up over tcp-based programs such as rdist. for example, our system has been used to distribute a 133 kbyte password file to 68 hosts in 20 seconds, whereas the equivalent rdist took 251 seconds.
a multi-user virtual machine. recent efforts aimed at improving the scalability of the javatm platform have focused primarily on the safe collocation of multiple applications in the virtual machine. this is often beneficial for various performance metrics, but ultimately leads to a single-user multitasking environment. the lack of multi-user capabilities forms a barrier to the scalability of multitasking virtual machines, as it requires one per user. in this paper we demonstrate how to enhance a multitasking virtual machine with multi-user support. in particular, users can securely manipulate their private files, load their own native libraries without endangering other computations, and use all standard apis. auxiliary processes are needed to provide multiple operating system resource and user contexts, but no modifications are needed to the operating system itself.
evaluation of design alternatives for a cluster file system. based on implementation experience and measurements, this paper presents an evaluation of design alternatives to a cluster file system. the file system is targeted for ibm cluster systems, scalable powerparallel and aix hacmp/600. we considered a shared disk approach where serialized, multiple instances of a single-system file system directly access file data as disk blocks, and a shared file system approach which is the conventional method of distributing file system function between a client and a server. we conclude that the shared disk approach suffers form the difficulties of metadata serialization, pooor write-sharing performance, and read throughput.
tracking and viewing changes on the web. we describe a set of tools that detect when world-wide-web pages have been modified and present the modifications visually to the user through marked-up html. the tools consist of three components: w3newer, which detects changes to pages; snapshot, which permits a user to store a copy of an arbitrary web page and to compare any subsequent version of a page with the saved version; and htmldiff, which marks up html text to indicate how it has changed from a previous version. we refer to the tools collectively as the att internet difference engine (aide). this paper discusses several aspects of aide, with an emphasis on systems issues such as scalability, security, and error conditions.
adaptive modem connection lifetimes. internet service providers sometimes go to great lengths to minimize dial-up connection times, in order to make the best use of limited resources. typically they disconnect users after a fixed period of complete inactivity, such as 10-15 minutes. we propose adaptive time-out policies that take past history into account, and we evaluate some of these policies using a trace from a production environment. we find that adaptive policies can reduce cumulative connection times and average simultaneous usage by about 10-20% compared to a conservative fixed threshold, in exchange for a moderate increase in the number of disconnections that inconvenience the user.
thwarting the power-hungry disk. minimizing power consumption is important for mobile computers, and disks consume a significant portion of system-wide power. there is a large difference in power consumption between a disk that is spinning and one that is not, so systems try to keep the disk spinning only when it must. the system must trade off between the power that can be saved by spinning the disk down quickly after each access and the impact on response time from spinning it up again too often. we use trace-driven simulation to examine these trade-offs, and compare a number of different algorithms for controlling disk spin-down. we simulate disk accesses from a mobile computer (a macintosh powerbook duo 230) and also from a desktop workstation (a hewlett-packard 9000/845 personal workstation running hp-ux), running on two disks used on mobile computers, the hewlett-packard kittyhawk c3014a and the quantum go•drive 120. we show that the "perfect" off-line algorithm--one that consumes minimum power without increasing response time relative to a disk that never spins down--can reduce disk power consumption by 35--50%, compared to the fixed threshold suggested by manufacturers. an on-line algorithm with a threshold of 10 seconds, running on the powerbook trace and go•drive disk, reduces energy consumption by about 40% compared to the 5-minute threshold recommended by manufacturers of comparable disks; however, over a 4-hour trace period it results in 140 additional delays due to disk spin-ups.
optimistic lookup of whole nfs paths in a single operation. vfs lookup code examines and translates path names one component at a time, checking for special cases such as mount points and symlinks. vfs calls the nfs lookup operation as necessary. nfs employs caching to reduce the number of lookup operations that go to the server. however, when part or all of a path is not cached, nfs lookup operations go back to the server. although nfs's caching is effective, component-by-component translation of an uncached path is inefficient, enough so that lookup is typically the operation most commonly processed by servers. we study the effect of augmenting the vfs lookup algorithm and the nfs protocol so that a client can ask a server to translate an entire path in a single operation. the preconditions for a successful request are usually but not always satisfied, so the algorithm is optimistic. this small change can deliver substantial improvements in client latency and server load.
extending internet services via ldap. this project report examines the use of an ldap (lightweight directory access protocol) v2 server to provide an easily accessible data storage facility. the main purpose of the ldap database is to store related information based on a common thread such as a person's name, an organization's name, or the description of a service offered, in a simple yet hierarchical structure. the use of ldap enables new fields to be added to existing user information to 1) enable end-users to store pertinent user information to be used by a mainframe-to-pc intermediary file server using samba, 2) enable new groupings of electronic mail distributions to be created with little or no change to sendmail, and 3) enhance the granularity of internetworknews (usenet) article submission acceptance capabilities. some additional benefits of these facilities included using a single, non-proprietary database which required very little new coding to make use of. the data used for the various facilities were easily associated with database objects defined for enterprise personnel. the administration load for each service was reduced since service related data, such as userids or mailboxes, were not maintained directly as a part of the specific service. the internet directory service, as provided by the ldap server, is accessible by several methods, rather than just one specialized or proprietary interface.
fault interpretation: fine-grain monitoring of page accesses. this paper presents a technique for obtaining fine-grain information about page accesses from standard virtual memory hardware and unix operating system software. this can be used to monitor all user-mode accesses to specified regions of the address space of a process. application code can intervene before and/or after an access occurs, permitting a wide variety of semantics to be associated with memory pages. the technique facilitates implementing complex replication or consistency protocols on transparent distributed shared memory and persistent memory. the technique can also improve the efficiency of certain generational and incremental garbage collection algorithms. this paper presents our implementation and suggest several others. efficiency measurements show faults to be about three orders of magnitude more expensive than normal memory accesses, but two orders of magnitude less expensive than page faults. information about how to obtain the code via anonymous ftp appears at the end of the paper.
nfs tricks and benchmarking traps. we describe two modifications to the freebsd 4.6 nfs server to increase read throughput by improving the read-ahead heuristic to deal with reordered requests and stride access patterns. we show that for some stride access patterns, our new heuristics improve end-to-end nfs throughput by nearly a factor of two. we also show that benchmarking and experimenting with changes to an nfs server can be a subtle and challenging task, and that it is often difficult to distinguish the impact of a new algorithm or heuristic from the quirks of the underlying software and hardware with which they interact. we discuss these quirks and their potential effects.