Improving the Deployability of Diamond

This document describes three engineering contributions made to Diamond, a system for discard-based search, to improve its portability and maintainability, and add new functionality. First, core engineering work on Diamond’s RPC and content management subsystems improves the system’s maintainability. Secondly, a new mechanism supports “scoping” a Diamond search through the use of external metadata sources. Scoping selects a subset of objects to perform content-based search on by executing a query on an external metadata source related to the data. After query execution, the scope is set for all subsequent searches performed by Diamond applications. The final contribution is Kimberley, a system that enables mobile application use by leveraging virtual machine technology. Kimberley separates application state from a base virtual machine by differencing the VM before and after application customization. The much smaller application state can be carried with the user and quickly applied in a mobile setting to provision infrastructure hardware. Experiments confirm that the startup and teardown delays experienced by a Kimberley user are acceptable for mobile usage scenarios.

[1]  James D. Herbsleb,et al.  Simplifying cyber foraging for mobile devices , 2007, MobiSys '07.

[2]  Mahadev Satyanarayanan,et al.  Categories and Subject Descriptors: D.4.3 [Software]: File Systems Management—Distributed , 2022 .

[3]  Gregory R. Ganger,et al.  Self-* Storage: Brick-based Storage with Automated Administration (CMU-CS-03-178) , 2003 .

[4]  Raj Srinivasan,et al.  XDR: External Data Representation Standard , 1995, RFC.

[5]  John Carter,et al.  A lightweight secure cyber foraging infrastructure for resource-constrained devices , 2004, Sixth IEEE Workshop on Mobile Computing Systems and Applications.

[6]  Kurt D. Zeilenga Anonymous Simple Authentication and Security Layer (SASL) Mechanism , 2006, RFC.

[7]  Mahadev Satyanarayanan,et al.  The case for cyber foraging , 2002, EW 10.

[8]  Jim Zelenka,et al.  A cost-effective, high-bandwidth storage architecture , 1998, ASPLOS VIII.

[9]  Ward K. Harold Using Extensible Markup Language-Remote Procedure Calling (XML-RPC) in Blocks Extensible Exchange Protocol (BEEP) , 2003, RFC.

[10]  Sun Microsystems,et al.  RPC: Remote Procedure Call Protocol specification: Version 2 , 1988, RFC.

[11]  M. Slee,et al.  Thrift : Scalable Cross-Language Services Implementation , 2022 .

[12]  Wael Hassan Simplified Wrapper and Interface Generator , 2000 .

[13]  Mahadev Satyanarayanan,et al.  Data Staging on Untrusted Surrogates , 2003, FAST.

[14]  Raj Srinivasan,et al.  RPC: Remote Procedure Call Protocol Specification Version 2 , 1995, RFC.

[15]  Mahadev Satyanarayanan,et al.  Pervasive Personal Computing in an Internet Suspend/Resume System , 2007, IEEE Internet Computing.

[16]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[17]  Barbara Rosario,et al.  Dynamic composable computing , 2008, HotMobile '08.

[18]  Mahadev Satyanarayanan,et al.  Diamond: A Storage Architecture for Early Discard in Interactive Search , 2004, FAST.

[19]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[20]  Brad A. Myers,et al.  Using handhelds and PCs together , 2001, CACM.

[21]  Roy T. Fielding,et al.  The Apache HTTP Server Project , 1997, IEEE Internet Comput..

[22]  James E. White A high-level framework for network-based resource sharing , 1976, AFIPS '76.

[23]  Jan Harkes,et al.  The OpenDiamond R © Platform for Discard-based Search , 2008 .

[24]  Jeffrey Nichols,et al.  Flexi-modal and multi-machine user interfaces , 2002, Proceedings. Fourth IEEE International Conference on Multimodal Interfaces.