Abstract: A secured and improved system (100) and associated method for automatically identifying and preventing any violations of smart contracts prior to broadcasting of media contents to end-user devices (102A-N) is presented. The system (100) includes a CMS (128) transmitting a compliance check request to blockchain nodes (124A-N) to identify if selected media contents comply with their associated smart contracts (500). The compliance check request includes values of a first and second set of parameters associated with selected media contents. The nodes (124A-N) validate the first and second set of parameters if values of the first and second set of parameters defined in the compliance check request and determined by a video monitoring system (134), respectively match with corresponding allowable values defined in the smart contract (500). A scheduling system (132) generates a broadcast schedule including selected media contents only when both the first and second set of parameters is validated.
Claims:
1. A method for scheduling and broadcasting media contents, comprising:
transmitting a compliance check request by a scheduling system (132) to nodes (124A-N) in a blockchain network (122) to identify if media contents automatically selected by the scheduling system (132) from an associated distributor content management system (128) are in compliance with their associated smart contracts (500), wherein the compliance check request comprises a content identifier, values of a first set of parameters, and values of a second set of parameters associated with the selected media contents;
identifying a smart contract (500) associated with each of the selected media contents and pre-stored in the nodes (124A-N) based on the content identifier, wherein the identified smart contract (500) comprises corresponding predefined values of the first set of parameters and the second set of parameters;
validating the first and second set of parameters if values of the first and second set of parameters defined in the compliance check request and determined by a video monitoring system (134), respectively match with corresponding allowable values defined in the smart contract (500);
generating a broadcast schedule including the selected media contents only when both the first and second set of parameters are validated, and generating the broadcast schedule excluding the selected media contents when one or more of the first and second set of parameters are not validated; and
automatically broadcasting the selected media contents to end-user devices (102A-N).
2. The method as claimed in claim 1, comprising:
transmitting the selected media contents to the video monitoring system (134) by the distributor content management system (128) only when the first set of parameters is validated;
performing image analysis of one or more image frames of the selected media contents by the video monitoring system (134) determining values of the second set of parameters and generating a report comprising the determined values of the second set of parameters; and
validating the second set of parameters if the determined values of the second set of parameters match the corresponding allowable values defined in the smart contract.
3. The method as claimed in claim 1, wherein the first set of parameters in the compliance check request comprise a corresponding geographical region in which the selected media contents are eligible to be broadcast, an epoch value associated with a broadcast date, and a number of times the selected media contents have been broadcast previously.
4. The method as claimed in claim 3, wherein the first set of parameters defined in the smart contract (500) comprise a list of corresponding geographical regions where broadcasting rights are provided to a content distributor (118) for broadcasting the selected media contents, an epoch value associated with an expiry date of the smart contract (500), and a maximum number of times broadcasting of the selected media contents is allowed.
5. The method as claimed in claim 4, wherein the second set of parameters in the report generated by the video monitoring system (134) comprises a corresponding video resolution of the selected media contents, a corresponding size and location coordinate of a logo embedded in the selected media contents, and a corresponding size and location coordinate of a banner embedded in the selected media contents, wherein the second set of parameters in the smart contract (500) comprises predefined values corresponding to a video resolution, a size and location coordinate of the logo, and a size and location coordinate of the banner.
6. The method as claimed in claim 5, comprising:
receiving a notification of an availability of selected media contents for licensing in an account of the content distributor (118) with a contract management system (110), wherein the contract management system (110) is associated with an owner content management system (104A) and is communicatively coupled to the distributor content management system (128) and the blockchain network (122) via a communications network (112);
presenting a generated contract template along with a plurality of options in a graphical user interface (140) of the distributor content management system (128) upon selecting the notification for enabling the content distributor (118) to agree, disagree, and suggest changes to predefined values of the first and second set of parameters present in the generated contract template;
achieving consensus between a content owner (106A) and the content distributor (118) ) on values of the first and second set of parameters to generate a smart contract (500) for the selected media contents, wherein the nodes (124A-N) store the smart contract; and
receiving the selected media contents along with associated content identifiers by the distributor content management system (128) from the owner content management system (104A) post storing the smart contract in the nodes (124A-N);
wherein the owner content management system (104A) assigns a cryptographic hash to each of the selected media contents when the selected media contents are added to the owner content management system (104A), and wherein the cryptographic hash corresponds to the content identifier that uniquely identifies each of the selected media contents.
7. A system (100) for scheduling and broadcasting media contents, comprising:
a distributor content management system (128) having a scheduling system (132) that:
selects media contents stored in an associated database (130) for generating a broadcast schedule;
generates a compliance check request to identify if the selected media contents are in compliance with their associated smart contracts (500), wherein the compliance check request comprises a content identifier, values of a first set of parameters, and values of a second set of parameters associated with the selected media contents;
a video monitoring system (134) that is communicatively coupled to the distributor content management system (128) via a communications medium (136); and
a blockchain network (122) comprising a plurality of nodes (124A-N) that are communicatively coupled to the distributor content management system (128) via the communications medium (136), wherein the nodes (124A-N):
receive the compliance check request from the distributor content management system (136) via the communications medium (136);
identify a smart contract (500) associated with each of the selected media contents and pre-stored in the nodes (124A-N) based on the content identifier, wherein the identified smart contract (500) comprises corresponding predefined values of the first and second set of parameters;
validate the first and second set of parameters if values of the first and second set of parameters defined in the compliance check request and determined by the video monitoring system (134), respectively match with corresponding allowable values defined in the smart contract (500),
wherein the distributor content management system (128) generates the broadcast schedule including the selected media contents only when both the first and second set of parameters are validated by the nodes (124A-N), and generates the broadcast schedule excluding the selected media contents when one or more of the first and second set of parameters are not validated, and wherein the scheduling system (132) automatically broadcasts the selected media contents to end-user devices (102A-N) based on the generated broadcast schedule.
8. The system (100) as claimed in claim 7, wherein the video monitoring system (134) receives the selected media contents from the distributor content management system (128) only when the first set of parameters is validated, and performs image analysis of one or more image frames of the selected media contents for determining values of the second set of parameters and generating a report comprising the determined values of the second set of parameters.
9. The system (100) as claimed in claim 8, comprising a contract management system (110) associated with an owner content management system (104A), wherein the contract management system (110) is communicatively coupled to the distributor content management system (128) and the blockchain network (122) via a communications network (112), and wherein the contract management system (110):
presents a notification of an availability of each of the selected media contents for licensing in an account of the content distributor (118) with the contract management system (110);
presents a generated contract template along with a plurality of options in a graphical user interface (140) upon selecting the notification for enabling the content distributor (118) to agree, disagree, and suggest changes to predefined values of the first and second set of parameters present in the generated contract template;
generates and stores a smart contract (500) of the selected media contents post achieving consensus between a content owner (106A) and the content distributor (118) on values of the first and second set of parameters in the nodes (124A-N); and
wherein the distributor content management system (128) receives the selected media contents along with associated content identifiers from the owner content management system (104A) post storing the smart contract in the nodes (124A-N).
10. The system (100) as claimed in claim 7, wherein the system (100) schedules and broadcasts media contents comprising one of linear television programs, video-on-demand contents, and over-the-top media contents.
, Description:
SYSTEM AND METHOD FOR AUTOMATICALLY SCHEDULING AND BROADCASTING MEDIA CONTENTS
RELATED ART
[0001] Embodiments of the present disclosure relate generally to a system and an associated method for automatically scheduling and broadcasting media contents. More particularly, the present disclosure relates to a blockchain-based scheduling system that employs smart contracts for optimal content scheduling.
[0002] Broadcast scheduling is the process of planning broadcast of media content upfront for a particular day, week, or month. Broadcast scheduling can be done for both linear media content and non-linear media content. An example of linear media content includes conventional television programs. Further, examples of the non-linear media content include video-on-demand content, and over-the-top media content.
[0003] Typically, broadcast scheduling for linear media content involves determining what media content to broadcast, when to broadcast the determined media content in order to achieve maximum utilization of airtime and to attract maximum number of viewers. The broadcast scheduling for non-linear media content may include identifying content platforms such as YouTube, Netflix, and Hulu on which the media content is to be made available on a scheduled date and time. The broadcast scheduling may also include identifying type of devices such as mobile phones and Roku devices for which the media content is to be made available, geographies, publishing date, and availability period of the media content on the content platforms.
[0004] Generally, distributors of both linear and non-linear media content purchase the media content from content producers or content owners. Such purchased content is protected by legal contracts that convey how the content owners expect the distributors to treat their content. The legal contracts define multiple compliance parameters to which the distributors have to adhere per their agreement with the content owners. Non-compliance of defined parameters results in the distributors being liable to pay penalty to the content owners.
[0005] Presently, certain distributors manually maintain local stores and hard copies of legal contracts. At the time of generating a broadcast schedule, a specialized team of those distributors manually reads legal contracts associated with a set of media content available with them for broadcasting. The specialized team manually checks if selection of particular media contents violates their corresponding legal contracts, and identifies a subset of media content from the set that does not violate the legal contracts. However, manual checking of violations at the time of generating broadcast schedule is laborious, error-prone, and expensive. The resulting human errors in identifying violations of legal contracts would make the distributors liable to pay monetary or other damages to the content owners.
[0006] Alternatively, certain presently available systems automatically monitor violations of legal contracts. For example, US patent application US20190050854A1 describes a system for automatically identifying contractual violations. However, the system, fails to prevent the distributors from infringing or violating the legal contracts, as the system identifies violations only after streaming of the media content to the end-user devices. Hence, the distributors would still become liable to pay penalty to the content owners.
[0007] Accordingly, there is a need for an improved and secured system that identifies violations of smart contracts prior to streaming of media content on end-user devices, and also prevents scheduling of media content that may lead to potential violations of smart contracts.
BRIEF DESCRIPTION
[0008] It is an objective of the present disclosure to provide a method for scheduling and broadcasting media contents. The method includes transmitting a compliance check request by a scheduling system to nodes in a blockchain network to identify if media contents automatically selected by the scheduling system from an associated distributor content management system are in compliance with their associated smart contracts. The compliance check request includes a content identifier, values of a first set of parameters, and values of a second set of parameters associated with the selected media contents. Further, the method includes identifying a smart contract associated with each of the selected media contents and pre-stored in the nodes based on the content identifier. The identified smart contract includes corresponding predefined values of the first set of parameters and the second set of parameters. In addition, the method includes validating the first and second set of parameters if values of the first and second set of parameters defined in the compliance check request and determined by a video monitoring system, respectively match with corresponding allowable values defined in the smart contract.
[0009] Moreover, the method includes generating a broadcast schedule including the selected media contents only when both the first and second set of parameters are validated, and generating the broadcast schedule excluding the selected media contents when one or more of the first and second set of parameters are not validated. Furthermore, the method includes automatically broadcasting the selected media contents to end-user devices based on the generated broadcast schedule. The method also includes transmitting the selected media contents to the video monitoring system by the distributor content management system only when the first set of parameters is validated. The method further includes performing image analysis of one or more image frames of the selected media contents by the video monitoring system for determining values of the second set of parameters and generating a report including the determined values of the second set of parameters.
[0010] Further, the method includes validating the second set of parameters if the determined values of the second set of parameters match the corresponding allowable values defined in the smart contract. The first set of parameters in the compliance check request include a corresponding geographical region in which the selected media contents are eligible to be broadcast, an epoch value associated with a broadcast date, and a number of times the selected media contents have been broadcast previously. The first set of parameters defined in the smart contract include a list of corresponding geographical regions where broadcasting rights are provided to a content distributor for broadcasting the selected media contents, an epoch value associated with an expiry date of the smart contract, and a maximum number of times broadcasting of the selected media contents is allowed. The second set of parameters in the report generated by the video monitoring system includes a corresponding video resolution of the selected media contents, a corresponding size and location coordinate of a logo embedded in the selected media contents, and a corresponding size and location coordinate of a banner embedded in the selected media contents.
[0011] The second set of parameters in the smart contract includes predefined values corresponding to a video resolution, a size and location coordinate of the logo, and a size and location coordinate of the banner. In addition, the method includes receiving a notification of an availability of selected media contents for licensing in an account of the content distributor with a contract management system. The contract management system is associated with an owner content management system and is communicatively coupled to the distributor content management system and the blockchain network via a communications network. Further, the method includes presenting a generated contract template along with a plurality of options in a graphical user interface of the distributor content management system upon selecting the notification for enabling the content distributor to agree, disagree, and suggest changes to predefined values of the first and second set of parameters present in the generated contract template.
[0012] The method also includes achieving consensus between a content owner and the content distributor on values of the first and second set of parameters to generate a smart contract for the selected media contents. The nodes store the smart contract. The method additionally includes receiving the selected media contents along with associated content identifiers by the distributor content management system from the owner content management system post storing the smart contract in the nodes. The owner content management system assigns a cryptographic hash to each of the selected media contents when the selected media contents are added to the owner content management system. The cryptographic hash corresponds to the content identifier that uniquely identifies each of the selected media contents.
[0013] It is another objective of the present disclosure to provide a system for scheduling and broadcasting media contents. The system includes a distributor content management system, a video monitoring system, and a blockchain network including a plurality of nodes. The distributor content management system selects media contents stored in an associated database for generating a broadcast schedule, and generates a compliance check request to identify if the selected media contents are in compliance with their associated smart contracts. The compliance check request comprises a content identifier, values of a first set of parameters, and values of a second set of parameters associated with the selected media contents. The video monitoring system and the plurality of nodes are communicatively coupled to the distributor content management system via a communications medium.
[0014] The nodes receive the compliance check request from the distributor content management system via the communications medium, and identify a smart contract associated with each of the selected media contents and pre-stored in the nodes based on the content identifier. The identified smart contract includes corresponding predefined values of the first and second set of parameters. The nodes validate the first and second set of parameters if values of the first and second set of parameters defined in the compliance check request and determined by the video monitoring system, respectively match with corresponding allowable values defined in the smart contract. The distributor content management system generates the broadcast schedule including the selected media contents only when both the first and second set of parameters are validated by the nodes, and generates the broadcast schedule excluding the selected media contents when one or more of the first and second set of parameters are not validated. The scheduling system automatically broadcasts the selected media contents to end-user devices based on the generated broadcast schedule.
[0015] The video monitoring system receives the selected media contents from the distributor content management system only when the first set of parameters is validated. Further, the video monitoring system performs image analysis of one or more image frames of the selected media contents for determining values of the second set of parameters and generating a report including the determined values of the second set of parameters. The system further includes a contract management system associated with an owner content management system. The contract management system is communicatively coupled to the distributor content management system and the blockchain network via a communications network. The contract management system presents a notification of an availability of each of the selected media contents for licensing in an account of the content distributor with the contract management system. The contract management system presents a generated contract template along with a plurality of options in a graphical user interface upon selecting the notification for enabling the content distributor to agree, disagree, and suggest changes to predefined values of the first and second set of parameters present in the generated contract template.
[0016] The contract management system generates and stores a smart contract of the selected media contents post achieving consensus between a content owner and the content distributor on values of the first and second set of parameters in the nodes. The distributor content management system receives the selected media contents along with associated content identifiers from the owner content management system post storing the smart contract in the nodes. The system schedules and broadcasts media contents comprising one of linear television programs, video-on-demand contents, and over-the-top media contents.
BRIEF DESCRIPTION OF DRAWINGS
[0017] These and other features, aspects, and advantages of the claimed subject matter will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
[0018] FIG. 1 illustrates a block diagram depicting an exemplary content scheduling assistance system, in accordance with aspects of the present disclosure;
[0019] FIG. 2 illustrates a flow diagram depicting an exemplary method for generating a smart contract between a content owner and a content distributor using a contract management system associated with the content scheduling assistance system of FIG. 1, in accordance with aspects of the present disclosure;
[0020] FIGS. 3A and 3B illustrate a flow diagram depicting an exemplary method of generating a broadcast schedule using the content scheduling assistance system of FIG. 1, in accordance with aspects of the present disclosure;
[0021] FIG. 4 illustrates an exemplary compliance check request automatically generated using the content scheduling assistance system of FIG. 1, in accordance with aspects of the present disclosure; and
[0022] FIG. 5 illustrates an exemplary smart contract associated with selected media contents, in accordance with aspects of the present disclosure.
DETAILED DESCRIPTION
[0023] The following description presents a scheduling system and associated method for automatically scheduling the broadcast of multimedia contents to end-user devices. Particularly, the embodiments presented herein describe a blockchain-based scheduling system that selects a set of contents that are determined to not violate their respective smart contracts from a content management system associated with a content distributor. The blockchain-based scheduling system then broadcasts the selected contents to end-user devices per a generated broadcast schedule.
[0024] As used herein, the term “content owner” refers to an entity who produces or creates media contents such as The Walt Disney Company, Twentieth Century Fox Film Corporation, and UTV Motion Pictures. Additionally, as used herein, the term “content distributor” refers to an entity who purchases media contents from content owners under contractual terms and conditions defined by smart contracts and distribute the purchased media contents to end-user devices. Examples of the content distributors include television channel providers such as National Broadcasting Company, Univision, and Sony Entertainment Television. Other examples of the content distributors include video-on-demand content providers, and over-the-top content providers. Generally, content distributors sign legal contracts with content owners, purchase media contents from the content owners, and broadcast the purchased media contents to end-user devices. Examples of the media contents purchased from the content owners include movies, sports programs, television serials, and web series. Further, the legal contracts entered between the content distributors and the content owners define certain compliance parameters to which the content distributors have to adhere while broadcasting the purchased media contents to end user devices.
[0025] Presently, certain content distributors manually maintain local stores and hard copies of legal contracts. At the time of generating a broadcast schedule with the media contents purchased from the content owners, a specialized team of those distributors manually perform compliance check to identify whether a set of media contents selected for broadcasting violate their respective legal contracts, which is laborious, error-prone, and expensive.
[0026] In order to address the aforementioned issues existing with manually maintaining the legal contracts, computer protocols known as "smart contracts" were developed. Smart contracts digitally facilitate the negotiation of a contract, verify, and auto-enforce the contract when there are any contractual violations. Though the smart contracts provide certain advantages such as enhanced security and reduces transactions costs payable to legal practitioners, the smart contracts may also have the risk of being modified illegitimately.
[0027] Hence, the smart contracts are often implemented using a blockchain technology, which makes the smart contracts immutable. A blockchain network includes a plurality of nodes and each such node stores the same copy of smart contracts. Any illegitimate users who intend to modify a smart contract stored in the nodes have to gain access to all the nodes and need to make modifications in the smart contract stored in each of the nodes at a substantially similar time. Blockchain technology, thus, makes it difficult for illegitimate users to perpetrate malicious actions, thereby making smart contracts immutable.
[0028] Embodiments of the blockchain-based scheduling system described in the present disclosure perform a compliance check to identify whether the set of contents selected for broadcasting violates their respective smart contracts prior to streaming the contents to end-user devices. Further, the blockchain-based scheduling system prevents selection of media contents, which may lead to potential violations of smart contracts, when generating the broadcast schedule, thus preventing content distributors from potentially infringing smart contracts.
[0029] It may be noted that embodiments of the present blockchain-based scheduling system can be used for scheduling both linear and non-linear media contents. For example, the blockchain-based scheduling system automatically schedules the broadcast of linear media contents such as television programs for a particular day, week, or month. In addition, the blockchain-based scheduling system schedules the broadcast of non-linear media contents such as video-on-demand contents and over-the-top media contents across various content platforms such as YouTube, Netflix, and Hulu. However, for clarity, the present disclosure describes an embodiment of the blockchain-based scheduling system used to schedule linear media contents, as described in detail with reference to FIG. 1.
[0030] FIG. 1 illustrates a block diagram depicting an exemplary scheduling assistance system (100) for scheduling and broadcasting media contents to end user devices (102A-N) associated with end users. In one embodiment, the scheduling assistance system (100) is communicatively coupled to a set of content management systems (104) associated with content owners or content producers. In one embodiment, the content management systems (104) are content servers that store media contents created by the content owners. For example, the content management systems (104) may include a content management system (CMS) (104A) and a CMS (104B) that store media contents created by a first content owner (106A) and a second content owner (106B), respectively. It is to be understood that FIG. 1 depicts only two exemplary content management systems (CMSs) (104A-B) for simplicity. However, in alternative embodiments, the scheduling assistance system (100) may be communicatively coupled to a fewer or a greater number of such CMSs.
[0031] In certain embodiments, each of the CMSs (104A-B) includes a corresponding hash generator (108A-B). The hash generator (108A-B) generates unique hashes when the content owners (106A-B) add media contents to their CMSs (104A-B) to uniquely identify the added media contents. The CMSs (104A-B) then use the generated unique hashes as identifiers of the added media contents. For example, the content owner (106A) adds a particular media content to the CMS (104A). The associated hash generator (108A), in turn, generates a unique hash to be used by the CMS (104A) as a content identifier (ID) of the particular media content. In one embodiment, post generating the content ID, the CMS (104A) transmits the content ID to a contract management system (contract MS) (110) via a communications network (112) for generating a smart contract for the media content. Examples of the communications network (112) include a Wi-Fi network, an Ethernet, and a cellular data network. In one embodiment, the contract management system (110) is a web server that includes a decentralized application (DAPP) (114) that provides the content owners (106A-B) and content distributors with access to an associated account.
[0032] When the content owner (106A) successfully login to his or her account with the contract management system (110), the contract management system (110) presents the content ID transmitted by the CMS (104A) in an associated graphical user interface (116). Subsequently, the contract management system (110) enables the content owner (106A) to generate a smart contract having the content ID and various compliance parameters, as described subsequently with reference to FIG. 2. Post generating the smart contract, the contract management system (110) transmits the smart contract to one or more accounts of content distributors who are all previously added as approved contacts into the account of the content owner (106A). FIG. 1 depicts one such exemplary content distributor (118) who is previously added as an approved contact into an account of the content owner (106A).
[0033] Thus, in the present embodiment, the contract management system (110) transmits the smart contract to an account of the content distributor (118) post generating the smart contract. Further, the contract management system (110) presents a new content availability notification to the content distributor (118) when the content distributor (118) logins to his or her account with the contract management system (110). In addition, when the content distributor (118) selects the new content availability notification, the contract management system (110) presents the smart contract with various options in a graphical user interface (140) of the distributor CMS (128) through which the content distributor (118) accesses the contract management system (110).
[0034] In one embodiment, the various options presented in the associated graphical user interface (140) include a first option to agree with compliance parameters mentioned in the smart contract, a second option to disagree with the compliance parameters, and a third option to suggest changes in the compliance parameters. The contract management system (110) presents the smart contract with these options in the graphical user interface (140) for enabling the content owner (106A) and the content distributor (118) to arrive at a consensus on the compliance parameters mentioned in the smart contract.
[0035] In another embodiment, the content distributor (118) may access the contract management system (110) via the graphical user interface (140) and search for a list of media contents available for licensing from the content owner (106A) in the contract management system (110). Further, the contract management system (110) enables the content distributor (118) to transmit a specific request to the content owner (106A) to express his or her interest in licensing a selected media content owned by the content owner (106A). Upon receiving a positive response to the request from the content owner (106A), the contract management system (110) transmits a smart contract associated with the selected media content for enabling the content owner (106A) and the content distributor (118) to arrive at consensus on compliance parameters mentioned in the smart contract.
[0036] In certain embodiments, the contract management system (110) transmits the smart contract to an oracle system (120) residing in an associated blockchain network (122) post-achieving consensus between the content owner (106A) and the content distributor (118) on the compliance parameters. The oracle system (120) is a processor-enabled computer system that feeds or facilitates transmission of data from external sources to the blockchain network (122). In the previously noted example, the oracle system (120) receives the smart contract from the contract management system (110) via the communications network (112), and transmits the smart contract to all nodes (124A-N) in the blockchain network (122).
[0037] In certain embodiments, the nodes (124A-N) in the blockchain network (122) all have the same copy of distributed ledgers and maintains past transactions related to scheduling of media content. In one embodiment, each of the nodes (124A-N) stores the smart contract in an associated database (126). In one embodiment, the stored smart contract includes an ID associated with the content owner (106A), an ID associated with the content distributor (118), an ID associated with the smart contract, the content ID, and values of the compliance parameters, as mutually agreed by the content owner (106A) and the content distributor (118).
[0038] In certain embodiments, the smart contract is a self-enforcing computer program managed by the nodes (124A-N). Post-achieving consensus, the smart contract triggers automatic transfer of cryptocurrency tokens, equivalent to a number of tokens mentioned in the smart contract, from a bank account of the content distributor (118) to a bank account of the content owner (106A) for enabling the content distributor (118) to purchase the media content from the content owner (106A). Once the automatic transfer of cryptocurrency tokens is successful, one or more of the nodes (124A-N) trigger the CMS (104A) to transmit the purchased media content along with an associated content ID to a CMS (128) associated with the content distributor (118). Hereinafter, the CMS (128) associated with the content distributor (118) is referred as a distributor CMS (128).
[0039] Thus, the distributor CMS (128) receives and stores the purchased media content along with the associated content ID in a database (130). Similarly, it is to be understood that the distributor CMS (128) stores multiple such media contents purchased from various content owners (106A-B) along with associated content IDs in the database (130). In certain embodiments, the distributor CMS (128) includes a scheduling system (132). The scheduling system (132) selects a set of media contents stored in the database (130). The scheduling system (132) requests the nodes (124A-N) to perform a compliance check to identify whether the broadcast of the selected media contents would violate their corresponding smart contracts, and generates a broadcast schedule based on the compliance check performed by the nodes (124A-N). The nodes (124A-N) identify whether broadcast of the selected media contents violate their corresponding smart contracts using a video monitoring system (134).
[0040] In one embodiment, the video monitoring system (134) determines and verifies if parameters such as video resolution, logo information, and banner information associated with the selected media contents comply with terms and conditions in smart contracts related to the selected media contents. Successful verification of these parameters by the video monitoring system (134) indicates that the selected media contents satisfies the specified broadcast requirements without violating any associated smart contracts. Accordingly, the scheduling system (132) includes the selected media contents in a subsequent broadcast schedule. Alternatively, the scheduling system (132) identifies that the selected media contents are ineligible for broadcast when the video monitoring system (134) fails to verify the parameters. Accordingly, the scheduling system (132) prevents inclusion of the selected media contents in a final broadcast schedule, as described in detail with reference to FIGS. 3A and 3B.
[0041] The nodes (124A-N) request the scheduling system (132) to generate a broadcast schedule only with a subset of media contents, whose broadcast will not violate their corresponding smart contract terms and conditions. In one embodiment, the scheduling system (132) tracks and stores historic usage, and quality information associated with the media contents in an associated database (130). Examples of the historic usage information includes a broadcast count representing a number of times each of the media contents was broadcast in a particular month or a year, and a broadcast time representing a particular time on a day at which each of the media contents was broadcast. Other examples of the historic usage information include a time interval representing a time gap between broadcast and re-broadcast of the same media content, and a geography data representing one or more geographical regions in which the media contents were broadcast. An example of the quality information includes a quality at which each of the media contents was broadcast in the past.
[0042] In one embodiment, the scheduling assistance system (100) and associated systems (108, 110, 114, 120, 132, 134, and 138) may be implemented by suitable code on a processor-based system, such as a general-purpose or a special-purpose computer. Accordingly, the scheduling assistance system (100) and associated systems (108, 110, 114, 120, 132, 134, and 138), for example, include one or more general-purpose processors, specialized processors, graphical processing units, microprocessors, programming logic arrays, field programming gate arrays, cloud-based processors, cloud computing processor, and/or other suitable computing devices.
[0043] As previously noted, the scheduling assistance system (100) verifies that the selected media contents complies with the terms and conditions codified in a smart contract generated by the contract management system (110) associated with the owner CMS (104A). An exemplary methodology by which the contract management system (110) generates a smart contract between the content owner (106A) and the content distributor (118) for automatically regulating broadcast of the media contents is described in detail with reference to FIG. 2. However, it is to be understood that the methodology can be used for generating smart contracts between any two parties to a contract.
[0044] FIG. 2 illustrates a flow diagram depicting an exemplary method (200) for generating a smart contract between the content owner (106A) and the content distributor (118) using the contract management system (110) of FIG. 1. The order in which the exemplary method (200) is described is not intended to be construed as a limitation, and any number of the described blocks may be combined in any order to implement the exemplary method disclosed herein, or an equivalent alternative method. Additionally, certain blocks may be deleted from the exemplary method or augmented by additional blocks with added functionality without departing from the spirit and scope of the subject matter described herein.
[0045] Further, in FIG. 2, the exemplary method is illustrated as a collection of blocks in a logical flow chart, which represents operations that may be implemented in hardware, software, or combinations thereof. The various operations are depicted in the blocks to illustrate the functions that are performed in the exemplary method. In the context of software, the blocks represent computer instructions that, when executed by one or more processing subsystems, perform the recited operations.
[0046] For example, FIG. 2 illustrates a flow diagram depicting an exemplary method (200) for generating a smart contract between the content owner (106A) such as ‘The Walt Disney Company’ and the content distributor (118) such as ‘Sony Entertainment Television’ for enabling the content distributor (118) to purchase a movie from the content owner (106A).
[0047] At step (202), the CMS (104A) associated with the content owner (106A) transmits a registration request to the contract management system (110) via the communications network (112). The CMS (104A) transmits the registration request in order to create an account for the content owner (106A) with the contract management system (110). At step (204), the contract management system (110) generates login credentials, for example, a username and a password in response to receiving the registration request. The username may correspond to a cryptographic public key, and the contract management system (110) uses the generated public key as an identifier (ID) of the content owner (106A). At step (206), the contract management system (110) transmits the generated login credentials including the public key and the password to the CMS (104A) via the communications network (112).
[0048] At step (208), the CMS (104A) generates unique content IDs corresponding to a set of media contents such as a set of movies to the CMS (104A). At step (210), the CMS (104A) transmits the generated content IDs to the contract management system (110) via the communications network (112). At step (212), the contract management system (110) generates a smart contract template having desired terms and conditions for each of the movies added into the CMS (104A), as specified by the content owner (106A). In one embodiment, the contract management system (110) generates the contract template by automatically associating the generated content IDs to an ID associated with the content owner (106A). In one embodiment, the contract template associated with each of the movies initially includes default contractual terms and conditions. In addition, the contract template includes a content ID of a movie, and the ID associated with the content owner (106A). Further, the contract template includes various placeholders for inserting values of other compliance parameters such as broadcast regions and times selected by the content owner (106A) from the graphical user interface (116) of the contract management system (110).
[0049] At step (214), the contract management system (110) presents the generated contract template in the associated graphical user interface (116) when the content owner (106A) logins to his or her account with the contract management system (110). In one embodiment, the content owner (106A) logins to his or her account with the contract management system (110) using the login credentials shared previously by the contract management system (110) to the CMS (104A). At step (216), the contract management system (110) generates a smart contract for each of the movies added to the CMS (104A). For example, the contract management system (110) generates a smart contract for a selected movie from the set of movies based on the generated contract template and various options provided in the associated graphical user interface (116) that allows selection of values associated with compliance parameters. The compliance parameters may include a first set of compliance parameters and a second set of compliance parameters.
[0050] Examples of the first set of compliance parameters include a list of geographical regions for which the content owner (106A) is willing to provide broadcast rights for the selected movie to the content distributor (118), a contract expiry date, and a maximum number of times the content distributor (118) can broadcast the selected movie. The second set of compliance parameters, for example, include a video resolution at which the selected movie is to be broadcast by the content distributor (118), logo information such as sizes and location coordinates of logos, and banner information such as sizes and location coordinates of banners.
[0051] The compliance parameters may also include payment terms and penalty clauses. The payment terms specify conditions under which the content distributor (118) purchases the selected movie from the content owner (106A). An example of the specified conditions includes a time period within which the content distributor (118) has to pay the content owner (106A) for completing the purchase of the selected movie. The penalty clauses specify penalty to be paid by the content distributor (118) to the content owner (106A) when the content distributor (118) breaches the smart contract or delays the payment beyond a specified time period.
[0052] For generating the smart contract associated with the selected movie, the content owner (106A) logins to his or her account with the contract management system (110) that uses the blockchain network (122). Upon logging into the account, the contract management system (110) presents the generated contract template and various buttons and other options in the associated graphical user interface (116) for enabling the content owner (106A) to select values associated with each of the first and second set of compliance parameters. For example, the user interface may include an option or button to select a desired geography where the selected movie may be broadcast. Upon selecting the geography button, the contract management system (110) presents a list of geographical regions. From the presented list, the content owner (106A) may select one or more specific geographic regions, for example the US and India, in which the content owner (106A) desires to provide broadcasting rights to the content distributor (118). Accordingly, the contract management system (110) inserts the selected geographic regions at an appropriate place in the contract template.
[0053] Similarly, the graphical user interface (116) may include other buttons such as an expiry button for selection and insertion of the contract expiry date in the contract template, and a limit set button for selection of a maximum number of times the content distributor (118) can broadcast the selected movie. In addition, the graphical user interface (116) may include a resolution button, a logo button, and a banner button for selection and insertion of the video resolution, logo related details, and banner related details, respectively, in the contract template. Post inserting values associated with the compliance parameters in the contract template, the contract management system (110) transmits a notification to a desired content distributor who is previously added into the account of the content owner (106A).
[0054] For example, the contract management system (110) transmits the notification to an account of the content distributor (118). In certain embodiments, the notification pop-ups and notifies availability of the selected movie for licensing when the content distributor (118) logins to his or her account with the contract management system (110). Upon selecting the notification by the content distributor (118), the contract management system (110) presents the contract template with various options for enabling the content owner (106A) and the content distributor (118) to arrive at consensus on the compliance parameters.
[0055] For example, the options may include an agree option for enabling the content distributor (118) to agree with values of the compliance parameters mentioned in the contract template. The options also include a disagree option for enabling the content distributor (118) to disagree with values of the compliance parameters. In addition, the options include a suggest option for suggesting changes to the values of the compliance parameters. For example, upon selecting the notification by the content distributor (118), the contract management system (110) presents the contract template with options to agree, disagree, and suggest changes to the contract expiry date.
[0056] From the presented options, the content distributor (118) may select agree option when the content distributor (118) agrees with the contract expiry date mentioned in the contract template. In another example, the contract template may mention that a value associated with a maximum number of times the selected movie can be broadcast to be 20. In the previously noted example, the content distributor (118) may select disagree option when the content distributor (118) does not agree with the mentioned value. Further, the content distributor (118) may change the mentioned value to 30 using the suggest option. Accordingly, the contract management system (110) updates the contract template and transmits the updated contract template to the account of the content owner (106A).
[0057] In one embodiment, the contract management system (110) presents a notification related to the updated contract template in the associated graphical user interface (116), for example, when the content owner (106A) logins to his or her account. Upon selecting the notification by the content owner (106A), the contract management system (110) presents updates made to the contract template including one or more updated values of the compliance parameters with corresponding options to agree, disagree, and suggest changes.
[0058] Subsequently, the content owner (106A) may agree, disagree, or suggest further changes to values of the compliance parameters. Accordingly, the contract management system (110) transmits another notification to the account of the content distributor (118). The process of exchanging notifications between accounts of the content owner (106A) and the content distributor (118) iteratively occurs until a consensus is achieved on values of the compliance parameters mentioned in the contract template. Upon achieving the consensus, the contract management system (110) further updates the contract template by including details such as an ID of the content distributor (118). In one embodiment, the ID of the content distributor (118) may correspond to his or her public key.
[0059] The contract management system (110) then transmits a final version of the contract to the blockchain network (122). The blockchain network (122) stores the final version of the contract in all of the associated nodes (124A-N). The final version of the contract stored across the nodes (124A-N), is referred to herein as the smart contract of the selected movie. In one embodiment, the smart contract triggers automatic payment of cryptocurrency tokens, as mentioned in the smart contract, from a bank account of the content distributor (118) to a bank account of the content owner (106A) for enabling the content distributor (118) to purchase rights to broadcast the selected movie from the content owner (106A). At step (218), the blockchain network (122) requests the CMS (104A) to transmit the selected movie purchased by the content distributor (118) along with an associated content ID to the distributor CMS (128).
[0060] The embodiments presented herein specifically describe an exemplary methodology of generating a smart contract for a particular movie selected from the CMS (104A). However, it is to be understood that the contract management system (110) may similarly generate smart contracts for other types of media contents such as a web series, podcasts, songs, graphics, entertainment programs, and educational programs selected from the CMS (104B). Accordingly, the blockchain network (122) requests the CMSs (104A-B) to transmit purchased media contents along with associated content IDs to the distributor CMS (128).
[0061] In one embodiment, the distributor CMS (128) stores a plurality of media contents purchased from the various content owners (106A-B) along with their associated content IDs in the associated database (130). In one embodiment, the scheduling system (132) residing in the distributor CMS (128) generates a broadcast schedule using the purchased media contents, as described in detail with reference to FIGS. 3A and 3B.
[0062] FIGS. 3A and 3B illustrate a flow diagram depicting an exemplary method (300) of automatically generating a broadcast schedule using the blockchain network (122) of FIG. 1. At step (302), the scheduling system (132) automatically selects a set of media contents such as a set of movies from the database (130) of the distributor CMS (128) to generate the broadcast schedule. In one embodiment, the scheduling system (132) selects the set of movies based on one or more selection parameters stored in the database (130) of the distributor CMS (128). Examples of the selection parameters include a number of days passed since the last broadcast of the each of the selected movies, and a number of people who viewed the selected movies when they were previously broadcasted.
[0063] At step (304), the distributor CMS (128) requests the blockchain network (122) to perform a compliance check to identify whether each of the selected movies can be included in the broadcast schedule. Accordingly, at step (306), the distributor CMS (128) generates and transmits a compliance check request to the oracle system (120) to validate whether a particular movie selected from the set of movies can be included in the broadcast schedule. In one embodiment, the distributor CMS (128) transmits the compliance check request to the oracle system (120) via a communications medium (136) that is communicatively coupled to the blockchain network (122). Examples of the communications medium (136) include a Wi-Fi network, an Ethernet, and a cellular data network. In one embodiment, the compliance check request includes a public key of the content distributor (118), a hash of a previous block, timestamp of the previous block, and specified values of compliance parameters. It may be noted that the hash of the previous block represents the hash of a block for which the latest compliance check request was sent by the distributor CMS (128) to the blockchain network (122).
[0064] Timestamp of the previous block represents a block creation time associated with a block for which the latest compliance check request was sent by the distributor CMS (128) to the blockchain network (122). The compliance parameters represent a set of attributes to which the content distributor (118) is obliged to adhere to per a smart contract between the content distributor (118) and the content owner (106A). These compliance parameters may include a first set of compliance parameters and a second set of compliance parameters.
[0065] Examples of the first set of compliance parameters in the compliance check request include one or more geographical regions at which the content distributor (118) intends to broadcast the selected movie. The first set of compliance parameters also includes a Unix epoch value associated with a broadcast date of the selected movie, and a number of times the selected movie has been broadcasted previously. Further, examples of the second set of compliance parameters in the compliance check request include a video resolution of the selected movie, logo information such as sizes and location coordinates of logos, and banner information such as sizes and location coordinates of banners.
[0066] In certain embodiments, the distributor CMS (128) automatically generates the compliance check request when the distributor CMS (128) reviews the particular movie from the set of movies initially selected for generating the broadcast schedule. For example, FIG. 4 illustrates an exemplary compliance check request (400) automatically generated by the distributor CMS (128) for the selected movie. The compliance check request (400) includes a public key (402) of the content distributor (118), a hash (404) of the previous block, and timestamp (406) of the previous block. The compliance check request (400) also includes an epoch value (408) associated with the broadcast date of the selected movie. In one embodiment, the distributor CMS (128) includes an epoch converter system (138) (see FIG. 1) that converts the broadcast date selected by the content distributor (118) from a graphical user interface (140) of the distributor CMS (128) into the epoch value (408). For example, the content distributor (118) may select the broadcast date as thirtieth day of September 2019 and a broadcast time as 11 AM. In this example, the epoch converter system (138) converts the selected date and time into the epoch value (408) that corresponds to 1569841200. The distributor CMS (128) then automatically adds the epoch value (408) in the compliance check request (400).
[0067] In certain embodiments, the compliance check request (400) further includes a broadcast count (410) that represents a number of times the selected movie has been broadcast previously. The scheduling system (132) in the distributor CMS (128) identifies the broadcast count (410) based on historical broadcast data stored in the database (130) of the distributor CMS (128). Accordingly, the distributor CMS (128) adds the broadcast count (410) in the compliance check request (400).
[0068] In addition, the distributor CMS (128) may add a specified video resolution (412) in the compliance check request (400). In one embodiment, the distributor CMS (128) stores the selected movie in various formats. For example, the distributor CMS (128) stores the selected movie in standard definition format, high definition (HD) format, full HD format, ultra HD format, and 4k resolution format. Further, the distributor CMS (128) may automatically select a specific format from the stored formats, for example, based on predefined preferences of the content owner (106A). Alternatively, the distributor CMS (128) displays availability of the selected movie in different formats in the associated graphical user interface (140) for enabling a manual selection of the specific format. Based on the specific format automatically selected by the distributor CMS (128), the distributor CMS (128) adds a corresponding video resolution (412) in the compliance check request (400).
[0069] Moreover, the distributor CMS (128) adds a geography field (414) in the compliance check request (400). The geography field (414) lists one or more geographical regions in which the selected movie is allowed to be broadcast. In one embodiment, the distributor CMS (128) enables the content distributor (118) to select the one or more geographical regions from the associated graphical user interface (140). The distributor CMS (128) then generates the geography field (414) with the selected geographical regions and adds the geography field (414) in the compliance check request (400).
[0070] Additionally, the compliance check request (400) includes values associated with parameters such as logo size (416), logo coordinates (418), banner size (420), and banner coordinates (422). The parameters (416, 418, 420, and 422) are specific to the content owners (106A-B). For example, the distributor CMS (128) adds first default values associated with these parameters (416, 418, 420, and 422) in the compliance check request (400) when the selected movie belongs to the content owner (106A). Alternatively, the distributor CMS (128) adds second default values associated with these parameters (416, 418, 420, and 422) in the compliance check request (400) when the selected movie belongs to the content owner (106B), where the first default values may be different from the second default values. In one embodiment, the distributor CMS (128) also provides options in the associated graphical user interface (140) to override default values included in the compliance check request (400). Moreover, the distributor CMS (128) adds a content ID (424) associated with the selected movie in the compliance check request (400).
[0071] As noted previously, post automatically generating the compliance check request (400), the distributor CMS (128) transmits the compliance check request (400) to the oracle system (120). At step (308), the oracle system (120) transmits the compliance check request (400) received from the distributor CMS (128) to the nodes (124A-N) in the blockchain network (122). With returning reference to FIG. 3A, at step (310), each of the nodes (124A-N) verifies whether the compliance check request (400) has originated from a genuine CMS. Specifically, the nodes (124A-N) verify genuineness of a CMS, which transmitted the compliance check request (400), by identifying if the hash (404) and the timestamp (406) of the previous block mentioned in the compliance check request (400) are accurate. In one embodiment, the nodes (124A-N) identify that the compliance check request (400) has originated from a genuine CMS when the hash (404) and the timestamp (406) are accurate. Alternatively, the nodes (124A-N) identify that the compliance check request (400) has originated from a compromised CMS when at least one of the hash (404) and the timestamp (406) do not match corresponding stored values in the database (126). Accordingly, the nodes (124A-N) stop any further processing of the compliance check request (400).
[0072] Further, at step (312), each of the nodes (124A-N) identifies a smart contract associated with the selected movie upon successful verification of the authenticity of the CMS (128). The nodes (124A-N) identify the smart contract by comparing the content ID (424) mentioned in the compliance check request (400) with a content ID field of various smart contracts stored in the database (126). The nodes (124A-N) then identify the smart contract having a content ID that matches with the content ID (424) in the compliance check request (400) to be associated with the selected movie.
[0073] For example, FIG. 5 illustrates an exemplary smart contract (500) that is identified to be associated with the selected movie using an embodiment of the method described with reference to FIGS. 3A and 3 B. As previously noted, the smart contract (500) includes values of first and second set of compliance parameters that have been agreed upon by the content owner (106A) and the content distributor (118). For example, the smart contract includes a mutually agreed upon epoch value (502) associated with a contract expiry date, a maximum broadcast count (504) that represents a maximum number of times the selected movie can be broadcasted, and the video resolution (506). The smart contract (500) also includes a geography field (508) that lists one or more geographical regions for which the broadcasting rights have been given to the content distributor (118), logo size (510), logo coordinates (512), banner size (514), and banner coordinates (516).
[0074] Referring again to FIGS. 3A-3B, at step (314), each of the nodes (124A-N) generates a corresponding block having the compliance check request (400). At step (316), each of the nodes (124A-N) verifies the first set of compliance parameters (408, 410, and 414) in the compliance check request (400). For example, the nodes (124A-N) verify whether the selected movie is eligible to be broadcast based on an associated contract expiry date. To that end, the nodes (124A-N) identify whether the epoch value (408) mentioned in the compliance check request (400) is lesser than the epoch value (502) mentioned in the smart contract (500). For instance, the epoch value (408) mentioned in the compliance check request (400) corresponds to 1569841200, which represents a broadcast date and time corresponding to thirtieth day of September 2019 at 11AM. The epoch value (502) mentioned in the smart contract (500) corresponds to 1759230000, which represents a contract expiry date and time corresponding to thirtieth day of September 2025 at 11AM.
[0075] In the previously noted example, the nodes (124A-N) identify that the selected movie is eligible to be broadcast as the epoch value (408) in the compliance check request (400) is lesser than the epoch value (502) corresponding to the contract expiry date mentioned in the smart contract (500). Alternatively, when the epoch value (408) is greater than the epoch value (502), the nodes (124A-N) request the scheduling system (132) to prevent inclusion of the selected movie in the final broadcast schedule. Further, the nodes (124A-N) verify whether the selected movie is eligible to be broadcast based on the broadcast count (410) mentioned in the compliance check request (400). To that end, the nodes (124A-N) determine how many times the compliance check request (400) associated with the selected movie has been successfully verified by the nodes (124A-N) in the past. Further, the nodes (124A-N) compares and identify if values of both the broadcast count (410) and a number of successful verification instances determined by the nodes (124A-N) are equal to or lesser than the maximum broadcast count (504) defined in the smart contract (500).
[0076] In one embodiment, the nodes (124A-N) identify that the selected movie is eligible to be broadcast when values of both the broadcast count (410) and a number of successful verification instances are equivalent to or lesser than the maximum broadcast count (504). Alternatively, the nodes (124A-N) request the scheduling system (132) to prevent inclusion of the selected movie in the final broadcast schedule when at least one of these values are not equivalent to or lesser than the maximum broadcast count (504) mentioned in the smart contract (500).
[0077] In addition, the nodes (124A-N) verify whether the content distributor (118) has rights to broadcast the selected movie in a region mentioned in the geography field (414) of the compliance check request (400). To that end, the nodes (124A-N) compare and identify if the region (e.g., India) mentioned in the geography field (414) of the compliance check request (400) is same as the region mentioned in the geography field (508) of the smart contract (500). In one embodiment, the nodes (124A-N) identify that the content distributor (118) has valid broadcast rights when the region mentioned in the compliance check request (400) matches with the region mentioned in the smart contract (500). Alternatively, one or more of the nodes (124A-N) request the scheduling system (132) to prevent inclusion of the selected movie in the broadcast schedule when the region mentioned in the compliance check request (400) does not match with the region mentioned in the smart contract (500).
[0078] In certain embodiments, a particular node (124A), that is first to validate all of the first set of compliance parameters (408, 410, and 414), transmits an associated block to all other nodes (124B-N). Subsequently, each of the other nodes (124B-N) cross-validates the first set of compliance parameters (408, 410, and 414) in the transmitted block. Further, the nodes (124A-N) add the transmitted block to existing chains of blocks maintained by them post completion of cross-validation of the compliance parameters (408, 410, and 414) and upon achieving consensus on the resulting validation among the nodes (124A-N).
[0079] Post successfully verifying the first set of compliance parameters (408, 410, and 414), the nodes (124A-N) verify the second set of compliance parameters (412, 416, 418, 420, and 422) using the video monitoring system (134). Specifically, at step (318), the particular node (124A) requests the distributor CMS (128) to transmit the selected movie to the video monitoring system (134) via the communications medium (136). Upon receiving the selected movie, at step (320), the video monitoring system (134) performs video analysis on the selected movie in order to determine values associated with the second set of compliance parameters (412, 416, 418, 420, and 422). For example, the video monitoring system (134) includes a display screen, and a media player that renders the selected movie on the display screen. The video monitoring system (134) then identifies a number of pixels occurring on the display screen when the media player renders the selected movie. Based on the identified number of pixels, the video monitoring system (134) identifies the video resolution (412).
[0080] For instance, the video monitoring system (134) identifies the video resolution (506) to be full HD when the video is displayed with 1920 pixels displayed across the display area horizontally, and 1080 pixels displayed down the display area vertically. In another instance, the video monitoring system (134) identifies the video resolution (506) to be ultra HD when 3840 pixels are displayed across the display area horizontally, and 2160 pixels are displayed down the display area vertically. The video monitoring system (134) also determines logo information such as the logo size (416) and the logo coordinates (418). In addition, the video monitoring system (134) determines banner information such as the banner size (420) and the banner coordinates (422). In one embodiment, the video monitoring system (134) employs one or more image matching algorithms that are known in the art for verifying logo and banner related information. Examples of such algorithms include oriented fast and rotated brief (ORB), scale-invariant feature transform (SIFT), speeded up robust features (SURF), KAZE features, and accelerated KAZE (A-KAZE) features. The video monitoring system (134) then generates a report with the determined values of the second set of compliance parameters (412, 416, 418, 420, and 422).
[0081] At step (322), the video monitoring system (134) generates and transmits a report having the determined values of the second set of compliance parameters (412, 416, 418, 420, and 422) to the nodes (124A-N) in the blockchain network (122). At step (324), each of the nodes compares and identifies if the values of the second set of compliance parameters in the report match with corresponding allowable values in the smart contract (500). For example, the nodes (124A-N) identify if a video resolution mentioned in the report matches the video resolution (506) mentioned in the smart contract (500). Similarly, the nodes (124A-N) identify if logo size and logo coordinates mentioned in the report match the logo size (510) and the logo coordinates (512), respectively, mentioned in the smart contract (500). In addition, the nodes (124A-N) identify if banner size and banner coordinates mentioned in the report match with the banner size (514), and the banner coordinates (516), respectively, mentioned in the smart contract (500).
[0082] Subsequently, at step (326), the nodes (124A-N) successfully validate the second set of compliance parameters (412, 416, 418, 420, and 422) when values in the report match with corresponding allowable values in the smart contract (500). In certain embodiments, a particular node (124A) that is first to validate the second set of compliance parameters (412, 416, 418, 420, and 422) transmits an associated block having the report generated by the video monitoring system (134) to all the other nodes (124B-N). Each of the other nodes (124B-N) cross-validates the second set of compliance parameters (412, 416, 418, 420, and 422) mentioned in the transmitted block. As noted previously, the other nodes (124B-N) perform cross-validation of the second set of compliance parameters (412, 416, 418, 420, and 422) by verifying whether values mentioned in the report match with corresponding allowable values defined in the smart contract (500).
[0083] Further, the nodes (124A-N) add the transmitted block to existing chains of blocks maintained by them post completion of successful cross-validation of the compliance parameters (412, 416, 418, 420, and 422) and upon achieving consensus on the resulting validation among the nodes (124A-N). Subsequently, at step (328), the particular node (124A) that is first to validate the compliance parameters (412, 416, 418, 420, and 422) transmits the validation information to the scheduling system (132) to indicate that the broadcast schedule can include the selected movie post successful cross-validation of the first and second set of compliance parameters.
[0084] The embodiments presented herein describe an exemplary methodology by which the blockchain network (122) performs a compliance check to identify whether the selected movie can be scheduled for broadcasting. However, it is to be understood that the blockchain network (122) may similarly perform the compliance check for other selected movies. In one embodiment, the distributor CMS (128) generates a broadcast schedule with the movies whose subsequent broadcast is identified by the nodes (124A-N) to be compliant with their respective smart contracts. Finally, the distributor CMS (128) broadcasts the movies to the end-user devices (102A-N) based on the generated broadcast schedule.
[0085] Further, once the nodes (124A-N) successfully verify that value of a parameter for a particular media contents is equal to the maximum allowable value during a compliance check request, the scheduling system (132) tags the media contents such that it no longer appears available for inclusion in the broadcast schedule. For example, during a compliance check, the nodes (124A-N) may identify that a selected movie has already been broadcast twenty nine times and will be broadcast for the thirtieth time that is equivalent to a maximum broadcast count (e.g., 30) in a smart contract associated with the selected movie. Accordingly, the scheduling system (132) flags the selected movie as ineligible for future broadcast, and prevents inclusion of the selected movie in the list of media contents available to a user for preparing a future broadcast schedule. Similarly, the scheduling system (132) may flag the movie based on other compliance check results, such as a failed validation of a geographic region, to prevent inclusion of the selected movie in the list of media contents available to the user when preparing a future broadcast schedule for that particular geographic region. Such continual flagging of media contents ensures that only those media contents that are fully compliant with all terms and conditions defined in their associated smart contracts are made available to the user by the scheduling system (132), thereby preventing any inadvertent violations.
[0086] The scheduling assistance system (100) verifies whether selected media contents violate their respective smart contracts prior to streaming the selected media contents to the end-user devices (102A-N). Specifically, the scheduling assistance system (100) prevents inclusion of those media contents in the broadcast schedule that may lead to potential violations of smart contracts, thus preventing the content distributor (118) from having to pay any penalty to the content owners (106A-B).
[0087] Conventionally, content owners engage a team of people for monitoring the broadcast of media contents licensed to various content distributors. The team manually maintains contracts associated with the licensed media contents, and reviews samples from various broadcast streams to identify if any violations have occurred during broadcast of the out-licensed media contents. However, media contents are licensed out to multiple content distributors who broadcast the media contents in different geographies and at different times. It is practically impossible for a team to manually review hundreds of thousands of such broadcasts and identify all violations. Therefore, such a manual checking of violations is laborious, error-prone, expensive, and often is only able to identify only a handful of violations. Additionally, such monitoring does not prevent actual violation of smart contract terms, but only identifies if a violation has occurred in the past.
[0088] Furthermore, enforcing the contracts post-violations for collecting due penalties often necessitates a complicated and expensive ligation action that leads to loss of revenue and goodwill between content owners and distributors. Moreover, most of the violations are not malicious or intentional, but rather happen inadvertently due to significant manual efforts required to keep track of different terms and conditions related to thousands of media content files that are legitimately licensed by the content distributor for broadcast.
[0089] In contrast, the blockchain-based scheduling assistance system (100) of the present disclosure performs compliance checks to identify whether a set of media contents selected for broadcasting violates their respective smart contracts prior to streaming the media contents to end-user devices (102A-N). In addition, the blockchain-based scheduling assistance system (100) generates a broadcast schedule with only a set of media contents that are identified to not violate their respective smart contracts. Hence, the blockchain-based scheduling assistance system (100) prevents any inadvertent violation of the smart contract clauses that may result in penalty payments or loss of goodwill. Additionally, as the scheduling assistance system (100) prevents violations from happening in the first place, expensive and complicated post violation monitoring systems and personnel are no longer required.
[0090] Further, the blockchain-based scheduling assistance system (100) stores final copies of smart contracts executed between content owners and content distributors in the nodes (124A-N), which makes terms and conditions in the smart contracts irreversible and immutable. Use of the blockchain-based scheduling assistance system (100) makes it extremely difficult for any illegitimate users to illegally modify terms and conditions in the stored smart contracts as they have to gain access to all the nodes (124A-N) to make the intended modifications in the smart contracts stored in each of the nodes (124A-N) at a substantially similar time.
[0091] Although specific features of various embodiments of the present systems and methods may be shown in and/or described with respect to some drawings and not in others, this is for convenience only. It is to be understood that the described features, structures, and/or characteristics may be combined and/or used interchangeably in any suitable manner in the various embodiments shown in the different figures.
[0092] While only certain features of the present systems and methods have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the claimed invention.
LIST OF NUMERAL REFERENCES:
100 Scheduling Assistance System
102A-N End-User Devices
104A-B, 128 Content Management System
106A-N Content Owners
108A-B Hash Generator
110 Contract Management System
112, 136 Communications Network and Medium
114 Decentralized Application
116, 140 Graphical User Interface
118 Content Distributor
120 Oracle System
122 Blockchain Network
124A-N Nodes
126, 130 Database
132 Scheduling System
134 Video Monitoring System
138 Epoch Converter System
202-218 Steps of method for generating a smart contract
300-328 Steps of method for generating a broadcast schedule
400 Compliance Check Request
402 Public Key
404 Hash
406 Timestamp
408, 502 Epoch Value
410, 504 Broadcast Count
412, 506 Video Resolution
414, 508 Geography Field
416, 510 Logo Size
418, 512 Logo Coordinates
420, 514 Banner Size
422, 516 Banner Coordinates
424 Content Identifier
500Smart Contract
| # | Name | Date |
|---|---|---|
| 1 | 201941048834-POWER OF AUTHORITY [28-11-2019(online)].pdf | 2019-11-28 |
| 2 | 201941048834-FORM 3 [28-11-2019(online)].pdf | 2019-11-28 |
| 3 | 201941048834-FORM 18 [28-11-2019(online)].pdf | 2019-11-28 |
| 4 | 201941048834-FORM 1 [28-11-2019(online)].pdf | 2019-11-28 |
| 6 | 201941048834-ENDORSEMENT BY INVENTORS [28-11-2019(online)].pdf | 2019-11-28 |
| 7 | 201941048834-DRAWINGS [28-11-2019(online)].pdf | 2019-11-28 |
| 8 | 201941048834-COMPLETE SPECIFICATION [28-11-2019(online)].pdf | 2019-11-28 |
| 9 | 201941048834-FER.pdf | 2021-10-28 |
| 10 | 201941048834-FORM-26 [21-03-2022(online)].pdf | 2022-03-21 |
| 11 | 201941048834-FORM 3 [21-03-2022(online)].pdf | 2022-03-21 |
| 12 | 201941048834-FER_SER_REPLY [21-03-2022(online)].pdf | 2022-03-21 |
| 13 | 201941048834-COMPLETE SPECIFICATION [21-03-2022(online)].pdf | 2022-03-21 |
| 14 | 201941048834-CLAIMS [21-03-2022(online)].pdf | 2022-03-21 |
| 1 | 201941048834SEARCHE_27-10-2021.pdf |