The document summarizes a pilot project between the University of British Columbia (UBC) and DuraCloud to validate using DuraCloud for streaming digital content from UBC's repositories. The goals were to test feasibility, viability of pushing content directly to DuraCloud, and suitability of DSpace's storage services API. Requirements for granular access control and serialization processes were discussed. The solution involved DSpace storage handlers and services to interface with DuraCloud. The pilot successfully validated the technical feasibility and DSpace's storage services for DuraCloud interaction.
3. GOALS OF THE PILOT
•Validate feasibility DuraCloud to supply
Streaming support for DSpace Content
•Validate the Viability of directly pushing
DSpace Bitstream content into DuraCloud
•Validate the DSpace Storage Services API
as a good fit for DuraCloud Storage
Service Interaction.
Wednesday, January 25, 12
4. UBC REQUIREMENTS FOR DURACLOUD STREAMING
•Cloud-front will need access to bitstreams
in original format.
•UBC stakeholders will require granular
control of access to specific spaces.
•Will require Granular Control of the
“DSpace to DuraCloud” Serialization
Processes from “Stem to Stern”
Wednesday, January 25, 12
9. Technical Overview
of Solution
DSpace Storage Service for DuraCloud
www.atmire.com
Wednesday, January 25, 12
10. REQUIREMENTS DIFFER FROM THE INITIAL
DURASPACE AIP BACKUP/RESTORE PROJECT
•Cloud-front will need access to bitstreams
in original form (not AIP packages).
•Granular control of access to specific
spaces.
•Granular Control of the serialization
Processes to determine what content
gets serialized
Wednesday, January 25, 12
11. YET, THESE REQUIREMENTS ALIGN WELL WITH
THE PLANNED NEXT ITERATION OF DSPACE AIP
•Both Have Goals of Granular Storage
•Both Have Goals to be Customizable
•Both Will Need Access To Manage
DuraCloud Services Directly
Wednesday, January 25, 12
12. WORKING FOR CONVERGENCE
•Re-prioritized to use of Curation Tools
•New Scheduler Service still Alpha
•Already Capable of Asynchronous Scheduling
•AIP Prototype
•Extended off New AIP Manifest Format
Wednesday, January 25, 12
13. DSPACE STORAGE SERVICES
•Simple API for interacting with third party
storage systems
•Simplifies all DSpace Objects to just
Entities, Content and Properties
•Pilot GSoC and DS2 Projects in past have
supplied solutions for other systems.
•Fedora, Tupleo Triplestores, Jackrabbit JCR
Repositories.
Wednesday, January 25, 12
14. DSPACE BINARY STORAGE SERVICE
JAVA.IO.FILE
public interface BinaryStorageService {
public String create(String id,
InputStream in,
long size,
String mimetype,
String checksum,
Map<String, String> properties);
public String create(String id, File file, String mimetype, Map<String, String> properties);
public void retrieveToFile(String id, File target) throws IOException;
public File retrieveAsFile(String id);
Wednesday, January 25, 12
15. DURACLOUD AS A STORAGE SERVICE
MODULAR STORAGE HANDLERS
DSpace
Legacy DSpace DSpace Service Manager
Plugins
Streaming Storage
Handler Service
Create
DSpace Retrieve
Event Curation Object Update
Manager Tools Crosswalk
Storage Delete
Handler
Handler
Delete (METS)
Storage
Event Task Storage DuraCloud
Crosswalk Java Client
Consumer Service
Handler
Update Update (ORE) Create
Task Delete
Retrieve
Bitstream Update
Handler Delete
Logo
Handler
Storage
Service
Create
Your Own Retrieve
Handler Update
Delete
Wednesday, January 25, 12
16. DURACLOUD AS A STORAGE SERVICE
MODULAR STORAGE HANDLERS
DSpace
Legacy DSpace DSpace Service Manager
Plugins
Streaming Storage
Handler Service
DSpace
Event Curation Object
Manager Tools Crosswalk DuraCloud
Storage
Handler Java Client
Handler
Delete (METS)
Storage
Event Task
Crosswalk Storage
Consumer
Handler Service
Update Update (ORE)
Task Delete
Bitstream
Handler
Logo
Handler Storage Fedora
Service Java Client
Your Own
Handler
Wednesday, January 25, 12
17. STORAGE HANDLER INTERFACE
public interface StorageHandler {
/**
* Identify the Resource Currently needing
* update in the handler chain
* @param dso
*/
void update(DSpaceObject dso);
/**
*
* @param identifier
*/
void delete(String identifier);
}
Wednesday, January 25, 12
18. MODULAR HANDLERS
• Target Object Mapping to Persistence Stores
(Serialization)
• Easy to Implement by Developers
• Will be Easy to Configure by Maintainers
• Different Layer than Curation Tools (intended to be
usable by them)
• Same Layer as Packagers and Crosswalks
Wednesday, January 25, 12
21. DEMO : UBC CIRCLE + DURACLOUD STREAMING
Wednesday, January 25, 12
22. CONCLUSIONS
•Validated technical feasibility DuraCloud
to supply Streaming Support for DSpace
and @Mire AV Streaming Module.
•Validated the DSpace Storage Services
API as a good fit for DuraCloud Storage
Service Interaction.
Wednesday, January 25, 12
23. WHERE DO WE GO FROM HERE
•UBC / @MIRE (Scalability Testing)
• Scale Up To Load larger collections of Video Content
• Verify Curation Tools Scheduling Service processing on
transfer of larger content files to DuraCloud.
• Further Integrate Our AudioVisual Streaming Suite.
•DSpace / DuraCloud (Community)
• Work to adopt Storage Services in DSpace 1.8
• Provide DuraCloudStorageServices as Addon
• Contribute to Advance Streaming Services
Wednesday, January 25, 12