Adam Rifkin
California Institute of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Adam Rifkin.
high performance distributed computing | 1996
K. M. Chandy; Adam Rifkin; Paolo A. G. Sivilotti; J. Mandelson; Matthew Richardson; W. Tanaka; L. Weisman
This paper describes the design of a distributed system built using Java that supports peer-to-peer communication among processes spread across a network. We identify the requirements of a software layer that supports distributed computing, and we propose a design that meets those requirements. Our primary concerns are (I) the identification, specification, and implementation of software components that can be composed in different ways to develop correct distributed applications; (2) reasoning about the components systematically; and (3) providing services to the components. This paper deals with the last of these concerns. Though our implementation uses Java, the fundamental ideas apply to any object-oriented language that supports messaging and threads. Alternative implementations use such languages coupled with object request brokers or remote procedure invocation mechanisms.
international world wide web conferences | 1998
Rohit Khare; Adam Rifkin
Abstract The World Wide Webs extraordinary reach is based in part on its open assimilation of document formats. Although Web transfer protocols and addressing can accommodate any kinds of resources, the unique application context of a truly global hypermedia system favours the adoption of certain Web-adapted formats. In this paper we consider the evolutionary record that has led to the ascent of the eXtensible Markup Language (XML). We present a taxonomy of document species in the Web according to their syntax, style, structure, and semanties. We observe the preferential adoption of SGML, CSS, HTML, and XML, respectively, which leverage a parsimonious evolutionary strategy favouring declarative encodings over Turing-complete languages; separable styles over inline formatting; declarative markup over presentational markup; and well-defined semantics over operational behavior. The paper concludes with an evolutionary walkthrough of citation formats. Ultimately, combined with the self-referential power of the Web to document itself, we believe XML can catalyze a critical shift of the Web from a global information space into a universal knowledge network.
international world wide web conferences | 1998
Rohit Khare; Adam Rifkin
Abstract As once-proprietary mission-specific information systems migrate onto the Web, traditional security analysis cannot sufficiently protect each subsystem atomically. The Web encourages open. decentralized systems that span multiple administrative domains. Trust Management is an emerging framework for decentralizing security decisions that helps developers and others in asking “why” trust is granted rather than immediately focusing on “how” cryptography can enforce it. In this poster, we summarize the implications of Trust Management to future Web applications.
hawaii international conference on system sciences | 1998
Jonathan Aldrich; James Dooley; Scott Mandelsohn; Adam Rifkin
The Java Environment for Distributed Invocation (JEDI) is efficient, dynamic and easier to use than alternative communication systems for distributed Java objects. Existing state-of-the-art mechanisms for remote method calls on Java objects, such as RMI (remote method invocation), require users to perform a complicated series of steps. Furthermore, the compiled static interfaces these systems use limit their functionality. This paper presents the design and implementation of JEDIs simpler approach utilizing dynamic proxies. We discuss a means of integrating JEDI with a publicly available CORBA object request broker (ORB), followed by the tests used to ensure the robustness of the JEDI system. Comparing this systems performance with that of other communication facilities such as UDP, TCP and RMI demonstrates the efficiency of JEDI. A calendar program illustrates the flexibility and usability tradeoffs of employing JEDI in distributed client-server applications.
conference on scientific computing | 1997
Ravi Ramamoorthi; Adam Rifkin; Boris Dimitrov; K. Mani Chandy
We describe three contributions for distributed resource allocation in scientific applications. First, we present an abstract model in which different resources are represented as tokens of different colors; processes acquire resources by acquiring these tokens. Second, we present distributed scheduling algorithms that allow multiple resource managers to determine custom policies to control allocation of the tokens representing their particular resources. These algorithms allow multiple resource managers, each with its own resource management policy, to collaborate in providing resources for the whole system. Third, we present an implementation of a distributed resource scheduling algorithm framework using our abstract model. This implementation uses Infospheres, which are Internet communication packages written in Java, and shows the benefits of distributing the task of resource allocation to multiple resource managers.
Concurrency and Computation: Practice and Experience | 1998
K. Mani Chandy; Adam Rifkin; Eve M. Schooler
We specify an abstract model for dynamic distributed control systems in which the component objects make local decisions based on system-wide constraints and approximate global state. We focus on the issue of distributed resource management, exploring a solution that is both compositional and scalable because it builds global events into the Java infrastructure by exploiting its multicast facilities.
hawaii international conference on system sciences | 1997
K. M. Chandy; Adam Rifkin
Considers a system with an infrastructure for the creation and interconnection of large numbers of distributed persistent objects. This system is exemplified by the Internet: potentially, every appliance and document on the Internet has both a persistent state and the ability to interact with large numbers of other appliances and documents on the Internet. This peeper elucidates the characteristics of such a system and proposes the compositional requirements of its corresponding infrastructure. We explore the problems of specifying, composing, reasoning about and implementing applications in such a system. A specific concern of our research is developing the infrastructure to support the structuring of distributed applications by using sequential, choice and parallel composition in an anarchic environment where application compositions may be unforeseeable, and interactions may be unknown prior to actually occurring. The structuring concepts discussed are relevant to a wide range of distributed applications; our implementation is illustrated with collaborative Java processes interacting over the Internet, but the methodology provided can be applied independent of specific platforms.
IEEE Internet Computing | 1997
Adam Rifkin
The Hubble Space Telescope was funded in the late 1970s, when mainframes still ruled the world. By the time the Hubble was launched in 1990, desktop computers were ubiquitous, powerful, and about to be hyperlinked through the Internet. Hubbles operations control center at NASAs Goddard Space Flight Center reflects these profound changes in computing technology. It has dozens of computing platforms and a control system that evolved over the course of 15 years of project development and subsequent operations. Efforts to reengineer these operational systems are now under way in a project called Vision 2000. The engineers at Goddard are implementing a three-tiered system architecture to integrate the heterogeneous computing environments that have evolved over the years. The new system uses a Web-based graphical user interface, written in Java, to enable greater access to engineering data than has ever before been possible. This GUI represents a Java implementation that is both large-scale (1.5 million lines of code) and mission-critical.
Archive | 1995
Weizhen Mao; Rex K. Kincaid; Adam Rifkin
An increasingly significant branch of computer science is the study of on-line algorithms. In this paper, we apply the theory of on-line algorithms to job scheduling. In particular, we study the nonpreemptive single machine scheduling of independent jobs with arbitrary release dates to minimize the total completion time. We design and analyze two on-line algorithms which make scheduling decisions without knowing about jobs that will arrive in future.
technical symposium on computer science education | 1994
Adam Rifkin
This paper takes the stand that it is never too early to teach so-called “hard” concepts in computer science. Specifically, basic principles in parallel algorithm development and software engineering can be introduced to students first learning about computers. The key is to present ideas in a manner that is simple, fun and suited to the audience. We discuss an interactive exercise developed with this premise in mind, based on sorting algorithms, that we conducted with one hundred minority students aged 14 to 17, on March 19, 1993. Our students, relative neophytes to high level computer science notions, had fun while learning alleged difficult concepts.