Abstract
A large range of new applications are appearing nowadays on the Web in which content and data produced by single users or groups are going to be adapted, composed and aggregated and then redistributed in other forms to other users and/or groups. In this context, the management of intellectual property rights (IPR) of the users collaborating in authoring and composition activities have to be preserved. In this paper we adopt an MPEG-21 representation of digital contents and propose a system that supports the users in their composition that takes into account the permissions of access/composition/modification that each single user or group can exercise on them. In our environment, users can retrieve digital content and data, check the authoring privileges that can be executed on the component resources to generate composite and aggregated contents, and verify the situations in which the composition can hide some privileges that exist in the original contents. When the user holds the privileges for the composition, a license can be automatically generated for the composite content that preserves the rights the user/group holds on the components. This environment supports collaboration among users belonging to different organizations that would like to work together in the realization of non trivial content/data aggregation processes.
Similar content being viewed by others
Notes
1 In MPEG-21 the right holder is the only one that can issue a license.
Even if the unprotected components can be in any position within a resource, we consider them at first only to simplify the presentation.
References
Abelson H, et al. (2008) CCrel: the creative commons rights expression language
Bellini P, Bruno I, Nesi P (2011) Exploiting intelligent content via axmedis/mpeg-21 for modeling and distributing news. Int J Softw Eng Knowl Eng 21 (1):3–32
Bellini P, Bruno I, Nesi P, Paolucci M (2015) Ipr centered institutional service and tools for content and metadata management. Int’l J. of Software Engineering and Knowledge Engineering
Bellini P, Bruno I, Nesi P, Rogai D (2007) Architectural solution for interoperable content and DRM on multichannel distribution. In: Proceedings Int’l Conf Distributed Multimedia Systems, pp 106–111
Bellini P, Nesi P, Pazzaglia F (2014) Exploiting P2P scalability for grant authorization in digital rights management solutions. Multimedia Tools and Applications 72:1611–1637
Bellini P, Nesi P, Rogai D (2007) Exploiting MPEG-21 file format for cross media content. In: Proceedings Int’l Conf Distributed Multimedia Systems, pp 112–117
Cabrio E, Palmero Aprosio A, Villata S (2014) These Are Your Rights. A Natural Language Processing Approach to Automated RDF Licenses Generation. In: The Semantic Web: Trends and Challenges: 11th Int’l Conf., ESWC 2014, pp 255–269
Cardellino C, Villata S, Gandon F, Governatori G, et al. (2014) Licentia: a tool for supporting users in data licensing on the web of data. In: Proceedings Int’l Conf. on Posters and Demonstrations Track (ISWC-PD’14), vol 1272, pp 277–280
Coding of audio-visual object part 12 (2005) ISO base media file format. ISO/IEC:14496–12
Creative Commons, http://creativecommons.org
Cuomo A, et al. (2012) A SLA-based broker for cloud infrastructures. J. of Grid Computing 11(1):1–25
Delgado J et al (2003) Ipronto: an ontology for digital rights management. In: Proceedings Conf. Legal Knowledge and Information Systems
Delgado J et al (2006) Definition of mechanisms that enable the exploitation of governed content. In: Proceedings Int’l Conf Automated Production of Cross Media Content for Multi-Channel Distribution, pp 136–142
Fung B et al (2011) Service-oriented architecture for high-dimensional private data mashup. Transactions on Services Computing
Gangadharan G et al (2007) ODRL service licensing profile (ODRL-s). In: Proceedings Int’l Workshop for Technical Economic and Legal Aspects of Business Models for Virtual Goods, pp 73–90
Gangadharan G et al (2008) Consumer-specified service license selection and composition. In: Proceedings Int’l Conf Composition-Based Software Systems, pp 194–203
Gangadharan G et al (2007) Service license composition and compatibility analysis. In: Proceedings Int’l Conf Service-Oriented Computing, pp 257–269
Gangadharan G, D’Andrea V (2011) Service licensing: conceptualization, for Malization, and expression. SOCA 5(1):37–59
García R, Delgado J (2005) An ontological approach for the management of rights data dictionaries. In: Proceedings Ann. Conf. Legal Knowledge and Information Systems, pp 137–146
Governatori G, Padmanabhan V, Rotolo A, Sattar A (2009) A defeasible logic for modelling policy-based intentions and motivational attitudes. Log J IGPL 17 (3):227–265
Governatori G et al (2013) One license to compose them all - a deontic logic approach to data licensing on the web of data. In: Int’l Semantic Web Conference, pp 151–166
Greengrass J, Evans J, Begen AC (2009) Not all packets are equal, part i: Streaming video coding and SLA requirements. IEEE Internet Comput 13(1):70–75
Iannella R (2001) Open digital rights management. In: Workshop on Digital Rights Management for the Web
Iannella R (2002) Open digital rights language (odrl) version 1.1
Iannella R (2005) Odrl creative commons profile specification
Kodama M, Ozono T, Shintani T, Aosaki Y (2008) Realizing a news value markup language for news management systems using newsml. In: Proceedings Int’l Conf Complex, Intelligent and Software Intensive Systems, pp 249–255
Mesiti M, Perlasca P, Valtolina S (2013) On the composition of digital licenses in collaborative environments. In Proc. Int’l Conf. DEXA
MPEG-21 (2004) Part 5: Rights expression language. ISO/IEC:21000–5
MPEG-21 (2004) Part 6: Rights data dictionary. ISO/IEC:21000–6
MPEG-21 (2005) Part 2: Digital item declaration language. ISO/IEC:21000–2
MPEG-21 (2005). Part 9: File format, ISO/IEC:21000–9
MPEG-21 (2006) Part 4: Intellectual property management and protection components. ISO/IEC:21000–4
Nadah N, de Rosnay M, Bachimont B (2007) Licensing digital content with a generic ontology: escaping from the jungle of rights expression languages. In: Proceedings of ICAIL, pp 65–69
Nesi P, Bellini P, Mitolo N (2009) Axmedis for dummies
Nesi P, Rogai D, Vallotti A (2006) A protection processor for MPEG-21 players. In: Proceedings Conf. Multimedia and Expo, pp 1357–1360
Pucella R, Weissman V (2002) A logic for reasoning about digital rights. In: Proceedings of CSFW, pp 282–294
RealNetworks (2013) Helixcommunity - the foundation of great multimedia applications
RealNetworks (2013) The IBM electronic media management system
RealNetworks (2013) Windows media digital rights management
Rotolo A, Villata S, Gandon F (2013) A deontic logic semantics for licenses composition in the web of data. In: ICAIL, pp 111–120
SCORM (2003) The sharable content object reference model - v. 1.3 Advanced Distributed Learning
Serrão C et al (2003) Open SDRM - an open and secure digital rights management solution. In: Proceedings Int’l Association for Development of the Information Society
Truong HL et al (2011) On analyzing and developing data contracts in cloud-based data marketplaces. In: Proceedings of APSCC, pp 174–181
Villata S, Gandon F (2012) Licenses compatibility and composition in the web of data. In: Proceedings Int’l Workshop on Consuming Linked Data
Yang j, He S et al (2015) Multimedia cloud transmission and storage system based on internet of things Multimed Tools Appl. doi:10.1007/s11042-015-2967-9
Yang J, Wang H et al (2016) Multimedia recommendation and transmission system based on cloud platform. Future Generation Computer Systems, Available online 5 July 2016, ISSN 0167-739X, doi:10.1016/j.future.2016.06.015
World intellectual property organization, www.wipo.int/portal
Wu L, Buyya R (2011) Service Level Agreement (SLA) in utility computing systems. In: Performance and Dependability in Service Computing: Concepts, Techniques and Research Directions. IGI Global, USA
Acknowledgments
The authors wish to thank Giuseppe Amato and Marco Bottin for helping in the implementation of the OLC tool, and the volunteers for participating to the usability tests.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Proof
(Proposition 1) To prove our statement we consider Algorithm 1. The argumentations for the other algorithms are analogous. First we have to observe that in our model, a right r exists on a given resource o only if r has been explicitly granted to o (in other words, rights cannot be propagated). Second, the algorithm allows to generate grants/PARs only when they are already available on the resources o 1, …,o n , thus no new rights are issued and the conditions for exercising the rights are preserved as they are for these resources. The only critical point is the subject to whom the rights are granted. Indeed, a user u might get a right directly issued to him or to the groups he belongs to. However, the policy for assigning the user to the grants in l is the following: the right is granted to the most specific subject (i.e. directly to u if the grants are assigned to u or to the groups it belongs to, to a group k if all the grants are assigned to the same group k). Therefore, the algorithm prevents the possibility of leakage of rights in the creation of the license of the composite resource. □
Proof
(Proposition 2) In order to prove this proposition we consider the different cases reported in Fig. 10 that refer to the same right r. Each tree has been obtained by the composition of the gray and white resources. In case a), the right r is not blocked. Indeed, the gray node does not have this right and it is not obfuscated by the composition. By contrast, in case b), the right is blocked because since r is not present on the white resource that contains the gray one, r cannot be any longer exercised on the gray resource. In case c), r is partially blocked by the composition. Indeed, the root node has the right but with a condition. Therefore, there are situations in which the right cannot be exercised. The remaining cases show the most tricky situations. Indeed, in case d) the right is not blocked because at least a common conditions exist among the three components of the resource. In case e) there is a partial blocked because the root resource shares a condition with each single child, but not with all. The final case shows a situation of complete blocking because the resources do not share common conditions.
The described cases are those identified by means of Function F reported in Fig. 5b. Algorithm 3 simply allows to recursively apply the comparison of the rights of a node with those of its children. Therefore, the rights that are totally blocked have a b value in the array of the root node. Rights that are partially blocked are detected by identifying restrictions applied in at least a path in the hierarchical structure of the resource. □
Proof
(Proposition 3) This proposition guarantees the soundness of the developed algorithms and can be easily proved by induction on the structure of protected resources. User u must have the right to compose these resources in a composite and protected resource o p. In the following we describe the proof for Algorithm 4 and then shows that the same considerations hold for Algorithm 5.
Suppose that n (the number of components) is 0. In this case the for statement at line 4 is not executed and the resource o created at line 10 and 11 is o = {id : i d, metadata : m, par : p, content : r c} which is a simple unprotected resource according to Definition 3. Then, its protection according to the instruction at line 12 produces o p = {id:i d, metadata : m, par : p, protected_content : encrypt(o, p i n f o)} (note that s is empty, then instruction at line 14 is not executed). o p is a simple protected resource w.r.t. Definition 3. We remark that this case is shown only to provide the base of the inductive process. However, in case of composition this case does not occur (at this a resource need to be composed with o).
Suppose now that n > 1 and o 1, o 2, ...o n are simple unprotected resources according to Definition 3, that is o i = {id:i d i , metadata: m i , par:p i , content:r c i },1 ≤ i ≤ n. In this case the for statement at line 4 is executed and produces the following lists:
-
s = [{id : i d 1, metadata : m 1, par : p 1, sub_ content_info : []},…,{id:i d i , metadata : m i , par : p i , sub_content_info:[]}];
-
p a r = [p 1, …,p n ];
-
r c = [o 1, …,o n ].
Then, the resource o created at line 10 and 11 is o = {id:i d,metadata:m,par:[p,p 1, …,p n ], content:[o 1, …,o n ]} which is a structured unprotected resource according to Definition 3. Then, its protection according to the instruction at lines 12 to 15 produces o p = {id:i d,metadata:m,par:[p,p 1, …,p n ],protected_content:encrypt(o,p i n f o), sub_content_info:s} (where s is the one created above). o p is a structured protected resource according to Definition 3.
Suppose now that n > 1 and o 1, o 2, ...o n are simple protected resources according to Definition 3, that is o i = {id:i d i , metadata:m i , par:p i , protected_content:encrypt(o i , p i n f o)}, 1 ≤ i ≤ n. . In this case the for statement at line 4 is executed and produces the following lists:
-
s = [{id:i d 1, metadata:m 1, par:p 1, sub_ content_info:[]},…,{id:i d i , metadata:m i , par:p i , sub_content_info:[]}];
-
p a r = [p 1, …,p n ];
-
r c = [o 1, …,o n ].
Then, the resource o created at line 10 and 11 is o = {id:i d,metadata:m,par:[p,p 1, …,p n ], content:[o 1, …,o n ]} which is a structured unprotected resource according to Definition 3. Then, its protection according to the instruction at lines 12 to 15 produces o p = {id:i d,metadata:m,par:[p,p 1, …,p n ],protected_content:encrypt(o,p i n f o), sub_content_info:s} (where s is the one created above). o p is a structured protected resource according to Definition 3.
Up to now we have exhausted all the base cases (that is simple/structured unprotected/protected composed resources generated from simple unprotected/protected resources). In all cases, we have shown that the result is a resource according to Definition 3. We still have to demonstrate that the composition of structured unprotected/protected resources is still a resource according to Definition 3. In the remainder we show two cases: o 1, o 2, ...o n (n > 1) are: i) all structured unprotected resources; i i) all structured protected resources. The other cases are just combinations of these two. We remark that these two cases correspond to the situation in which i = n (all resources are unprotected) and i = 0 (all resources are protected).
In case i), o i = {id : i d i , metadata : m i , par : p i , content : r c i },1 ≤ i ≤ n, and S C I(o i ) = s c i contains the structure of all the sub-resources contained into o i . In this case the for statement at line 4 is executed and produces the following lists:
-
s = [{id : i d 1, metadata : m 1, par : p 1, sub_ content_info : s c 1},…,{id : i d i , metadata : m i , par : p i , sub_content_info : s c n }];
-
p a r = [p 1, …,p n ];
-
r c = [o 1, …,o n ].
Then, the resource o created at line 10 and 11 is o = {id : i d, metadata : m, par : [p, p 1, …,p n ], content : [o 1, …,o n ]} which is a structured unprotected resource according to Definition 3. Then, its protection according to the instruction at lines 12 to 15 produces o p = {id : i d, metadata : m, par : [p, p 1, …,p n ], protected_content : encrypt(o, p i n f o), sub_content_info : s} (where s is the one created above). o p is a structured protected resource according to Definition 3.
In case i i), \({o_{i}^{p}}=\{ \texttt {id}: id_{i}, \texttt {metadata}:m_{i}, \texttt {par}: p_{i}, \texttt { protected\_content} : \text {encrypt}(o, \mathit {pinfo}),\) sub_content_info : s c i },1 ≤ i ≤ n, and s c i contains the structure of all the sub-resources contained into \({o_{i}^{p}}\). In this case the for statement at line 4 is executed and produces the following lists:
-
s = [{id : i d 1, metadata : m 1, par : p 1, sub_ content_info : s c 1},…,{id : i d i , metadata : m i , par : p i , sub_content_info : s c n }];
-
p a r = [p 1, …,p n ];
-
\(rc=[{o^{p}_{1}}, \ldots , {o^{p}_{n}}]\).
Then , the resource o created at line 10 and 11 is o = {id:i d,metadata:m,par:[p,p 1, …,p n ],\(\texttt {content} : [{o^{p}_{1}}, \ldots , {o^{p}_{n}}]\}\) which is a structured unprotected resource according to Definition 3. Then, its protection according to the instruction at lines 12 to 15 produces o p = {id:i d,metadata:m,par:[p,p 1, …,p n ], protected_content:encrypt(o,p i n f o), sub_content_info:s} (where s is the one created above). o p is a structured protected resource according to Definition 3.
We can now conclude that the proposition is verified for Algorithm 4. The proof of the proposition for Algorithm 5 is analogous to this one. Indeed, it just decrypt resource o p and then uses o p as o in Algorithm 4. Therefore, by following an analogous process we prove that the proposition holds also for Algorithm 5 □
Rights and permissions
About this article
Cite this article
Bellini, P., Mesiti, M., Nesi, P. et al. Protection and composition of crossmedia content in collaborative environments. Multimed Tools Appl 77, 2083–2114 (2018). https://doi.org/10.1007/s11042-017-4382-x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-017-4382-x