Policy-Carrying, Policy-Enforcing Digital Objects Sandra Payette Cornell Digital Library Research Group
Digital Library Context Repositories of simple, familiar entities Repositories of complex, dynamic objects
Policy Enforcement Continuum repository-centric object-centric Digital Objects
Digital Libraries: context-specific policies Distance Education (“Lecture object”): –“guests may view course syllabus and slides 1-10 of Lecture 1, but may not view the Lecture 1 video or other slides.” –“students may not view Lecture 2 video unless they submit assignment for Lecture 1.” Library digitization (“Book object”): –“before copyright expiration on 1/1/2002 CU students can access chapters 1-6 and CU alumni can access pages 1-20 of chapter 2; after expiration, all users can access all pages of all chapters.” Business Strategy (“Technology portfolio object”): –“managers may view product specification only after product safety report has been certified by head of R&D.” –“only the executive team may run the market share simulation”
FEDORA: Digital Object Architecture Interoperability – among heterogeneous digital objects Interface Stability - for accessing digital objects Extensibility – of digital object behaviors Distribution - of digital object data and executables Security - flexible policy enforcement for access control Preservation - longevity of digital objects
FEDORA Digital Object Model Disseminations Generic interface Data Stream Data Stream Data Stream Extensible Mechanism Encapsulated service request Primitive Disseminator Typed Disseminator Internal stream
Extensible Behaviors - “Lecture” Content Disseminations Lecture Mechanism Dublin Core GetVideo(quality) GetSlide(seqNum) GetSyncData GetDCRecord GetDCField(name) Lecture Data Archive Video-H Policy-L (PSlang) Video-L Policy-D (PSlang) slide-2 (gif) slide-1 (gif) metadata (xml)
FEDORA and PoET IRM Policy Enforcement Content Disseminations Video-H Lecture Mechanism Video-L Dublin Core Java bytecode in-lined with policies at runtime slide-2 (gif) slide-1 (gif) metadata (xml) access request Policy-L (PSlang) Policy-D (PSlang)
Object structure view via client Digital Object Policy
End-User View … policies enforced transparently