Device, equipment and method for presenting content and node for block chain network, and non-transient machine readable storage medium
By using smart contracts and decentralized applications to manage digital copyrights on blockchain networks, the problem that existing DRM mechanisms are difficult to support content sharing and user-generated content is solved, and flexible licensing management and secure sharing of content is achieved.
Patent Information
- Application Number
- CN202411212095.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-26
- Filing Date
- 2024-08-30
- Publication Date
- 2025-03-28
AI Technical Summary
The existing digital rights management (DRM) mechanisms are difficult to support the 'fair use' practice of content sharing, especially in the 'mixed' and social sharing scenarios, and the centralized DRM solution limits the decentralized creation and sharing of user-generated content.
The decentralized method is used to manage digital copyrights based on blockchain networks, and support for content license management, key management and fair use through smart contracts and decentralized applications (DApps).
It realizes flexible licensing management of content, supports decentralized creation and sharing of content, enhances the rights and interests of content creators and consumers, and ensures the safety and traceability of content.
Smart Images

Figure CN119720131A_ABST
Abstract
Description
Background Art
[0001] Many existing digital rights management (DRM) mechanisms for advanced protected content playback provide licenses and content for playback from centralized DRM license servers and from content servers. This includes "viral" user-generated content (UGC) controlled by centralized entities (such as popular video hosting platforms, social networks, etc.). Users generally do not have the ability to create, publish, track, consume, and forward DRM content (e.g., content generated entirely by users, or content generated based on a mash-up of content or research content from other users and a user's own content) in a decentralized peer-to-peer manner.
[0002] Moreover, many existing DRM mechanisms may not easily support "fair use" practices for content sharing, where content segments may be displayed and / or used without first obtaining permission or license. This may be due in part to existing DRM schemes that encrypt and / or protect the entire content stream using a single encryption key.
[0003] Content 'mashups' allow multiple content inputs to be 'mashup' to produce a new content stream containing elements of the input streams. Current DRM schemes generally do not easily support mashups and social sharing because the mashup artist must first obtain permission from all input sources, even if only a small portion of the original content is to be included in the final product. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Some examples of apparatus and / or methods will be described below by way of example only and with reference to the accompanying drawings, in which:
[0005] Figure 1a Schematic diagrams showing examples of apparatuses or devices for presenting content, and presentation devices including such apparatuses or devices;
[0006] Figure 1b A flow chart illustrating an example of a method for presenting content;
[0007] Figure 2a A schematic diagram showing an example of an apparatus or device for a node of a blockchain network, and a node including such an apparatus or device;
[0008] Figure 2b A flow chart illustrating an example of a method for a node of a blockchain network;
[0009] Figure 3 A schematic diagram showing a centralized DRM licensing approach;
[0010] Figure 4 a high-level schematic diagram showing examples of use cases supported by the proposed system architecture; and
[0011] Figure 5 Flowchart showing the DRM license / content key provision process. DETAILED DESCRIPTION
[0012] Some examples are now described in more detail with reference to the accompanying drawings. However, other possible examples are not limited to the features of these embodiments described in detail. Other examples may include modifications of features and equivalents and alternatives of features. In addition, the terms used to describe certain examples herein should not limit further possible examples.
[0013] Throughout the description of the drawings, the same or similar reference numerals refer to the same or similar elements and / or features, which may be the same or implemented in a modified form while providing the same or similar functions. For clarity, the thickness of lines, layers and / or regions in the drawings may also be exaggerated.
[0014] When two elements A and B are combined using "or", this is to be understood as disclosing all possible combinations, i.e., only A, only B, and A and B, unless otherwise explicitly defined in individual cases. As an alternative wording for the same combination, "at least one of A and B" or "A and / or B" may be used. This applies equally to combinations of more than two elements.
[0015] If singular forms such as "a / an" and "the" are used and the use of only a single element is neither explicitly nor implicitly defined as mandatory, further examples may also use several elements to achieve the same function. If a function is described below as being achieved using multiple elements, further examples may use a single element or a single processing entity to achieve the same function. It is further understood that when the term "include", "including", "comprise" and / or "comprising" is used, it describes the presence of specified features, integers, steps, operations, processes, elements, components and / or groups thereof, but does not exclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components and / or groups thereof.
[0016] In the following description, specific details are set forth, but examples of the techniques described herein may be implemented without these specific details. Well-known circuits, structures, and techniques are not shown in detail to avoid obscuring an understanding of the present description. “An example / example,” “various examples / examples,” “some examples / examples,” and the like may include features, structures, or characteristics, but not every example necessarily includes these particular features, structures, or characteristics.
[0017] Some examples may have some, all, or none of the features described for other examples. "First," "second," "third," and the like describe common elements and indicate different instances of similar elements being referenced. Such adjectives do not imply that the elements so described must be in a given order, either temporally or spatially, in ranking, or in any other way. "Connected" may indicate that elements are in direct physical or electrical contact with each other, and "coupled" may indicate that elements cooperate or interact with each other, but these elements may or may not be in direct physical or electrical contact.
[0018] As used herein, the terms "operate," "execute," or "run" are used interchangeably when referring to software or firmware associated with a system, device, platform, or resource, and may refer to software or firmware stored in one or more computer-readable storage media accessible by a system, device, platform, or resource, even if the instructions contained in the software or firmware are not being actively executed by the system, device, platform, or resource.
[0019] The specification may use the phrases "in an example / example", "in various examples", "in some examples / examples", and / or "in various examples / examples", each of which may refer to one or more of the same or different examples. In addition, the terms "comprising", "including", "having", etc. as used with respect to the examples of the present disclosure are synonymous.
[0020] Each example relates to a concept (e.g., method and apparatus) for interoperable digital rights management (DRM) for Web 2.0 and Web 3.0. The present disclosure relates to one or more of digital rights management (DRM), Web 3.0, Web 2.0, blockchain, WASM (WebAssembly), software security, monetization, and software as a service.
[0021] Figure 1a A schematic diagram of an example of an apparatus 10 or device 10 for presenting content, and a presentation device 100 including such an apparatus 10 or device 10, such as a computer system or a mobile device, is shown. Figure 1a Further shown is a system including an apparatus 10 or device 10 and at least one distributed application (dApp or DApp) 2 (or an apparatus 20 or device 20 that hosts dApp 2, or a node 200 that hosts dApp 2). The apparatus 10 includes a circuit system for providing the functions of the apparatus 10. For example, the circuit system of the apparatus 10 can be configured to provide the functions of the apparatus 10. For example, Figure 1a The device 10 includes an interface circuit system 12, a processor circuit system 14, and (optionally) a memory / storage circuit system 16. For example, the processor circuit system 14 may be coupled to the interface circuit system 12 and to the memory / storage circuit system 16. For example, the processor circuit system 14 may be combined with the interface circuit system 12 (for communicating with nodes 200a-200c of at least one blockchain network 205a, 205b, for communicating with the content server 1, and / or for communicating with a web server or application server 3) and the memory / storage circuit system 16 (for storing information such as machine-readable instructions) to provide the functionality of the device. Similarly, the device 10 may include a device for providing the functionality of the device 10. For example, the device may be configured to provide the functionality of the device 10. The components of the device 10 are defined as component devices that may correspond to or be implemented by corresponding structural components of the device 10. For example, Figure 1aThe device 10 includes: means 14 for processing, which may correspond to or be implemented by the processor circuit system 14; means 12 for communication, which may correspond to or be implemented by the interface circuit system 12; and (optionally) means 16 for storing information, which may correspond to or be implemented by the memory or storage circuit system 16. In general, the functions of the processor circuit system 14 or the means for processing 14 can be implemented by the processor circuit system 14 or the means for processing 14 executing machine-readable instructions. Therefore, any features attributed to the processor circuit system 14 or the means for processing 14 can be defined by one or more instructions of a plurality of machine-readable instructions. The device 10 or apparatus 10 may include machine-readable instructions 16a (e.g., within the memory or storage circuit system 16 or the means for storing information 16).
[0022] The processor circuitry 14 or means for processing 14 is used to obtain content. The processor circuitry 14 or means for processing 14 is used to obtain at least one license to use the content from at least one decentralized application 2 referenced by the content. The processor circuitry 14 or means for processing 14 is used to present the content in accordance with the at least one license.
[0023] Figure 1b A flowchart showing an example of a corresponding method for presenting content. The method comprises: 120: obtaining content. The method comprises: 130: obtaining at least one license to use the content from at least one decentralized application 2 referenced by the content. The method comprises: 140: presenting the content according to the at least one license. For example, the method may be performed by a presentation device 100, such as by an apparatus 10 or device 10 of the presentation device 100.
[0024] In the following, further details about the apparatus 10, the device 10, the presentation device 100, the method and the corresponding computer program will be introduced with reference to the apparatus 10 and the presentation device 100. Features introduced with reference to the apparatus 10 and / or the presentation device 100 may also be included in the corresponding device 10, method and computer program.
[0025] The examples of the present disclosure relate to licensing of digital content, such as video content, image content, virtual reality content, text content, or audio content. In the proposed concept, this is achieved in a decentralized manner with the help of a blockchain-based architecture.
[0026] In general, the process begins with obtaining content and corresponding licenses (one or more) for presenting the content. For example, the content can be decoded (e.g., decrypted) using at least one license, for example, with the help of a trusted execution environment (TEE) of the processor circuit system. For example, the at least one license can be at least one of time-limited and use-limited. The processor circuit system obtains the content, for example, from a content server 1. For example, the content server can be a web server, a streaming media server, or other application server. In addition, the content server can participate in a blockchain network and provide content via a decentralized application hosted by the content server. Accordingly, the processor circuit system can obtain content from a decentralized application hosted by the content server 1.
[0027] In the present concept, various aspects are implemented with the help of decentralized applications. A decentralized application (DApp or dApp) is a computer application that operates on a decentralized network (such as a blockchain). Unlike traditional applications that are operated by a single entity and a centralized server, DApp is decentralized and runs on a peer-to-peer computer network. Decentralization means that no single entity controls the application, making it transparent, secure, and resistant to censorship or manipulation. DApps typically use blockchain technology to ensure that all transactions are verified and recorded in an unalterable manner on a distributed ledger. Examples of DApps include cryptocurrency wallets and decentralized exchanges.
[0028] In some examples, the content is provided with reference to a smart contract associated with the content (e.g., referenced by the content, specified by the content). A smart contract can be used to specify the license(s) required to present the content. In other words, the license(s) to be obtained can be defined in a smart contract associated with the content, and the smart contract references the license(s). A smart contract is a self-executing contract in which the terms of the agreement between the buyer (or licensee) and the seller (or licensor) are written directly into the lines of code. The code and the protocols contained therein exist on a decentralized blockchain network, and the smart contract can be automatically executed when predetermined conditions are met. For example, a smart contract can be part of a dApp, that is, a dApp can include one or more smart contracts. In the present case, a decentralized application used to provide at least one license may include a smart contract to define the license terms to be satisfied by the licensee.
[0029] The processor circuit system obtains (e.g., requests and receives) at least one license to use the content from at least one decentralized application 2 referenced by the content. How the at least one license is obtained depends on the license required to present the content. In the simplest case where one license is required, the processor circuit system can obtain the license from a single decentralized application 2 hosted by a node 200 of the blockchain network 205. Similarly, if multiple licenses are required, but the multiple licenses are given by the same licensor (or agent / clearing house), multiple licenses can be obtained from the same dApp. In other words, if two or more licenses are to be obtained, the processor circuit system can obtain at least two licenses from the same decentralized application 2a, 2b, 2c. This facilitates communication because only one dApp needs to be contacted.
[0030] For example, if the content is a mashup (including licensed materials from multiple content providers), a license can be obtained from each content provider. For example, a license obtained from two or more content providers can be defined in the aforementioned smart contract associated with the content. This can enable the presentation device to identify which licensors are to be contacted. If the content includes content from two or more content providers, the processor circuit system can obtain a license from each of the two or more content providers. As outlined above, in some cases, a license can be obtained from the same dApp. However, depending on the number of licenses and on the number of licensors, this can be extended to multiple nodes and multiple blockchain networks. For example, if two or more licenses are to be obtained, the processor circuit system can obtain the two or more licenses from two or more decentralized applications 2b, 2c hosted by nodes 200b, 200c of the same blockchain network 205b. Alternatively, these licenses can be obtained from nodes of different blockchain networks. For example, if two or more licenses are to be obtained, the processor circuit system may obtain the two or more licenses from two or more decentralized applications 2a, 2b hosted by nodes 200a, 200b of at least two different blockchain networks 205a, 205b. In this case, one or more blockchain bridge nodes may be used to obtain these licenses across different blockchain networks. By obtaining licenses from different nodes and / or different blockchain networks, a high degree of flexibility and decentralization may be achieved.
[0031] In order to communicate with the (one or more) decentralized applications that provide at least one permission, the presentation device can participate in the corresponding (one or more) blockchain network. For example, the presentation device itself can host a decentralized application, which can be used for the purpose of obtaining (one or more) permissions. In other words, the processor circuit system can host the decentralized application and use the decentralized application to at least perform the action of obtaining at least one permission to use the content. Accordingly, the method may include: 110: hosting the decentralized application, and using the decentralized application to at least perform the action of obtaining at least one permission to use the content.
[0032] In some cases, it may not be possible to obtain all licenses (or some of these licenses) for rendering content from the distributed applications. In such cases, as a fallback option, a conventional license server may be used. For example, if at least one distributed application is inaccessible, the processor circuitry may obtain at least one license from a web server or application server 3 as a fallback mechanism. Accordingly, if Figure 1b As further shown in , the method may include: 135: If at least one decentralized application is inaccessible, as a fallback mechanism, at least one license may be obtained from the web server or application server 3. Such a scenario may occur in geographic areas where the licensor does not support licensing via decentralized applications or where blockchain technology is prohibited.
[0033] After obtaining the license(s), the processor circuitry presents the content in accordance with at least one of the licenses. For example, using at least one license, the processor circuitry may obtain at least one decryption key for decrypting the content, decrypt the content, and present the content. If the content includes multiple components (e.g., a mashup of different content, or audio and video), separate decryption keys may be obtained for the different components and used to decrypt the content.
[0034] In many cases, the licensor is interested in how its content performs, and is particularly interested in being alerted when its content becomes viral. In addition, as part of the license, the licensor may instruct the licensee to provide usage information related to the use of the content. Accordingly, the processor circuitry may provide usage information related to the use of the content to each of the two or more content providers. Accordingly, if Figure 1b As further shown in , the method may include: 150: providing usage information related to the usage of the content to each of the two or more content providers. Figure 4 As shown in , usage information may be provided to (one or more) decentralized applications that provide at least one license.
[0035] The interface circuit system 12 or the means for communicating 12 may correspond to one or more inputs and / or outputs for receiving and / or transmitting information within a module, between modules, or between modules of different entities, which information may be in the form of digital (bit) values according to a specified code. For example, the interface circuit system 12 or the means for communicating 12 may include a circuit system configured to receive and / or transmit information.
[0036] For example, the processor circuit system 14 or the means for processing 14 may be implemented using one or more processing units, one or more processing devices, any means for processing (such as a processor, a computer, or a programmable hardware component that can operate with correspondingly adapted software). In other words, the described functions of the processor circuit system 14 or the means for processing may also be implemented using software, which is then executed on one or more programmable hardware components. Such hardware components may include general-purpose processors, digital signal processors (DSPs), microcontrollers, etc.
[0037] For example, the memory or storage circuit system 16 or the device 16 for storing information can be a volatile memory, such as a random access memory (such as a dynamic random-access memory (DRAM)), and / or can include at least one element of the group of computer-readable storage media, which computer-readable storage media is such as a magnetic or optical storage medium, for example, a hard drive, a flash memory, a floppy disk, a random access memory (Random Access Memory, RAM), a programmable read only memory (Prom), an erasable programmable read only memory (Erasable Programmable Read Only Memory, EPROM), an electrically erasable programmable read only memory (Electronically Erasable Programmable Read Only Memory, EEPROM) or a network storage device.
[0038] with the proposed concept or the context above or below (e.g. Figures 2a to 5 ) In combination with one or more examples described above, more details and aspects of the apparatus 10, device 10, method, corresponding computer program, and presentation device 100 are mentioned. The apparatus 10, device 10, method, computer program, and presentation device 100 may include one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.
[0039] Figure 2a A schematic diagram showing an example of an apparatus 20 or device 20 for a node 200 of a blockchain network, and a node 200 including such an apparatus 20 or device 20 (i.e., a computer system configured to participate in a blockchain network). Figure 2a A system is further shown that includes an apparatus 20 or device 20 and at least one presentation device 100. The apparatus 20 includes circuitry for providing the functionality of the apparatus 20. For example, the circuitry of the apparatus 20 may be configured to provide the functionality of the apparatus 20. For example, Figure 2a The device 20 includes an interface circuit system 22, a processor circuit system 24, and (optionally) a memory / storage circuit system 26. For example, the processor circuit system 24 may be coupled to the interface circuit system 22 and to the memory / storage circuit system 26. For example, the processor circuit system 24 may be combined with the interface circuit system 22 (for communicating with other nodes of the blockchain network 205 or other blockchain networks, and / or for communicating with the presentation device 100) and the memory / storage circuit system 26 (for storing information such as machine-readable instructions) to provide the functionality of the device. Similarly, the device 20 may include a device for providing the functionality of the device 20. For example, the device may be configured to provide the functionality of the device 20. The components of the device 20 are defined as component devices that may correspond to or be implemented by corresponding structural components of the device 20. For example, Figure 2a The device 20 includes: a means 24 for processing, which may correspond to the processor circuit system 24 or be implemented by the processor circuit system 24; a means 22 for communicating, which may correspond to the interface circuit system 22 or be implemented by the interface circuit system 22; and (optionally) a means 26 for storing information, which may correspond to the memory or storage circuit system 26 or be implemented by the memory or storage circuit system 26. In general, the functions of the processor circuit system 24 or the means 24 for processing can be implemented by the processor circuit system 24 or the means 24 for processing executing machine-readable instructions. Therefore, any features attributed to the processor circuit system 24 or the means 24 for processing can be defined by one or more instructions of a plurality of machine-readable instructions. The device 20 or apparatus 20 may include machine-readable instructions 26a (e.g., in the memory or storage circuit system 26 or the means 26 for storing information).
[0040] The processor circuit system 24 or means for processing is used to host a decentralized application 2 for managing permissions for content. The processor circuit system 24 or means for processing is used to obtain a request for at least one permission to present content from the content presentation device 100. The processor circuit system 24 or means for processing is used to process the request for at least one permission to present content using the decentralized application. The processor circuit system 24 or means for processing is used to provide at least one permission to present content to the presentation device 100 using the decentralized application.
[0041] Figure 2b A flowchart showing an example of a corresponding method for a node 200 of a blockchain network. The method includes: 210: hosting a decentralized application 2, the decentralized application 2 for managing permissions for content. The method includes: 230: obtaining a request for at least one permission for presenting content from a content presentation device 100. The method includes: 240: using a decentralized application to process the request for at least one permission for presenting content. The method includes: 250: using a decentralized application to provide at least one permission for presenting content to a presentation device 100. For example, the method may be performed by a node 200 (e.g., by a computer system 200 implementing the electromechanical).
[0042] In the following, further details about the apparatus 20, device 20, node 200, method and corresponding computer program will be introduced with reference to the apparatus 20 and node 200. Features introduced with reference to the apparatus 20 and / or node 200 may also be included in the corresponding apparatus 20, method and computer program.
[0043] Figure 1a to Figure 1b A rendering device for rendering content, and Figure 2a and Figure 2b Involving an entity that provides the required permissions for presenting content. In the proposed concept, this is done in a decentralized manner, where each content creator can use a decentralized application to set up a licensing entity on the blockchain network. Accordingly, as a basis for providing permissions, the processor circuit system hosts a decentralized application 2, which is used to manage permissions for content. For example, the decentralized application is hosted on the blockchain network 205, where the blockchain in the blockchain network 205 is used to record various activities of the decentralized application, such as proof of granted permissions.
[0044] As combined Figure 1a and Figure 1bAs outlined, in some cases, the content being presented uses a smart contract to reference the license(s) required to present the content. In other words, at least one license may be defined in a smart contract associated with the content, and the smart contract references the license. Such a smart contract for referencing at least one license may be established by a decentralized application. For example, a processor circuit system may establish a smart contract. Accordingly, as Figure 2b As further shown in , the method may include: 220: establishing a smart contract. For example, Figure 4 As shown, the smart contract can be established by the dApp of the content provider that provides the content, or by the dApp of the mashup artist that provides a mashup of the content of other content providers. In the latter case, the dApp of the mashup artist may propose a smart contract that references the license (and a sharing agreement with the payment / royalties) and open a dispute period. During the dispute period, content providers of the content used by the mashup artist can dispute the smart contract. The mashup artist's dApp can then modify the smart contract until the various content providers reach an agreement on the smart contract. In summary, the processing circuit system can handle at least one dispute of one or more content providers by modifying the smart contract until consensus is reached on the smart contract (e.g., between the mashup artist and (one or more) content providers). Accordingly, as Figure 2b As further shown in , the method may include: 225: handling at least one dispute of one or more content providers by modifying the smart contract until consensus is established on the smart contract. For example, the processor circuit system may propose the smart contract to the one or more content providers via a separate layer 2 blockchain (e.g., a blockchain different from the blockchain on which the distributed application is hosted).
[0045] The processor circuitry may then obtain a request for at least one license for presenting the content from the content presentation device 100, process the request using the dApp, and provide the at least one license using the dApp. For example, before providing the license, the processor circuitry may perform a remote verification process to ensure that the at least one license and (specifically) the decryption key(s) for decrypting the content are being handled by the TEE of the content presentation device. After performing the remote verification process, the dApp may trust the presentation device and provide the decryption key held by the dApp (e.g., within the TEE of the node) to the presentation device.
[0046] In some cases, the dApp may act as an aggregator of multiple licenses from multiple content providers. For example, if the content includes content from two or more content providers, the processor circuitry may provide a license from each of the two or more content providers using the decentralized application 2. This may reduce the effort required by the rendering device to obtain multiple licenses.
[0047] A major factor in using blockchain technology for licensing purposes is the inherent accountability of blockchain systems, where third parties can verify transactions on the blockchain. Therefore, transactions (such as providing at least one license and / or establishing a smart contract) can be recorded on the blockchain. For example, the processor circuit system can record at least one aspect of a license managed by a decentralized application (such as providing at least one license and / or establishing a smart contract) on a blockchain hosted by the blockchain network. Accordingly, as in Figure 2b As further shown in , the method may include: 260: Recording at least one aspect of the license managed by the decentralized application on a blockchain hosted by the blockchain network.
[0048] In some examples, the decentralized application may further obtain usage information related to the use of the content from the rendering device and, if the content is provided by a content provider different from the entity hosting the dApp, forward the usage information to the content provider.
[0049] The interface circuit system 22 or the means for communicating 22 may correspond to one or more inputs and / or outputs for receiving and / or transmitting information within a module, between modules, or between modules of different entities, which information may be in the form of digital (bit) values according to a specified code. For example, the interface circuit system 22 or the means for communicating 22 may include a circuit system configured to receive and / or transmit information.
[0050] For example, the processor circuit system 24 or the means for processing 24 may be implemented using one or more processing units, one or more processing devices, any means for processing (such as a processor, a computer, or a programmable hardware component that can operate with correspondingly adapted software). In other words, the described functions of the processor circuit system 24 or the means for processing may also be implemented using software, which is then executed on one or more programmable hardware components. Such hardware components may include general-purpose processors, digital signal processors (DSPs), microcontrollers, etc.
[0051] For example, the memory or storage circuit system 26 or device 26 for storing information can be a volatile memory, such as a random access memory (such as a dynamic random access memory (DRAM)), and / or can include at least one element of the group of computer-readable storage media, which computer-readable storage media is such as a magnetic or optical storage medium, for example, a hard drive, a flash memory, a floppy disk, a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a network storage device.
[0052] with the proposed concept or the context above or below (e.g. Figure 1a to Figure 1b , Figures 3 to 5 ) In conjunction with one or more examples described in the foregoing, more details and aspects of the apparatus 20, device 20, method, corresponding computer program, and node 200 are mentioned. The apparatus 20, device 20, method, corresponding computer program, and node 200 may include one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.
[0053] Today's Web2.0-based DRM / Enterprise Rights Management (ERM) is centralized in terms of content, licensing, and provision. Figure 3 A schematic diagram showing a centralized DRM licensing approach. Figure 3 A mobile device 310 is shown that executes a DRM application 311 on top of a mobile operating system (OS) 312. It uses a trusted execution environment (TEE) 313 (such as The SGX enclave / Converged Security and Management Engine (CSME) serves as a secure storage device to host the DRM key box. The license server 320 is used for license acquisition and sending content keys to devices (via network 300), while the content server 300 is used to send content. Such a centralized approach cannot be extended towards a decentralized approach that encompasses Web 3.0, which supports user-generated content in addition to studio-generated content.
[0054] The present disclosure proposes the concept of "DRM for Web 3.0 (DRMW3.0)", which provides improved scalability for decentralized Web 3.0 applications. In the proposed concept, peer-to-peer DRM is provided, for example, using credentials provided by Web 3.0 wallets and / or via blockchain / distributed consensus mechanisms to create, publish and subscribe to content. In some examples, this involves the ability of the participating DApp (distributed application) to provide, revoke, manage dynamic licenses and key management and audit trails tracked in the public account book. Backward compatibility for centralized DRM based on Web 2.0 can be provided together with distributed DRM based on Web 3.0. Platform TEE can be used for hybrid wallets with keys / licenses across both, for achieving seamless operation across geofenced areas (e.g., the United States relative to Europe relative to the Asia-Pacific region) using different standards. Failovers due to geopolitical constraints or failovers due to network / physical constraints / restrictions (e.g., DNS / firewalls) can be handled calmly. Scalability of heterogeneous blockchains may be provided via layer 2 interoperability across different domains and subnets for both centralized and distributed approaches.
[0055] Figure 4 A high-level schematic diagram showing an example of a use case supported by the proposed system architecture, including the use of Web 3.0 DApps across distributed user-generated content with the support of a Web 3.0 blockchain. Figure 4 , a license server DApp 410 is shown that manages and provides DRM licenses via a challenge / response protocol. A clearinghouse DApp 420 is used to manage micropayments and metadata payments / credits, for example, using same-platform encryption. A primary mashup artist uses DApp 430 to communicate with the license server DApp 410 and the clearinghouse DApp 420 and provide content to a secondary mashup artist's DApp 440, which further uses DApp 440 to communicate with the license server DApp 410 and the clearinghouse DApp 420 and provide content to a tertiary mashup artist's DApp 450, which further uses DApp 450 to communicate with the license server DApp 410 and the clearinghouse DApp 420 and display the results on a display device, such as a display 460, a smart phone 470, or a head-mounted display (e.g., virtual reality glasses) 480.
[0056] Content display technology supports the ability to track user behavior (how many times a user plays, rewinds, fast-forwards, etc.) interacting with the content. Viewing behavior metadata can be sent back to the content owner. However, in a conventional centralized licensing setting, content fragments that are part of a mashup cannot track viewer behavior across multiple mashups and social shares. In addition, contextual metadata that is useful in determining what will cause a content fragment to become viral is not collected on a fragment-by-fragment basis through the mashup content. In the current case, this aspect can be achieved, for example, through the clearinghouse DApp 420.
[0057] Figure 5 A flow chart showing a DRM license / content key provisioning process that supports Web 3.0 based decentralized peer-to-peer license / key management and backward compatibility with Web 2.0 centralized approach. Figure 5 A DRM license server 510, a DRM content server 520, and DRM DApps 1-N (530-1-530-N) are shown. The DRM DApp uses a TEE 535. The DRM DApp communicates with the blockchain. Layer 2 scaling is achieved via blockchain X 540 in Web2 / 3. At 1, the DRM content server 520 provides portions of content for licensing playback. At 2, the user selects portions of content from the provided list and communicates with the DRM license server 510. At 3, the DRM license server performs remote verification. At 4, the application calls into the platform TEE (e.g., CSME / SGX). At 5, the TEE retrieves the platform key box and performs a challenge / response with the server. At 6, the successful authentication is confirmed to the DRM license server. At 7, the DRM license server provides a license with time limits and playback order constraints. At 8, the TEE enforces the time limit and playback order license constraints. Given that there may be content / license restrictions that result in differences across different geographic regions, encryption schemes, etc., examples of the proposed concept may utilize blockchain layer 2 coordination to conduct off-chain transactions for efficiency and support for heterogeneous blockchain schemes. Figure 5 Provides example L2 layer interactions).
[0058] In some cases, layer 2 can be enhanced for off-chain processing and heterogeneous blockchains. For example, a smart contract can be created for licensing across different licensors. For example, the validator creates a smart contract and executes a rollup transaction. If there are no disputes from the licensors, the rollup transaction is finalized after the dispute period ends. If the user submits an invalid fault proof, the smart contract rejects the fault proof and the dispute period continues. After the dispute period ends, the rollup transaction is finalized. If the user submits a valid fault proof, the smart contract verifies the proof, cuts the validator state, requires a new state change proposal, and refers back to the validator, which submits the state change to the rollup smart contract.
[0059] The examples provide decentralized Web3-based peer-to-peer content and key licensing management. The examples can provide a seamless transition from a traditional DRM centralized system to a fully distributed system, as well as a corresponding fallback to previous technologies in case of any usability issues or interoperability across different DRM schemes. This is an important aspect considering the reliability and resilience required for security and service continuity (e.g., for streaming).
[0060] In the following, some examples of the proposed concept are presented:
[0061] Examples (e.g., Example 1) relate to an apparatus (10) for presenting content, the apparatus comprising an interface circuit system (12), machine-readable instructions, and a processor circuit system (14), the processor circuit system (14) being configured to execute the machine-readable instructions to: obtain content. The processor circuit system (14) being configured to execute the machine-readable instructions to: obtain at least one license to use the content from at least one distributed application (2) referenced by the content. The processor circuit system (14) being configured to execute the machine-readable instructions to: present the content in accordance with the at least one license.
[0062] Another example (e.g., Example 2) relates to the previously described example (e.g., Example 1) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to: obtain content from a content server (1); and obtain at least one license from at least one decentralized application (2) hosted by at least one node (200) of at least one blockchain network (205).
[0063] Another example (e.g., Example 3) relates to a previously described example (e.g., Example 2) or to any of the examples described herein, further including, a processor circuit system for executing machine-readable instructions to perform: if two or more licenses are to be obtained, obtaining the two or more licenses from two or more decentralized applications (2a; 2b) hosted by nodes (200a; 200b) of at least two different blockchain networks (205a; 205b).
[0064] Another example (e.g., Example 4) relates to a previously described example (e.g., Example 2) or to any of the examples described herein, further including, a processor circuit system for executing machine-readable instructions to perform: if two or more licenses are to be obtained, obtaining the two or more licenses from two or more decentralized applications (2b; 2c) hosted by nodes (200b; 200c) of the same blockchain network (205b).
[0065] Another example (e.g., Example 5) relates to a previously described example (e.g., one of Examples 2 to 4) or to any of the examples described herein, further including, a processor circuit system for executing machine-readable instructions to perform: if two or more licenses are to be obtained, obtaining at least two licenses from the same distributed application (2a; 2b; 2c).
[0066] Another example (e.g., Example 6) relates to a previously described example (e.g., one of Examples 1 to 5) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to perform: obtaining content from a distributed application hosted by a content server (1).
[0067] Another example (e.g., Example 7) relates to a previously described example (e.g., one of Examples 1 to 6) or to any of the examples described herein, further including, a processor circuit system for executing machine-readable instructions to perform: if the content includes components from two or more content providers, obtaining a license from each of the two or more content providers.
[0068] Another example (e.g., Example 8) relates to a previously described example (e.g., Example 7) or to any of the examples described herein, further including: licenses obtained from two or more content providers are defined in a smart contract associated with the content, which references these licenses.
[0069] Another example (e.g., Example 9) relates to a previously described example (e.g., one of Examples 7 to 8) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to: provide usage information related to use of the content to each of two or more content providers.
[0070] Another example (e.g., Example 10) relates to a previously described example (e.g., one of Examples 1 to 9) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to: host a distributed application, and use the distributed application to at least perform an action of obtaining at least one license to use content.
[0071] Another example (e.g., Example 11) relates to a previously described example (e.g., one of Examples 1 to 10) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to: obtain at least one license from a web server or an application server as a fallback mechanism if at least one decentralized application is inaccessible.
[0072] Another example (e.g., Example 12) relates to a previously described example (e.g., one of Examples 1 to 11) or to any of the examples described herein, further including: at least one license is at least one of time-limited and use-limited.
[0073] An example (e.g., Example 13) relates to an apparatus (20) for a node (200) of a blockchain network (205), the apparatus comprising an interface circuit system (22), machine-readable instructions, and a processor circuit system (24), the processor circuit system (24) being used to execute the machine-readable instructions to: host a decentralized application (2), the decentralized application (2) being used to manage licenses for content. The processor circuit system (24) is used to execute the machine-readable instructions to: obtain a request for at least one license for presenting content from a content presentation device (100). The processor circuit system (24) is used to execute the machine-readable instructions to: use the decentralized application to process the request for at least one license for presenting content. The processor circuit system (24) is used to execute the machine-readable instructions to: use the decentralized application to provide at least one license for presenting content to the presentation device (100).
[0074] Another example (e.g., Example 14) relates to a previously described example (e.g., Example 13) or to any of the examples described herein, further including, a processor circuit system for executing machine-readable instructions to: record at least one aspect of a license managed by the decentralized application on a blockchain hosted by the blockchain network.
[0075] Another example (e.g., Example 15) relates to a previously described example (e.g., one of Examples 13 to 14) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to perform: if the content includes components from two or more content providers, providing a license from each of the two or more content providers using a decentralized application (2).
[0076] Another example (e.g., Example 16) relates to a previously described example (e.g., one of Examples 13 to 15) or to any of the examples described herein, further including: at least one license is defined in a smart contract associated with the content, which smart contract references the license.
[0077] Another example (e.g., Example 17) relates to a previously described example (e.g., Example 16) or to any of the examples described herein, further including a processor circuit for executing machine-readable instructions to: establish a smart contract.
[0078] An example (e.g., Example 18) relates to a previously described example (e.g., Example 17) or to any of the examples described herein, further including a processor circuit system for executing machine-readable instructions to: resolve at least one dispute with one or more content providers by modifying the smart contract until consensus is established on the smart contract.
[0079] An example (e.g., Example 19) relates to an apparatus (10) for presenting content, the apparatus comprising a processor circuit system (14) configured to obtain content. The processor circuit system is configured to obtain at least one license to use the content from at least one distributed application (2) referenced by the content. The processor circuit system is configured to present the content in accordance with the at least one license.
[0080] An example (e.g., Example 20) relates to an apparatus (20) for a node (200) of a blockchain network (205), the apparatus comprising a processor circuit system (24) configured to host a decentralized application (2) for managing permissions for content. The processor circuit system is configured to obtain a request for at least one permission for presenting content from a content presentation device (100). The processor circuit system is configured to process the request for at least one permission for presenting content using the decentralized application. The processor circuit system is configured to provide at least one permission for presenting content to the presentation device (100) using the decentralized application.
[0081] An example (e.g., Example 21) relates to an apparatus (10) for presenting content, the apparatus comprising means (14) for processing, the means (14) for processing being used to obtain content. The apparatus (10) comprises: obtaining at least one license to use the content from at least one decentralized application (2) referenced by the content. The apparatus (10) comprises: presenting the content in accordance with the at least one license.
[0082] An example (e.g., Example 22) relates to a device (20) for a node (200) of a blockchain network (205), the device comprising means for processing (24), the means for processing (24) for hosting a decentralized application (2), the decentralized application (2) for managing permissions for content. The device (20) comprises: obtaining a request for at least one permission for presenting content from a content presentation device (100). The device (20) comprises: using the decentralized application to process the request for at least one permission for presenting content. The device (20) comprises: using the decentralized application to provide at least one permission for presenting content to the presentation device (100).
[0083] An example (e.g., Example 23) relates to a method for presenting content, the method comprising: obtaining (120) content. The method comprises: obtaining (130) at least one license to use the content from at least one distributed application (2) referenced by the content. The method comprises: presenting (140) the content in accordance with the at least one license.
[0084] Another example (e.g., Example 24) relates to a previously described example (e.g., Example 23) or to any of the examples described herein, further including that the method comprises: obtaining (120) content from a content server (1); and obtaining (130) at least one license from at least one decentralized application (2) hosted by at least one node (200) of at least one blockchain network (205).
[0085] Another example (e.g., Example 25) relates to a previously described example (e.g., Example 24) or to any of the examples described herein, further including that the method comprises: if two or more licenses are to be obtained, obtaining (130) the two or more licenses from two or more decentralized applications (2a; 2b) hosted by nodes (200a; 200b) of at least two different blockchain networks (205a; 205b).
[0086] Another example (e.g., Example 26) relates to a previously described example (e.g., Example 24) or to any of the examples described herein, further including that the method comprises: if two or more licenses are to be obtained, obtaining (130) the two or more licenses from two or more decentralized applications (2b; 2c) hosted by nodes (200b; 200c) of the same blockchain network (205b).
[0087] Another example (e.g., Example 27) relates to a previously described example (e.g., one of Examples 24 to 26) or to any of the examples described herein, further including that the method includes: if two or more licenses are to be obtained, obtaining (130) at least two licenses from the same distributed application (2a; the method includes application 2b; the method includes application 2c).
[0088] Another example (e.g., Example 28) relates to a previously described example (e.g., one of Examples 23 to 27) or to any of the examples described herein, further including that the method comprises: obtaining (120) content from a distributed application hosted by a content server (1).
[0089] Another example (e.g., Example 29) relates to a previously described example (e.g., one of Examples 23 to 28) or to any of the examples described herein, further including that the method includes: if the content includes components from two or more content providers, obtaining (130) a license from each of the two or more content providers.
[0090] Another example (e.g., Example 30) relates to a previously described example (e.g., Example 29) or to any of the examples described herein, further including: a license obtained from two or more content providers is defined in a smart contract associated with the content, and the smart contract references the license.
[0091] Another example (e.g., Example 31) relates to a previously described example (e.g., one of Examples 29 to 30) or to any of the examples described herein, further including that the method includes: providing (150) usage information related to the use of the content to each of two or more content providers.
[0092] Another example (e.g., Example 32) relates to a previously described example (e.g., one of Examples 23 to 31) or to any of the examples described herein, further including that the method comprises: hosting (110) a distributed application, and using the distributed application to at least perform an action of obtaining at least one permission to use content.
[0093] Another example (e.g., Example 33) relates to a previously described example (e.g., one of Examples 23 to 32) or to any of the examples described herein, further including that the method comprises: if at least one decentralized application is inaccessible, obtaining (135) at least one license from a web server or an application server as a fallback mechanism.
[0094] Another example (e.g., Example 34) relates to a previously described example (e.g., one of Examples 23 to 33) or to any of the examples described herein, further including: at least one license is at least one of time-limited and use-limited.
[0095] An example (e.g., Example 35) relates to a method for a node (200) of a blockchain network (205), the method comprising: hosting (210) a decentralized application (2) for managing permissions for content. The method comprises: obtaining (230) a request for at least one permission for presenting content from a content presentation device (100). The method comprises: using the decentralized application to process (240) the request for at least one permission for presenting content. The method comprises: using the decentralized application to provide (250) the at least one permission for presenting content to the presentation device (100).
[0096] Another example (e.g., Example 36) relates to a previously described example (e.g., Example 35) or to any of the examples described herein, further including that the method includes: recording (260) at least one aspect of a license managed by the decentralized application on a blockchain hosted by the blockchain network.
[0097] Another example (e.g., Example 37) relates to a previously described example (e.g., one of Examples 35 to 36) or to any of the examples described herein, further including that the method includes: if the content includes components from two or more content providers, providing (250) a license from each of the two or more content providers using a decentralized application (2).
[0098] Another example (e.g., Example 38) relates to a previously described example (e.g., one of Examples 35 to 37) or to any of the examples described herein, further including: at least one license is defined in a smart contract associated with the content, which smart contract references the license.
[0099] Another example (e.g., Example 39) relates to a previously described example (e.g., Example 38) or to any of the examples described herein, further including that the method includes: establishing (220) a smart contract.
[0100] An example (e.g., Example 40) relates to a previously described example (e.g., Example 39) or to any of the examples described herein, wherein the method includes resolving (225) at least one dispute with one or more content providers by modifying a smart contract until consensus is established on the smart contract.
[0101] An example (e.g., Example 41) relates to a computer system (100) comprising an apparatus (10) according to one of Examples 1 to 12 (or according to any other example), an apparatus (10) according to Example 19 (or according to any other example), or a device (10) according to Example 21 (or according to any other example).
[0102] An example (e.g., Example 42) relates to a mobile device (100) comprising an apparatus (10) according to one of Examples 1 to 12 (or according to any other example), an apparatus (10) according to Example 19 (or according to any other example), or a device (10) according to Example 21 (or according to any other example).
[0103] An example (e.g., Example 43) relates to a content presentation device (100) comprising an apparatus (10) according to one of Examples 1 to 12 (or according to any other example), an apparatus (10) according to Example 19 (or according to any other example), or an apparatus (10) according to Example 21 (or according to any other example).
[0104] An example (e.g., Example 44) relates to a computer system (200), comprising an apparatus (20) according to one of Examples 13 to 18 (or according to any other example), an apparatus (20) according to Example 20 (or according to any other example), or a device (20) according to Example 22 (or according to any other example), wherein the computer system (200) is a node of a blockchain network (205).
[0105] An example (eg, Example 45) relates to a computer system (100) configured to perform a method according to one of Examples 23 to 34 (or according to any other example).
[0106] An example (eg, Example 46) relates to a mobile device (100) configured to perform a method according to one of Examples 23 to 34 (or according to any other example).
[0107] An example (eg, Example 47) relates to a presentation device (100) configured to perform a method according to one of Examples 23 to 34 (or according to any other example).
[0108] An example (e.g., Example 48) relates to a computer system (200) configured to perform a method according to one of Examples 35 to 40 (or according to any other example), wherein the computer system (200) is a node of a blockchain network (205).
[0109] An example (e.g., Example 49) relates to a system comprising an apparatus (10) or device (10) according to one of Examples 1 to 12, 19, or 21 (or according to any other example) and an apparatus (20) or device (20) according to one of Examples 13 to 18, 20, or 22 (or according to any other example).
[0110] An example (e.g., Example 50) relates to a non-transitory machine-readable storage medium that includes program code that, when executed, causes a machine to perform a method as one of Examples 23 to 34 (or according to any other example) or a method as one of Examples 35 or 40 (or according to any other example).
[0111] An example (e.g., Example 51) relates to a computer program having program code for performing a method as one of Examples 23 to 34 (or according to any other example) or a method as one of Examples 35 or 40 (or according to any other example) when the computer program is executed on a computer, a processor, or a programmable hardware component.
[0112] Examples (e.g., Example 52) relate to a machine-readable storage device comprising machine-readable instructions that, when executed, implement a method as claimed in the appended claims or shown in any example, or implement an apparatus as claimed in the appended claims or shown in any example.
[0113] Aspects and features described in relation to a particular one of the preceding examples may be combined with one or more of the further examples to replace the same or similar features of the further examples or to introduce these features in addition to the further examples.
[0114] Examples may further be or relate to (computer) programs, including program codes for executing one or more of the above methods when the program is executed on a computer, a processor, or other programmable hardware component. Thus, the steps, operations, or processes of the different methods in the methods described above may also be performed by a programmed computer, a processor, or other programmable hardware component. Examples may also encompass program storage devices, such as digital data storage media, which are machine-readable, processor-readable, or computer-readable and encode and / or contain machine-executable, processor-executable, or computer-executable programs and instructions. For example, a program storage device may include or may be a digital storage device, a magnetic storage medium (such as a disk and a tape), a hard drive, or an optically readable digital data storage medium. Other examples may also include a computer, a processor, a control unit, a (field) programmable logic array ((field) programmable logic array, (F) PLA), a (field) programmable gate array ((field) programmable gate array, (F) PGA), a graphics processor unit (GPU), an application-specific integrated circuit (ASIC), an integrated circuit (IC), or a system-on-a-chip (SoC) system programmed to perform the steps of the method described above.
[0115] It is further understood that the disclosure of several steps, processes, operations or functions disclosed in the specification or claims should not be interpreted as implying that these operations must be performed in the described order, unless explicitly stated in a separate use case or necessary for technical reasons. Therefore, the previous description does not limit the performance of several steps or functions to a certain order. In addition, in other examples, a single step, function, process or operation can include and / or be decomposed into sub-steps, sub-functions, sub-processes or sub-operations.
[0116] If some aspects have been described in conjunction with a device or system, these aspects should also be understood as descriptions of corresponding methods. For example, a block, device, or functional aspects of a device or system may correspond to features (such as method steps) of a corresponding method. Accordingly, aspects described in conjunction with a method should also be understood as descriptions of properties or functional features of the corresponding block, corresponding element, corresponding device, or corresponding system.
[0117] As used herein, the term "module" refers to a logic for performing one or more operations in accordance with the present disclosure that can be implemented using hardware components or devices, software or firmware running on a processing unit, or a combination thereof. Software and firmware can be embodied as instructions and / or data stored on a non-transient computer-readable storage medium. As used herein, the term "circuitry" can include, alone or in any combination, non-programmable (hard-wired) circuitry, programmable circuitry (such as a processing unit), state machine circuitry, and / or firmware storing instructions that can be executed by a programmable circuit. The modules described herein can be embodied together or individually as circuitry forming part of a computing system. Thus, any one of the modules can be implemented as a circuitry. A computing system that is referred to as being programmed for executing a method can be programmed to execute the method via software, hardware, firmware, or a combination thereof.
[0118] Any of the disclosed methods (or portions thereof) may be implemented as computer-executable instructions or computer program products. Such instructions may enable a computing system or one or more processing units capable of executing computer-executable instructions to perform any of the disclosed methods. As used herein, the term "computer" refers to any computing system or device described or mentioned herein. Thus, the term "computer-executable instructions" refers to instructions that can be executed by any computing system or device described or mentioned herein.
[0119] Computer executable instructions may be, for example, part of an operating system of a computing system, an application stored locally on a computing system, or a remote application accessible to a computing system (e.g., via a web browser). Any of the methods described herein may be performed by computer executable instructions that are executed by a single computing system or by one or more networked computing systems operating in a network environment. Computer executable instructions and updates to computer executable instructions may be downloaded from a remote server to a computing system.
[0120] In addition, it should be understood that implementation of the disclosed techniques is not limited to any particular computer language or program. For example, the disclosed techniques can be implemented by software written in C++, C#, Java, Perl, Python, JavaScript, Adobe Flash, C#, assembly language, or any other programming language. Likewise, the disclosed techniques are not limited to any particular computer system or any particular type of hardware.
[0121] In addition, any of the software-based examples (including, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed via suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, cables (including fiber optic cables), magnetic communications, electromagnetic communications (including RF, microwave, ultrasonic, and infrared communications), electronic communications, or other such communication means.
[0122] The disclosed methods, apparatuses, and systems should not be construed as limiting in any way. Rather, the present disclosure is directed to all novel and non-obvious features and aspects of each disclosed example, individually and in various combinations and sub-combinations with each other. The disclosed methods, apparatuses, and systems are not limited to any particular aspect or feature or combination thereof, nor do the disclosed examples require the existence of any one or more specific advantages or the resolution of any one or more specific problems.
[0123] The theories of operation, scientific principles, or other theoretical descriptions presented herein with reference to the devices or methods of the present disclosure are provided for the purpose of better understanding and are not intended to limit the scope. The devices and methods in the appended claims are not limited to those devices and methods that function in the manner described by such theories of operation.
[0124] The attached claims are hereby included in the detailed description, wherein each claim itself can serve as a separate example. It should be noted that although a dependent claim refers to a specific combination with one or more other claims in the claims, other examples may also include a combination of the dependent claim with the subject matter of any other dependent or independent claim. Such combinations are expressly proposed here, unless it is stated in individual cases that a specific combination is not intended. In addition, even if a claim is not directly limited to referring to any other independent claim, the features of the claim should also be included with respect to any other independent claim.
Claims
1. An apparatus for presenting content, the apparatus comprising interface circuitry, machine-readable instructions, and processor circuitry, the processor circuitry being configured to execute the machine-readable instructions to: Obtain the content from a content server; obtaining at least one permission to use the content from at least one decentralized application referenced by the content, the at least one decentralized application hosted by at least one node of at least one blockchain network; and The content is presented in accordance with the at least one license.
2. The device according to claim 1, wherein: The processor circuitry is configured to execute the machine-readable instructions to: if two or more permissions are to be obtained, obtain the two or more permissions from two or more decentralized applications hosted by nodes of at least two different blockchain networks.
3. The device according to claim 1, wherein: The processor circuitry is configured to execute the machine-readable instructions to: if two or more permissions are to be obtained, obtain the two or more permissions from two or more decentralized applications hosted by nodes of the same blockchain network.
4. The device according to claim 1, wherein: The processor circuitry is to execute the machine-readable instructions to: if two or more licenses are to be obtained, obtain at least two licenses from the same distributed application.
5. The device according to claim 1, wherein: The processor circuitry is configured to execute the machine-readable instructions to obtain the content from a distributed application hosted by a content server.
6. The device according to claim 1, wherein: The processor circuitry is to execute the machine-readable instructions to obtain a license from each of the two or more content providers if the content includes components from the two or more content providers.
7. The device according to claim 6, wherein: The licenses obtained from the two or more content providers are defined in a smart contract associated with the content, the smart contract referencing the licenses.
8. The device according to claim 6, wherein: The processor circuitry is to execute the machine-readable instructions to provide usage information related to usage of the content to each of the two or more content providers.
9. The device according to claim 1, wherein: The processor circuitry is to execute the machine-readable instructions to host a distributed application, and use the distributed application to perform at least an act of obtaining the at least one license to use the content.
10. The device according to claim 1, wherein: The processor circuitry is to execute the machine-readable instructions to obtain the at least one license from a web server or an application server as a fallback mechanism if the at least one decentralized application is inaccessible.
11. The device according to claim 1, wherein: The at least one license is at least one of time-limited and use-limited.
12. An apparatus for a node of a blockchain network, the apparatus comprising an interface circuit system, a machine-readable instruction, and a processor circuit system, the processor circuit system being configured to execute the machine-readable instruction to: hosting a distributed application for managing permissions for content; obtaining, from a content rendering device, a request for at least one license to render content; processing, using the decentralized application, the request for the at least one license to present the content; as well as The at least one permission to render the content is provided to the rendering device using the decentralized application.
13. The device according to claim 12, wherein: The processor circuitry is configured to execute the machine-readable instructions to perform: recording at least one aspect of a license managed by the decentralized application on a blockchain hosted by the blockchain network.
14. The device according to claim 12, wherein: The processor circuitry is to execute the machine-readable instructions to provide a license from each of the two or more content providers using the decentralized application if the content includes components from the two or more content providers.
15. The device according to claim 12, wherein: The at least one license is defined in a smart contract associated with the content, the smart contract referencing the license.
16. The device according to claim 15, wherein: The processor circuit is used to execute the machine-readable instructions to: establish the smart contract.
17. The device according to claim 16, wherein: The processor circuit is configured to execute the machine-readable instructions to: resolve at least one dispute of one or more content providers by modifying the smart contract until consensus is established on the smart contract.
18. A method for presenting content, the method comprising: Obtain the content from a content server; obtaining at least one permission to use the content from at least one decentralized application referenced by the content, the at least one decentralized application hosted by at least one node of at least one blockchain network; as well as The content is presented in accordance with the at least one license.
19. The method according to claim 18, further comprising: Recording at least one aspect of a license managed by the decentralized application on a blockchain hosted by the blockchain network.
20. The method of claim 18, further comprising: If the content includes components from two or more content providers, a license is provided from each of the two or more content providers using the decentralized application.
21. The method of claim 18, further comprising: The at least one license is defined in a smart contract associated with the content, the smart contract referencing the license.
22. The method of claim 18, further comprising: Establishing the smart contract.
23. The method of claim 18, further comprising: At least one dispute of one or more content providers is resolved by modifying the smart contract until consensus is established on the smart contract.
24. A non-transitory machine-readable storage medium comprising a program code, which, when executed, causes a machine to perform the method of one of claims 18-23.