Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
In some cases, software applications may be designed to access data stored in local or remote data stores. These data stores are often referred to as databases. Computer databases allow applications to request data using queries. When the database receives the query, it looks up data corresponding to the query and returns the data to the application. Substantially any type of data may be stored in a database, including, for example, media items and data associated therewith. The media items may include songs, movies, photos or other types of media. The information associated with the media items may include, for example, title, album, artist, photographer, or other information. Indeed, in some cases, the data may include licensing information associated with the media items.
Embodiments described herein are directed to purchasing and storing media licenses and to identifying and presenting media licenses base on parameters. In one embodiment, a computer system instantiates a user interface that includes the following: a field configured to present information relating to identified media licenses, an actionable element that allows selection of the type of media license to be acquired by a user for a selected media item, a field that displays a determined price for the selected type of media license, and an actionable element that processes payment for the selected type of media license. The purchased license is added to a collection of media licenses that includes the purchased media license and any previously purchased media licenses.
In another embodiment, a computer system identifies and presenting media licenses base on parameters. The computer system receives inputs identifying a parameter that is to be matched to different media licenses or media license types. Based on the parameter, the computer system identifies media licenses that correspond to the parameter, displays the identified media licenses for selection by a user and, upon selection by the user, adds the media license to a collection of media licenses that are to be purchased.
In yet another embodiment, a computer system is provided that includes the following: a processor, a display for displaying information relating to identified media licenses, an input receiver for receiving input indicating that a specified type of media license is to be acquired by a user, a price calculating module that determines a price for the selected type of media license, where the display displays the determined price for the selected type of media license, and a payment processor that causes payment to be processed for the selected type of media license, where the purchased media license is added to a collection of media licenses including the purchased license and any previously purchased media licenses.
In another embodiment, a computer-based method is provided for automatically retrieving data associated with licensing media. The method may include receiving a request including inputs identifying at least one parameter for matching to one or more different media licenses or media license types. A load balancer can be used for determining at least one backend server of the computer system for processing the received request. One or more media licenses can be identified that correspond to the identified parameters. Also, based on the request, the method involves locating content within data storage media operatively associated with the processor. The located content can be communicated from the data storage media portion in response to a quality attribute associated with the content and with the request. The method may further include providing access to the located content, and also displaying identified media licenses, for selection by the user. A selected media license can be added to a collection of media licenses that are to be purchased.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Additional features and advantages will be set forth in the description which follows, and in part will be apparent to one of ordinary skill in the art from the description, or may be learned by the practice of the teachings herein. Features and advantages of embodiments described herein may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the embodiments described herein will become more fully apparent from the following description and appended claims.
To further clarify the above and other features of the embodiments described herein, a more particular description will be rendered by reference to the appended drawings. It is appreciated that these drawings depict only examples of the embodiments described herein and are therefore not to be considered limiting of its scope. The embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Embodiments described herein are directed to purchasing and storing media licenses and to identifying and presenting media licenses base on parameters. In one embodiment, a computer system instantiates a user interface that includes the following: a field configured to present information relating to identified media licenses, an actionable element that allows selection of the type of media license to be acquired by a user for a selected media item, a field that displays a determined price for the selected type of media license, and an actionable element that processes payment for the selected type of media license. The purchased license is added to a collection of media licenses that includes the purchased media license and any previously purchased media licenses.
In another embodiment, a computer system identifies and presenting media licenses base on parameters. The computer system receives inputs identifying a parameter that is to be matched to different media licenses or media license types. Based on the parameter, the computer system identifies media licenses that correspond to the parameter, displays the identified media licenses for selection by a user and, upon selection by the user, adds the media license to a collection of media licenses that are to be purchased.
In yet another embodiment, a computer system is provided that includes the following: a processor, a display for displaying information relating to identified media licenses, an input receiver for receiving input indicating that a specified type of media license is to be acquired by a user, a price calculating module that determines a price for the selected type of media license, where the display displays the determined price for the selected type of media license, and a payment processor that causes payment to be processed for the selected type of media license, where the purchased media license is added to a collection of media licenses including the purchased license and any previously purchased media licenses.
The media license purchasing and identifying embodiments described herein may be implemented on various types of computing systems. These computing systems may take a wide variety of forms. Such computing systems may, for example, be mobile phones, electronic appliances, laptop computers, tablet computers, wearable devices, desktop computers, mainframes, and the like. As used herein, the term “computing system” includes any device, system, or combination thereof that includes at least one processor, and a physical and tangible computer-readable memory capable of having thereon computer-executable instructions that are executable by the processor. A computing system may be distributed over a network environment and may include multiple constituent computing systems.
A computing system typically includes at least one processing unit and memory. The memory may be physical system memory, which may be volatile, nonvolatile, or some combination of the two. The term “memory” may also be used herein to refer to non-volatile mass storage such as physical storage media or physical storage devices. If the computing system is distributed, the processing, memory and/or storage capability may be distributed as well.
As used herein, the term “executable module” or “executable component” can refer to software objects, routines, methods, or similar computer-executable instructions that may be executed on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads).
As described herein, a computing system may also contain communication channels that allow the computing system to communicate with other message processors over a wired or wireless network. Such communication channels may include hardware-based receivers, transmitters or transceivers, which are configured to receive data, transmit data or perform both.
Embodiments described herein also include physical computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available physical media that can be accessed by a general-purpose or special-purpose computing system.
Computer storage media are physical hardware storage media that store computer-executable instructions and/or data structures. Physical hardware storage media include computer hardware, such as RAM, ROM, EEPROM, solid state drives (“SSDs”), flash memory, phase-change memory (“PCM”), optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device(s) which can be used to store program code in the form of computer-executable instructions or data structures, which can be accessed and executed by a general-purpose or special-purpose computing system to implement the disclosed fitnctionality of the embodiments described herein. The data structures may include primitive types (e.g. character, double, floating-point), composite types (e.g. array, record, union, etc.), abstract data types (e.g. container, list, set, stack, tree, etc.), hashes, graphs or other any other types of data structures.
As used herein, computer-executable instructions comprise instructions and data which, when executed at one or more processors, cause a general-purpose computing system, special-purpose computing system, or special-purpose processing device to perform a certain function or group of functions. Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
Those skilled in the art will appreciate that the principles described herein may be practiced in network computing environments with many types of computing system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. The embodiments herein may also be practiced in distributed system environments where local and remote computing systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. As such, in a distributed system environment, a computing system may include a plurality of constituent computing systems. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Those skilled in the art will also appreciate that the embodiments herein may be practiced in a cloud computing environment. Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations. In this description and the following claims, “cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of “cloud computing” is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.
Still further, system architectures described herein can include a plurality of independent components that each contribute to the functionality of the system as a whole. This modularity allows for increased flexibility when approaching issues of platform scalability and, to this end, provides a variety of advantages. System complexity and growth can be managed more easily through the use of smaller-scale parts with limited functional scope. Platform fault tolerance is enhanced through the use of these loosely coupled modules. Individual components can be grown incrementally as business needs dictate. Modular development also translates to decreased time to market for new functionality. New functionality can be added or subtracted without impacting the core system.
Referring to the figures,
In addition to processor and memory hardware components, the computer system 101 may include a communications module 104 may be configured to communicate with other computing systems. The communications module 104 may include any wired or wireless communication means that can receive and/or transmit data to or from other computing systems including WiFi, Bluetooth, cellular or other radios. The communications module 104 may be configured to interact with databases, mobile computing devices (such as mobile phones or tablets), embedded or other types of computing systems.
The computer system 101 also includes an input receiving module 105 configured to receive inputs 111 from user 110. The inputs 111 may, of course, be received from other users or other computer systems. The inputs 111 may include parameters 112 which are used to identify music licenses. For example, user 110 may wish to purchase a license for a given media item such as a movie or song. The user may provide one or more parameters that will be used by the media license identifying module 106 to identify media licenses 114 stored in data store 113, or stored in some other data store.
In some embodiments, for example, user 110 may use a user interface 117 presented on display 116 to select the parameters 112 that are to be matched by the media license identifying module 106. The user interface 117 may include different fields (e.g. license information field 118) which are used by the user to select parameters, select licenses, view license information, or perform other functionality. For instance, the license information field 118 may be configured to display information relating to one or more media licenses 114. The license information may include details about the media item such as its title, license owner, album, publisher, release date, track code, union talent indication, exclusivity indication, content type, description of the media item, composer, tempo, length, similar media items or other information. Indeed, it will be understood that may other types of detail information may be included in addition to or as alternatives to the above-identified items.
The user interface 117 may include other fields such as a media license type selection field 119 that allows the user 110 to select which type of media license the user wishes to purchase. Many different types of licenses or “clearances” may be purchased. For example, the user 110 may wish to purchase a non-broadcast license, or an internet license, a license for broadcast commercials or broadcast programs, a license for a public venue, a license for a film, or a license for a commercial package. Again, it will be understood that other types of licenses not identified above may be presented and/or purchased using user interface 117.
The license price field 120 may show the price of a selected license. Each type of license may have a different price. This price may be set by the owner of the corresponding media item or by another entity. In some cases, the price may be dictated by or at least partially subject to current market prices. These prices may be determined by a third-party agency or by some other entity.
In other cases, the content provider or content owner may upload their own content and establish their own price for that content. If the content provider or owner does not want to indicate a cost for a clearance for their content, then they may indicate such in a variety of different ways. In such cases where a cost is not supplied by a content provider or owner, when a customer attempts to view the clearance and its associated price, the letter or symbol in the “Price” field may indicate that a quote is to be requested. This quote may be requested automatically, or may first query the customer for input verifying their desire for a quote.
Thus, a customer may use the user interface 117 to select one or more clearances. If the clearance does not have a price, the system (e.g. 101) may provide inputs that guide the customer to request a quote. After the customer has requested a quote, the content provider or owner receives a notification that the customer has requested a quote. The content provider or owner then enters a cost for the clearance. The input receiving module 105 of computer system 101 then receives the cost for the clearance and, at least in some embodiments, adds a transaction fee (e.g. 15%) on top of the indicated cost or deducts the amount of the transaction fee from the total fee. The quote is then shown to the customer. The customer can accept or deny the quote and, if the quote is accepted, the content provider or owner can indicate to the computer system 101 to create an invoice between the customer and the content provider. Both parties may then receive hard or soft copies of the invoice. Soft copies, (i.e. electronic copies), may he transmitted directly to the user in the form of a word processing document, a spreadsheet, a portable document format (PDF) document or some other electronic form. Hard copies may be sent via traditional postal mail. As such, content providers or owners can withhold license costs initially, and then provide them later on demand when the customer asks for such.
Once the final prices have been determined for the licenses, the payment processor UI element 121 may allow a user to initiate payment for the license(s). The UI 117 may display those licenses that are to be purchased by the user. This may be a single license or multiple licenses, and may include a specified collection of licenses 122 that, at least in
One embodiment herein is a computer program product that includes one or more computer storage media that have computer-executable instructions stored thereon. When executed by one or more processors of a computing system, the computer-executable instructions cause the computing system to instantiate a user interface (e.g. UI 117). The UI includes a license information field 118 configured to present information relating to identified media licenses 114. The UI also includes an actionable element (e.g. media license type selection) that allows selection of the type of media license to be acquired by a user for a selected media item.
As shown in
In
Thus, as shown in
The UI 117 also includes a payment processor element 121 that is actionable to process payment for the type of media license selected by the user 110. The payment processor may be linked with banks or credit card companies to process payments. Any purchased licenses are added to a collection of media licenses 12 that includes the recently purchased media license and any other previously purchased media licenses. The user 110 may be able to scroll through or search their purchased licenses for a specific license or license type.
Once the user 110 has finished selecting licenses, they may view usage information as shown in
The UI of
In another embodiment, the user may attempt to share a license with a user who is not yet authorized to view licenses. For instance, in
These concepts will be explained further below with regard to method 500
Method 500 includes receiving one or more inputs identifying at least one parameter that is to be matched to one or more different media licenses or media license types (510). For example, in
Method 500 further includes displaying the one or more identified media licenses for selection by a user (530). For example, the display module 107 may display the identified media licenses in user interface 117 of display 116. The media licenses are displayed in a license information field 118 that includes various portions of information related to the media item. The media license type selection LI element 119 allows the user 110 to select which media license or license type they wish to view and/or purchase. Upon selection of the media license by the user, method 500 includes adding the media license to a collection of media licenses 122 that are to be purchased (540). The collection of licenses may be searchable and organizable by the user, so that various licenses are shown based on parameters or preferences provided by the user.
In some embodiments, the inputs 111 provided by the user 110 that identify one or more parameters 112 further include a project description. The project may be a television show, movie or other portion of media that involves multiple media licenses. As mentioned above, for example, a movie may include many different songs or song snippets. Each use of a song may be entered into a cue sheet corresponding to that movie. In cases where the parameters 112 input by the user are related to a specific project, identification of the media licenses that correspond to the parameters may include identifying media licenses that correspond to the project description. Thus, if the project is a film, and the film description has various terms in it, the parameters identified by the user may be matched against those terms.
The user interface 117 of display 116 may display the media licenses in the collection of media licenses 109 according to media license type. As such, all media items with a specified license type may be displayed in the user interface. In some cases, each of the media licenses that are associated with a given media item may be displayed in the UI 117. In such cases, a single media item may be displayed with multiple media licenses of different types that are associated with the first media item. When these media items are displayed, one or more portions of license usage information may also be displayed in the user interface 117. If changes are needed in the license usage information, it may be dynamically updated in real time. This information may include pricing information, which may also change and be updated in real time. User interface users may also cause the UI to display license terms for a selected media license, including license type and valid term.
One embodiment described herein includes a computer system itself. The computer system may include the following: one or more processors 102, a display 116 for displaying information relating to one or more identified media licenses 114, an input receiver 105 for receiving input 111 indicating that a specified type of media license is to be acquired by a user 110, and a price calculating module (which may be part of the license management module 108) that determines a price for the selected type of media license. The display 116 displays the determined price for the selected type of media license, and a payment processor 121 causes payment to be processed for the selected type of media license. The purchased media license is then added to a collection of media licenses 109 including the purchased license and any previously purchased media licenses.
The user interface 117 of display 116 may further display an actionable element in the user interface that, upon selection, displays media item details associated with a selected media item. The UI 117 may also include one or more actionable elements for language dubbing, tags, commercial theme use, license terms, music uses or for performing other related functions. The price for each license may be market-demand driven or set by a specified entity. As such, the pricing structure for the media licenses may change dynamically according to market demands or according to changes made by the specified entity. The III 117 may provide an indication of whether the media license has been paid for by the user, or has merely been added to a cart for later payment.
In various embodiments, the tools and techniques described herein provide content search capabilities and licensing services to many different enterprises and other users 110. Searches can be conducted for a variety of content (e.g., music, videos, text, etc.) on many different websites and other data sources to find a suitable track of music, for example, and to create a playlist on a computing device. In certain embodiments, the invention offers a cloud-based platform that allows users to search and obtain licenses from many different music companies, for example, through a single platform. As shown in the example screen display of
With reference to
With reference to the screen display examples shown in
In certain embodiments, the user 110 can be guided through the licensing process by selecting an adding clearance tool 1002, an example of which is illustrated in
In this example, the system 101 can include a variety of different modules 1204 programmed to instantiate features and functions, including generating user interfaces 117, for users 110 of the system 101. Examples of modules 1204 include a search module 1204A, a playlists module 1204B, a license module 1204C, a cue sheet module 1204D, as well as a variety of other modules 1204E that can be programmed to perform other tasks within the system 101. It can be appreciated that each module 1204 can be configured to receive and respond to a particular kind of request communicated by different users 110.
In other aspects, the system 101 may be operatively associated with different types of content stored in different kinds of data storage media 1206. In general, content processed by the system 101 can be stored, selected, retrieved, and presented to users 110 in a manner that reflects that each type of the storage is chosen to store and retrieve different types of data as easily and quickly as possible. For example, it is usually easy to store information in a database storage medium about the identity of who licensed certain music. But storing actual audio files (e.g., MP3 files) in the database could be unnecessarily complicated to the extent that audio content previewed by a user 110 could take an undesirably long time to initiate playback due to the storage scheme used to store the audio content.
In one aspect of the data storage media 1206, a database 1206A can be programmed to store and retrieve transactional types of data such as created playlists, tracks licensed, licensee name, etc. In one embodiment, a defining characteristic of data stored in the database 1206A is that the data sets are substantially complete for each transaction of the same type. For example, when each playlist is created it will typically have a name, creation date, data for tracks in it, and so forth, similar to the attributes of other playlists stored in the database 1206A.
In another aspect of the data storage media 1206, metadata storage 1206B may be provided for use by the system 101 when storing or retrieving content from the data storage media 1206. These metadata may include descriptive metadata, structural metadata, administrative metadata, reference metadata, and/or statistical metadata, among other kinds of data which generally described attributes of the content stored in the data storage media 1206. In various embodiments, the metadata storage 1206B contains metadata for different tracks of music, for example, and other content. Each track can have a completely different set of data (unlike transactions in the database 1206A, for example). Some tracks may have just a title, album and artists (e.g., three data sets), but other tracks may have forty different data sets, for example. This data storage 1206B can be optimized to be readily searchable and to respond comparatively more quickly than other types of storage media 1206 or other data storage schema to return search results, for example. This reflects the fact that many users 110 access the system 101 to search music and other content by using keywords.
In another aspect of the data storage media 1206, object storage 1206C may be provided for storing data associated with a particular kind of content (e.g., audio, visual, or audiovisual content). The object storage 1206C may contain full audio files and images (e.g., album cover artwork). This content can be organized in sections of the object storage 1206C based on security policies and folders within those sections, for example, based on quality or format (e.g., for audio content) and/or resolution or visual quality (e.g., for images). In certain embodiments, object storage 1206C allows for use of relatively simple software code to generate a reference to a file or other content which is required for the system 101 to access the content for a particular purpose. In certain embodiments, content stored in object storage 1206C may be retained as a combination of data (e.g., an audio file), an amount of metadata (perhaps obtained from the metadata storage 1206B), and a unique identifier. The metadata may be defined by the creator of the object and may include contextual information about what the data is, how the data should be used, security classification, data quality characteristics, or other attributes that define how the data should be processed or accessed. The identifier may be a globally unique identifier, for example, and may be embodied as an address assigned to the object so the data can be readily located and retrieved within a distributed computing system, for example. In this manner, retrieving the data can be performed without necessarily knowing its actual physical or geographic location within the overall data storage system. In certain embodiments, a storage scheme for the object storage 1206C might involve not splitting data files into raw blocks of data. Rather, the data are grouped and stored in an object that contains the data, metadata, and the unique identifier.
In another aspect of the data storage media 1206, block storage 1206D may be provided. In certain embodiments, the block storage 1206D may be embodied as one or more hard drives that contain software code or other computer-executable instructions for executing applications, modules, or other computer-based functions of the system 101. The block storage 1206D may also be used to store static content (e.g., logos, icons, etc.) plus temporary files which are used by the system 101 and its modules. For example, when a user 110 uploads a file to the system 101, it can be uploaded from the computing device of that user 110 to the block storage 1206D and then later moved to other portions of the storage media 1206 if necessary or desirable. In another example, if a user 110 uploads a track of music to the block storage 1206, then the track may be subsequently moved to a location within the object storage 1206C. In addition, metadata can be created for that uploaded track, and the created metadata can be stored in the metadata storage 1206B. Also, a record reflecting that the user 110 completed an upload transaction for the music track can be stored in the database 1206A.
In one example, when a user 110 requests a high-quality audio file from the computer system 101 as content to be previewed, the audio file may be located and retrieved from object storage 1206C versus other parts of the data storage media 1206. In one embodiment, such high-quality audio may be stored as a 320 k MP3 file in the object storage 1206C, for example. In another aspect, if a comparatively lower quality audio file is acceptable to the user 110, then that audio content may be retrieved from a different location within the object storage 1206C, or from a data storage location other than the object storage 1206C. For example, the lower quality audio file in this scenario may be stored in another data storage location as a lower quality 128 k MP3 file instead of as a higher quality 320 k MP3 file.
It can be appreciated that embodiments of the present invention provide technical solutions in the computer system arts, particularly in the area of information technology employed by the licensing media industry. These technical solutions represent an unconventional approach and an advancement of data processing efficiency and effectiveness in a computing environment. By implementing various of the data structures and computer architecture described herein, for example, users can enhance the operating performance of computer systems while enhancing the user experience. It can be appreciated that embodiments of the present invention provide for significant automation benefits that enhance the speed and efficiency with which content can be retrieve in the licensing media environment. For example, a human could review piles of paper and stacks of files, sift through invoices, and send out reminders that an invoice is about to expire. A human user could also call hundreds of content suppliers to get a quote prior to searching for content and available licenses. However, embodiments of the present invention apply automated computer-based efficiencies to a process that normally would require hundreds of hours of manual effort to perform the same tasks.
The concepts and features described herein may be embodied in other specific forms without departing from their spirit or descriptive characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Whereas particular embodiments of this invention have been described above for purposes of illustration, it will be evident to those skilled in the art that numerous variations of the details of the present invention may be made without departing from the invention as defined in the appended claims.
This application is a continuation-in-part application claiming the benefit of priority of co-pending U.S. patent application Ser. No. 15/143,809, filed May 2, 2016, which is incorporated in its entirety herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 15143809 | May 2016 | US |
Child | 16179535 | US |