Nov. 12-15, 2000 | John Kubiatowicz, David Bindel, Yan Chen, Steven Czerwinski, Patrick Eaton, Dennis Geels, Ramakrishna Gummadi, Sean Rhea, Hakim Weatherspoon, Westley Weimer, Chris Wells, and Ben Zhao
OceanStore is a global-scale persistent storage architecture designed to provide continuous access to persistent information across untrusted servers. It uses redundancy and cryptographic techniques to protect data. Data can be cached anywhere, anytime, and monitoring helps adapt to outages and attacks while improving performance through proactive data movement. A prototype is currently under development.
OceanStore is envisioned as a cooperative utility where users pay for access to persistent storage. It is highly available, uses automatic replication for disaster recovery, and provides performance similar to existing LAN-based storage systems. Services are provided by a confederation of companies, with users paying to a specific provider but able to use resources from multiple providers.
OceanStore has two unique goals: (1) being constructed from an untrusted infrastructure and (2) supporting nomadic data. It assumes servers are untrusted, and only clients can be trusted with cleartext. Servers participate in distributed consistency management protocols. Data is cached anywhere, anytime, and is called nomadic data. This allows flexibility in optimizing locality and trading consistency for availability.
OceanStore's system overview includes persistent objects identified by GUIDs. Objects are replicated and stored on multiple servers for availability and durability. Updates are handled through versioning, allowing for clean recovery and permanent pointers. Objects exist in active and archival forms, with archival versions encoded with erasure codes for deep archival storage.
OceanStore supports applications requiring consistency, security, privacy, wide-scale data dissemination, dynamic optimization, durable storage, and disconnected operation. It provides a common mechanism for storing and managing large data collections, replicating data for durability and availability, and enabling seamless migration of data.
OceanStore's architecture includes a naming system with GUIDs, access control with reader and writer restrictions, and data location and routing mechanisms. It uses a probabilistic algorithm for data location, with a two-tiered approach for routing. The global algorithm uses a randomized hierarchical data structure for wide-scale data location.
OceanStore's update model uses conflict resolution to handle concurrent updates, with a Byzantine agreement protocol for serialization. It supports various consistency semantics, including ACID semantics. Updates are serialized and multicast to secondary replicas, with archival storage using erasure codes for deep archival storage.
OceanStore's API provides a global-scale, wide-distribution, epidemic propagation method, and flexible update policy. It enables application writers to understand their interaction with the system through sessions, session guarantees, updates, and callbacks. Facades provide traditional interfaces for applications with basic requirements.
OceanStore's introspection mechanism allows dynamic optimization of object placement, number, and migration. It uses continuous monitoring to discover relationships between objects and manage locality. The system is designed to be maintenance-free, automatically adapting to server presence or absence without human intervention.OceanStore is a global-scale persistent storage architecture designed to provide continuous access to persistent information across untrusted servers. It uses redundancy and cryptographic techniques to protect data. Data can be cached anywhere, anytime, and monitoring helps adapt to outages and attacks while improving performance through proactive data movement. A prototype is currently under development.
OceanStore is envisioned as a cooperative utility where users pay for access to persistent storage. It is highly available, uses automatic replication for disaster recovery, and provides performance similar to existing LAN-based storage systems. Services are provided by a confederation of companies, with users paying to a specific provider but able to use resources from multiple providers.
OceanStore has two unique goals: (1) being constructed from an untrusted infrastructure and (2) supporting nomadic data. It assumes servers are untrusted, and only clients can be trusted with cleartext. Servers participate in distributed consistency management protocols. Data is cached anywhere, anytime, and is called nomadic data. This allows flexibility in optimizing locality and trading consistency for availability.
OceanStore's system overview includes persistent objects identified by GUIDs. Objects are replicated and stored on multiple servers for availability and durability. Updates are handled through versioning, allowing for clean recovery and permanent pointers. Objects exist in active and archival forms, with archival versions encoded with erasure codes for deep archival storage.
OceanStore supports applications requiring consistency, security, privacy, wide-scale data dissemination, dynamic optimization, durable storage, and disconnected operation. It provides a common mechanism for storing and managing large data collections, replicating data for durability and availability, and enabling seamless migration of data.
OceanStore's architecture includes a naming system with GUIDs, access control with reader and writer restrictions, and data location and routing mechanisms. It uses a probabilistic algorithm for data location, with a two-tiered approach for routing. The global algorithm uses a randomized hierarchical data structure for wide-scale data location.
OceanStore's update model uses conflict resolution to handle concurrent updates, with a Byzantine agreement protocol for serialization. It supports various consistency semantics, including ACID semantics. Updates are serialized and multicast to secondary replicas, with archival storage using erasure codes for deep archival storage.
OceanStore's API provides a global-scale, wide-distribution, epidemic propagation method, and flexible update policy. It enables application writers to understand their interaction with the system through sessions, session guarantees, updates, and callbacks. Facades provide traditional interfaces for applications with basic requirements.
OceanStore's introspection mechanism allows dynamic optimization of object placement, number, and migration. It uses continuous monitoring to discover relationships between objects and manage locality. The system is designed to be maintenance-free, automatically adapting to server presence or absence without human intervention.