The Center for Education and Research in Information Assurance and Security (CERIAS)

The Center for Education and Research in
Information Assurance and Security (CERIAS)

Reports and Papers Archive


Browse All Papers »       Submit A Paper »

The Clouds Distributed Operating System

P. Dasgupta, R.J. LeBlanc, Jr., M. Ahamad, U. Ramachandran

A distributed operating system is a control program running on a set of computers that are interconnected by a network.  This control program unifies the different computers into a single integrated compute and storage resource.  Depending on the facilities it provides, a distributed operating system is classified as general purpose, real time, or embedded.

The need for distributed operating systems stems from rapid changes in the hardware environment in many organizations.  Hardware prices have fallen rapidly in the last decade, resulting in the proliferation of workstations, personal computers, data and compute servers, and networks.  This proliferation has underlined the need for efficient and transparent management of these physically distributed resources.

This article presents a paradigm for structuring distributed operating systems, the potential and implications this paradigm has for users, and research directions for the future.

Added 2006-04-03


An Action Management System for a Decentralized Operating System

Gregory Grant Kenley

The goal of constructing reliable programs has led to the introduction of transaction (action) software into programming environments.  The further goal of contructing reliable programs in a distributed environment has led to the extension of transaction systems to operate in a more decentralized environment.

We present the design of a transaction manager that is integrated within the kernal of a decentralized operating system: the Clouds kernal.  This decentralized action management system supports nested actions, action-based locking, and efficient facilities for supporting recovery.  The recovery facilities have been designed to support a systems programming language which recognizes the concept of an action.  We also present a search protocol to locate objects in this distributed environment.

Orphans, disjoint parts of actions that have aborted, are identified and eliminated using a time-driven orphan detection scheme which requires a clock synchronization protocol; we present the facilities necessary to generate a system-wide global clock to support that protocol.

The design goal of this implementation has been to achieve the performance necessary to support an experimental testbed which can serve as the basis for further work in the area of decentralized systems.

Added 2006-04-03


A Probe-Based Fault Tolerant Scheme for the Clouds Operating System

P. Dasgupta

This paper is a brief exposition of a subsystem design that enhances the fault tolerant characteristics of the Clouds operating system.  We use a distributed probe-based monitoring system that keeps track of the status of various system components, both hardware and software.  The monitoring system is then tied to the reconfiguration system to provide enhanced fault tolerance for the Clouds system.

Added 2006-03-31

The Design and Implementation of the Clouds Distributed Operating System

P. Dasgupta, R.C. Chen, S. Menon, M.P. Pearson, R. Anathanarayanan, U. Ramachandran, M. Ahamad, R.J. LeBlanc Jr. W.F. Appelbe, J.M. Bernabeu-Auban, P.W. Hutto, M.Y. A. Khalidi, and C.J. Wilkenloh

Clouds is a native operating system for a distribution environment.  The Clouds operating system is built on top of a kernal called Ra.  Ra is a second generation kernal derived from our experience with the first version of the Clouds operating system.  Ra is a minimal, flexible kernal that provides a framework for implementing a variety of distributed operating systems.

This paper presents the Clouds paradigm and a brief overview of its first implementation.  We then present the details of the Ra kernal, the rationale for its design, and the system services that constitute the Clouds operating system.

Added 2006-03-31

The Clouds Project: Designing and Implementing a Fault Tolerant, Distributed Operating System

P. Dasgupta, R.J. LeBlanc Jr., E. Spafford,

The Clouds project at Georgia Tech was initiated to conduct research into failure resistant, efficient distributed architectures and operating systems.  The project used state of the art techniques to design a distributed operating system kernal that can be supported on conventional, unreliable hardware, and be more reliable than the underlying electronics.  Several approaches to the problem were considered, and after substantial research and construction effort, the current design emerged.  This design unifies simplicity with efficiency and advanced concepts.  The resulting system is quite versatile and can be adapted easily to suit most requirements of reliable distributed computing, in many different hardware configurations.  The design is largely hardware independent and independent of system configuration.

This report describest the object and action based approach to building operating systems as incorporated in Clouds.  We also describe in some detail the salient features of the system and the research directions that the project is expected to take.

Added 2006-03-31

New Security Paradigms Workshop 2005

Christian F. Hempelmann & Victor Raskin
Added 2006-03-24

Consumers of e-Health: Patterns Of Use And Barriers

CERIAS TR 2006-08
James G. Anderson
Download: PDF

