Global Object Identifier Decouples Storage Location
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network storage systems face inefficiencies due to hierarchical data organization, which limits data management and navigation, and requires cumbersome policy setup, making it difficult to seamlessly move data across storage tiers and maintain efficient access control.
Innovation Solution
A distributed object store with system-generated, location-independent global object identifiers and a multilevel object handle that includes a policy ID, allowing transparent data migration and inline policy management, along with an object location subsystem for locating data objects, decouples path names from storage locations and enables efficient policy implementation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If path names are used to organize data in a hierarchical structure, then data navigation and retrieval become straightforward, but data management becomes cumbersome and policy implementation becomes difficult
Solution Approach 1:
The system segments data management into two independent parts: path names for navigation and global object IDs for identification and policy management. This allows path names to remain simple for user navigation while the backend uses global object IDs to enable flexible data management operations without being constrained by the hierarchical path structure.
Solution Approach 2:
The system introduces global object IDs as an intermediary between path names and actual data storage. This intermediary layer enables the decoupling of navigation (path names) from data management (global object IDs), allowing policies to be applied to data objects regardless of their path location while maintaining simple hierarchical navigation for users.
2Ease of operation
If data is organized in a hierarchical structure with fixed path names, then access control is simplified, but data migration across storage tiers becomes difficult without affecting clients
Solution Approach 1:
Global object IDs serve as intermediaries that maintain access control information independently of data location. When data migrates across storage tiers, the global object ID remains constant, allowing access control policies to continue functioning without client notification while the underlying storage location changes transparently.
Solution Approach 2:
The system maintains copies of access control information associated with global object IDs separate from the actual data storage locations. This allows data to be migrated to different storage tiers while the access control metadata is preserved and can be quickly retrieved to enforce policies without affecting client operations.
3Reliability
If policy management is done out-of-band by system administrators, then security is maintained, but operational efficiency and automation are reduced
Solution Approach 1:
The system enables self-service policy management where applications and users can directly associate policies with data objects using global object IDs. This eliminates the need for system administrators to manually configure policies out-of-band, while the structured policy association mechanism maintains security through controlled policy enforcement points in the data access path.
Solution Approach 2:
Global object IDs act as intermediaries that enable automated policy management by providing a stable, location-independent identifier that can be associated with policies. This intermediary layer allows policy information to be embedded in data access requests and automatically enforced by the system without requiring manual administrator intervention, thereby improving operational efficiency while maintaining security through systematic policy enforcement.
Data Source
AI summary
A distributed object store in a network storage system uses location-independent global object identifiers (IDs) for stored data objects. The global object ID enables a data object to be seamlessly moved from one location to another without affecting clients of the storage system, i.e., “transparent migration”. The global object ID can be part of a multilevel object handle, which also can include a location ID indicating the specific location at which the data object is stored, and a policy ID identifying a set of data management policies associated with the data object. The policy ID may be associated with the data object by a client of the storage system, for example when the client creates the object, thus allowing “inline” policy management. An object location subsystem (OLS) can be used to locate an object when a client request does not contain a valid location ID for the object.