In 2002, 80% of all adults in the United States sought health information and/or services online. This article reports the results of computer-assisted telephone interviews of a national random sample of 186 adults. The purpose of the survey was to clarify the circumstances under which consumers utilize Internet health resources and identify barriers to Internet use. The results indicated that although 78% of the respondents had used the Internet to obtain health information, only about 10% communicated by e-mail with their providers, purchased supplies over the web, or used the Internet to manage a chronic disease. At the same time, more than 50% of the respondents indicated an interest in using the Internet for clinical purposes. Major barriers to the use of the Internet for health-related purposes were potential threats to privacy, inaccuracy of information, problems in evaluating the quality of information and services obtained from the web, and physician disapproval.

Added 2006-03-24

FaultMiner: Discovering Unknown Software Defects using Static Analysis and Data Mining

CERIAS TR 2006-07
Rajeev Gopalakrishna, Eugene H. Spafford, and Jan Vitek
Download: PDF

Improving software assurance is of paramount importance given the impact of software on our lives.  Static and dynamic approaches have been proposed over the years to detect security vulnerabilities. These approaches assume that the signature of a defect, for instance the use of a vulnerable library function, is known apriori. A greater challenge is detecting defects with signatures that are not known apriori—unknown software defects.  In this paper, we propose a general approach for detection of unknown defects.  Software defects are discovered by applying data-mining techniques to pinpoint deviations from common program behavior in the source code and using statistical techniques to assign significance to each such deviation.  We discuss the implementation of our tool, FaultMiner, and illustrate the power of the approach by inferring two types of security properties on four widely-used programs.  We found two new potential vulnerabilities, four previously known bugs, and several other violations. This suggests that FaultMining is a useful and promising approach to finding unknown software defects.

Added 2006-03-02

Information Bulletin

Dundler, Eduard

This booklet provides all of the information on IFIP.

Added 2006-02-27


Synchronization and Recovery of Actions

James E. Allchin; Martin S. McKendry

We introduce an approach to robust computation, in distributed systems. This approach is the foundation of reliablity in the Clouds decentralized operating system. it is based on atomic actions operating on instances of abstract data types(objects). We present an event-based model of computation in which scheduling of responses to operation invocations is controlled by objects. We discuss an integrated strategy for synchronization and recovery which uses relationships betweenthe abstract states of objectss to track dependencies between actions. Serilizability is defined in terms of the semantics of operations. This permits high concurrency to be obtained in non-serializable implementations without deviation from serializable abstract behavior. We define a class of schedulers that allows objecs to make autonomous scheduling decisions. We present the use of non-serializable operation semantics. Finally we discuss implementation of the model, includind action synchronization, object operation odering using action-based counting semaphores, and action recovery.

Added 2006-02-21

Object-Based Synchronization and Recovery

James E. Allchin; Martin S McKendry

Using abstratct data types and nested actions as system structuring tools can help create more robust systems using these tools, several interesting principles have been encountered. First, in this environment synchronization and recovry should be associated with each object. By associating synchronization with each object and by using the semantics of the obeject operations, it is possible to acheieve higher concurrency. Binding recovery to ojects permits efficient recovery techniques which might not be possible without the specific implementation knowledge available to the programmer of the object. Second, its important to distinguish between the abstract behavior of an object and its implementation when analyzing cincurrency. Third, using serializability for the abstact behavior of an object is sometimes undesirable or unnecessary. Whether an object provides serializability as the abstarct behavior depends on the semantics of how the object is used. Examples of object types which motivate the principles are presented.

Added 2006-02-16

A Hypothesis-Based Approach to Digital Forensic Investigations

CERIAS TR 2006-06
Brian D. Carrier
Download: PDF

This work formally defines a digital forensic investigation and categories of analysis techniques.  The definitions are based on an extended finite state machine (FSM) model that was designed to include support for removable devices and complex states and events.  The model is used to define the concept of a computer’s history, which contains the primitive and complex states and events that existed and occurred. The goal of a digital investigation is to make valid inferences about a computer’s history.

Unlike the physical world, where an investigator can directly observe objects, the digital world involves many indirect observations.  The investigator cannot directly observe the state of a hard disk sector or bytes in memory. He can only directly observe the state of output devices. Therefore, all statements about digital states and events are hypotheses that must be tested to some degree. 

Using the dynamic FSM model, seven categories and 31 unique classes of digital investigation analysis techniques are defined.  The techniques in each category can be used to test and formulate different types of hypotheses and completeness is shown.  The classes are defined based on the model design and current practice.

Using the categories of analysis techniques and the history model,  the process models that investigators use are formally compared.  Until now, it was not clear how the phases in the models were different.  The model is also used to identify where assumptions are made during an investigation and to show differences between the concepts of digital forensics and the more traditional forensic disciplines.

Added 2006-02-14