Digital asset validation prior to submission for network-based distribution

Information

  • Patent Grant
  • 8935217
  • Patent Number
    8,935,217
  • Date Filed
    Tuesday, September 8, 2009
    15 years ago
  • Date Issued
    Tuesday, January 13, 2015
    10 years ago
Abstract
A system and method for submission of digital assets to a digital asset submission system are disclosed. The digital asset submission system can manage submissions of digital assets to a network-based distribution system. Submission of digital assets to the digital asset submission system can be performed over a network in a controlled manner such that the digital assets can be validated prior to transmission of the digital assets to the digital asset submission system. Advantageously, digital assets to be submitted for distribution can be substantially validated before the digital assets are transmitted to the digital asset submission system.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to submission of digital assets and, more particularly, to electronic submission of digital assets for purposes of network-based distribution.


2. Description of the Related Art


Today, online stores, such as the iTunes™ Store provided by Apple Inc. of Cupertino, Calif., allow customers (i.e., online users) via the Internet to purchase or rent media items (such as music, videos) or software programs. Often, at online stores, numerous digital items are made available and are provided by various different providers, such as music labels, movie companies, and application developers. Software tools, such as iProducer™ and iTunes Connect™ available from Apple Inc., can assist providers with online submission of digital items to the iTunes™ Store.


Unfortunately, however, since submission involves transmission of digital files over the Internet to online stores for distribution, the submission process can be time consuming to a submitter. When the digital files are large or voluminous, the transmission of the digital files for the submission can take a substantial duration of time. For example, submission of a movie can take several hours. Even after the time consuming transmission has been endured, the digital files of the submission may fail validation checks. As a result, the submitter must correct the defects with respect to their prior submission and again attempt to submit the digital files. Consequently, there is a need for improved approaches to render submission of digital files to online stores in a more efficient and reliable manner.


Therefore, there is a need for improved approaches to facilitate submission of digital assets for online distribution.


SUMMARY OF THE INVENTION

A system and method for submission of digital assets to a digital asset submission system are disclosed. The digital asset submission system can manage submissions of digital assets to a network-based distribution system. Submission of digital assets to the digital asset submission system can be performed over a network in a controlled manner such that the digital assets can be validated prior to transmission of the digital assets to the digital asset submission system. Advantageously, digital assets to be submitted for distribution can be substantially validated before the digital assets are transmitted to the digital asset submission system. In one embodiment, a client computing device can initially provide a summary for one or more digital assets to be submitted. Then, a digital asset submission system can validate the one or more digital assets based on the summary and validation rules. If the digital asset submission system successfully validates the one or more digital assets, final submission (e.g., transmission) of the digital assets to the digital asset submission system is thereafter able to be performed. On the other hand, if the digital asset submission system does not successfully validate the one or more digital assets, final submission of the digital assets to the digital asset submission system is not performed.


The invention can be implemented in numerous ways, including as a method, system, device, apparatus (including computer readable medium and graphical user interface). Several embodiments of the invention are discussed below.


According to one embodiment, a method for validating a digital asset package via a server computer is disclosed. The digital asset package can include at least a metadata file and one or more digital asset files. The method can, for example, include the operations of: receiving an initial validation submission including at least the metadata file; validating metadata within the metadata file; determining at least one digital asset file identified in the metadata to be validated; sending an initial validation response including at least a list of the at least one digital asset file that is to be validated; receiving a subsequent validation submission including at least the metadata file and asset summary information for the at least one digital asset file; determining validation rules to be used in validating the at least one digital asset file; validating the at least one digital asset file based on the asset summary information and the determined validation rules; and sending a subsequent validation response in accordance with the validating of the at least one digital asset file.


According to one embodiment, a computer readable medium including at least computer program code stored thereon for validating a digital submission to a server computer via a data network is disclosed. The digital submission can include at least a metadata file and at least one digital asset file. The computer readable medium can, for example, include at least: computer program code for receiving an asset validation submission including at least the metadata file and asset summary information for the at least one digital asset file; computer program code for determining validation rules to be used in validating the at least one digital asset file; computer program code for validating the at least one digital asset file based on the asset summary information and the determined validation rules; and computer program code for sending a validation response based on the validating of the at least one digital asset file by the computer program code for validating the at least one digital asset file.


According to one embodiment, a method for submitting a digital asset package to a network-based server computer for validation is disclosed. The method can, for example, include at least the operations of: forming a digital asset package including at least a metadata file and digital asset files; sending an initial validation submission including the metadata file to the server computer; receiving an initial validation response from the server computer, where the initial validation response includes at least a list of at least one digital asset file that is to be described; producing at least one summary file for the at least one digital asset file that is to be described; sending a subsequent validation submission including the at least one summary file to the server computer; receiving a subsequent validation response from the submission server, the subsequent validation response including an indication of whether at least the at least one digital asset file has been successfully validated; and thereafter submitting the digital asset package to the server computer if the subsequent validation response indicates that at least the at least one digital asset file has been successfully validated.


According to one embodiment, a computer readable medium including at least computer program code stored thereon for submitting a digital asset package to a network-based server computer for validation is disclosed. The computer readable medium can, for example, includes at least: computer program code for forming a digital asset package including at least a metadata file and digital asset files; computer program code for producing at least asset summary information for at least one of the digital asset files of the digital asset package; computer program code for sending an asset validation submission including the asset summary information to the server computer; computer program code for receiving an asset validation response from the submission server, wherein the asset validation response includes an indication of whether at least the at least one digital asset file has been successfully validated at the server computer based on the asset summary information; and computer program code for submitting the digital asset package to the server computer if the asset validation response indicates that at least the at least one digital asset file has been successfully validated.


As a media system, one embodiment can include at least a digital package submission subsystem configured to submit a digital asset package, and a digital package reception subsystem configured receive and process to the digital asset package that has been submitted. The digital package submission subsystem and the digital package reception system can be connected via a computer data network. The digital package submission subsystem can be configured to at least: form a digital asset package including at least a metadata file and digital asset files, produce at least asset summary information for at least one of the digital asset files of the digital asset package, send an asset validation submission including the asset summary information to the digital package reception subsystem, and receive an asset validation response from the digital package reception subsystem. The asset validation response can include an indication of whether at least the at least one digital asset file has been successfully validated at the digital package reception subsystem based on the asset summary information. Additionally, the digital package submission subsystem can be configured to submit the digital asset package to the server computer if the asset validation response indicates that at least the at least one digital asset file has been successfully validated. The digital package reception subsystem is configured to at least: receive an asset validation submission including at least the metadata file and the asset summary information for the at least one digital asset file, determine validation rules to be used in validating the at least one digital asset file, validate the at least one digital asset file based on the asset summary information and the determined validation rules, and send a validation response in accordance with the validating of the at least one digital asset file by the computer program code for validating the at least one digital asset file.


Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like elements, and in which:



FIG. 1 is a block diagram of a digital asset submission and distribution system according to one embodiment of the invention.



FIG. 2 is a flow diagram of a client validation process according to one embodiment of the invention.



FIG. 3 is a flow diagram of a server validation process according to one embodiment of the invention.



FIGS. 4A and 4B are flow diagrams of a client submission process according to one embodiment of the invention.



FIGS. 5A-5C are flow diagrams of a server submission process according to one embodiment of the invention.





DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

A system and method for submission of digital assets to a digital asset submission system are disclosed. The digital asset submission system can manage submissions of digital assets to a network-based distribution system. Submission of digital assets to the digital asset submission system can be performed over a network in a controlled manner such that the digital assets can be validated prior to transmission of the digital assets to the digital asset submission system. Advantageously, digital assets to be submitted for distribution can be substantially validated before the digital assets are transmitted to the digital asset submission system. In one embodiment, a client computing device can initially provide a summary for one or more digital assets to be submitted. Then, a digital asset submission system can validate the one or more digital assets based on the summary and validation rules. If the digital asset submission system successfully validates the one or more digital assets, final submission (e.g., transmission) of the digital assets to the digital asset submission system is thereafter able to be performed. On the other hand, if the digital asset submission system does not successfully validate the one or more digital assets, final submission of the digital assets to the digital asset submission system is not performed.


Embodiments of various aspects of the invention are discussed below with reference to FIGS. 1-5C. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments.



FIG. 1 is a block diagram of a digital asset submission and distribution system 100 according to one embodiment of the invention. The digital asset submission and distribution system 100 includes a digital asset distribution site 102. The digital asset distribution site 102 provides an online access point for distribution of various digital assets. For example, the digital asset distribution site 102 can be referred to as an online store. A digital asset submission and management system 104 operates to receive submissions of digital assets from various digital asset submitters. The digital asset submission and management system 104 can process submission of digital assets and authorize distribution of approved digital assets. The digital assets can be stored in a digital asset storage device 106. In one embodiment, the digital asset storage device 106 includes a mass data store and one or more databases. The digital asset storage device 106 provides mass storage of the numerous digital assets that are available for distribution (e.g., purchase or rental). For example, digital assets that have been purchased can be accessed from the digital asset storage device 106 over a data network 108 by way of the digital asset distribution site 102. Examples of digital assets include digital media assets (e.g., media items) or computer program products. Digital media assets can pertain to music (e.g., songs or albums) or video (e.g., movies or television shows). Computer program products can pertain to applications (or application programs), animations, or presentations.


The digital asset submission and distribution system 100 also includes a first client 110 and a second client 112. Typically, the digital asset submission and distribution system 100 would include a plurality of different clients 110, 112. The first client 110 includes a network access program 114. The second client 112 includes a digital asset submission program 116. Some clients can also include both the network access program 114 and the digital asset submission program 116. The network access program 114 is an application program (e.g., software application) that operates on the first client 110, which is a computing device. One example of a suitable network access program is a network browser (e.g., Microsoft Explorer or Safari). Another example of a suitable network access program is iTunes™ offered by Apple Inc. The first client 110 is coupled to the digital asset distribution site 102 through the data network 108. Hence, any of the first clients 110 can interact with the digital asset distribution site 102 to review, purchase and/or manage digital assets.


The digital asset submission program 116 is also an application program (e.g., software application) that operates on the second client 112, which is a computing device. The digital asset submission program 116 is used to submit digital assets to the digital asset submission and management system 104 for eventual distribution by the media distribution site 102. Although the network access program 114 and the digital asset submission program 116 are shown in FIG. 1 as separate programs, it should be understood that such programs can be integrated into a single program or reside on the same client machine.


In the digital asset submission and distribution system 100 shown in FIG. 1, the digital assets are submitted to the digital asset submission and management system 104 by way of the digital asset submission program 116. The digital assets that have been submitted (e.g., via the second client 112 are processed and then stored in the digital asset storage device 106. Thereafter, the stored digital assets are available to be purchased from the digital asset distribution site 102. Upon purchasing a particular digital asset, the digital asset distribution site 102 permits the digital data for the particular digital asset to be retrieved from the digital asset storage device 106 and then delivered (e.g., downloaded) from the digital asset distribution site 102 to the requesting client 110 through the data network 108. In this regard, the digital asset distribution site 102 or some other delivery server (not shown) obtains the digital data corresponding to the particular digital asset from the digital asset storage device 106 and downloads such digital data through the data network 108 to the client 110. The downloaded digital data can then be stored on the client 110. In one embodiment, the downloaded digital data is encrypted as received at the client 110 but is decrypted and then perhaps re-encrypted before persistently stored on the client 110. Thereafter, the client 110 can utilize (e.g., execute) the digital data of the digital asset at the client 110.


The digital asset submission and distribution system 100 allows a user of the client 110 to utilize the network access program 114 to browse, search or sort through a plurality of digital assets that can be purchased from the digital asset distribution site 102. The network access program 114 may also allow the user to preview or demo some or all of a digital asset. In the event that the user of the network access program 114 desires to purchase a particular digital asset, the user (via the network access program 114) and the digital asset distribution site 102 can engage in an online commerce transaction in which the user pays for access rights to the particular digital asset.


The submission and purchase of the digital assets can be achieved over the data network 108. In other words, the submission and purchase of the digital assets can be achieved online. The purchase of media items online can also be referred to as electronic commerce (e-commerce). In one embodiment, the data network 108 includes at least a portion of the Internet. The clients 110, 112 can vary with application but generally are computing devices that have memory storage. Often, the clients 110, 112 are personal computers or other computing devices that are capable of storing and presenting media to their users. In one embodiment, the connections through the data network 108 between the digital asset distribution site 102 and the clients 110, 112 can be through secure connections, such as Secure Sockets Layer (SSL).


Although the digital asset distribution site 102, the digital asset submission and management system 104 and the digital asset storage device 106 are shown in FIG. 1 as being separate components, it should be understood that any of these components can be combined into one or more apparatus. For example, the digital asset submission and management system 104 can be incorporated into the digital asset distribution site 102. As another example, the digital asset storage device 106 can be incorporated into the digital asset distribution site 102 or the digital asset submission and management system 104.


The client (or client device) can, for example, be a computing device. Examples of a computing device include a personal computer (e.g., desktop computer, notebook computer or netbook computer), or a portable handheld electronic device (e.g., Portable Digital Assistant (PDA), multi-function mobile telephone).



FIG. 2 is a flow diagram of a client validation process 200 according to one embodiment of the invention. The client validation process 200 can, for example, be performed by a computing device, such as the client 112 illustrated in FIG. 1. As an example, the client validation process 200 can be performed by the digital asset submission program 116 operating on the client 112.


The client validation process 200 can form 202 a digital asset package including at least a metadata file and digital asset files. Typically, a user of the computing device can participate in forming the digital asset package by providing metadata and identifying digital assets to be included. To facilitate validation of the digital asset files, at least one summary file for at least one of the digital asset files can be produced 204. Next, an asset validation submission can be sent 206 to a server computer for validation. Here, the asset validation submission that is sent 206 includes the at least one summary file that has been produced 204 for the at least one of the digital asset files.


After the asset validation submission has been sent 206, a decision 208 can determine whether an asset validation response has been received. The server computer can process the asset validation submission and provide an asset validation response. When the decision 208 determines that an asset validation response has not yet been received, the client validation process 200 can await such a response.


Once the decision 208 determines that an asset validation response has been received, a decision 210 can determine whether validation has been successful. In other words, the asset validation response can include an indication of whether or not the validation of the at least one digital asset file within the digital asset package has been successful. When the decision 210 determines that such validation has been successful, the digital asset package may be submitted 212 to the server computer, thereby formally submitting the digital asset package. The formal (or full) submission typically includes the entire digital asset packing such as including the metadata file as well as the digital asset files. On the other hand, when the decision 210 determines that such validation has not been successful, submission of the digital asset package can be denied 214. Following the blocks 212 and 214, the client validation process 200 can end.



FIG. 3 is a flow diagram of a server validation process 300 according to one embodiment of the invention. The server validation process 300 can, for example, be performed by a server computer, such as the digital asset submission and management system 104 illustrated in FIG. 1 or some other server computer. The server validation process 300 can represent counterpart processing to the client validation process 200 illustrated in FIG. 2.


The server validation process 300 can begin with a decision 302 that determines whether an asset validation submission has been received. Here, the decision 302 determines whether the server computer has received an asset validation submission from a client computing device (e.g., the client device). When the decision 302 determines that an asset validation submission has not been received, the server validation process 300 awaits such a submission. In other words, the server validation process 300 can be deemed invoked when an asset validation submission has been received at the server computer.


In any case, when the decision 302 determines that an asset validation submission has been received, validation rules to be used can be determined 304. Additionally, one or more digital asset files can be validated 306 based on one or more summary files and the determined validation rules. The asset validation submission includes one or more summary files that are used to validate 306 the corresponding one or more digital asset file. After the one or more digital asset files have been validated 306, a validation response can be sent 308 to the client computing device that provided the asset validation submission.



FIGS. 4A and 4B are flow diagrams of a client submission process 400 according to one embodiment of the invention. The client submission process 400 is, for example, performed by a client computing device, such as the client 112 illustrated in FIG. 1.


The client submission process 400 can initially provide 402 a digital asset package that includes at least a metadata file and digital asset files. The digital asset package can be formed at the client computing device or can be formed elsewhere and uploaded to the client computing device. Although the metadata can vary depending on the type of digital media asset, the metadata within the metadata file can, for example, include one or more of: a digital asset type, digital asset title/name, digital asset identifier, a production company, copyright information, release date, supported device type indication, genre indication, version number, artist(s)/actor(s) identifiers, sales start date, file name(s), support information, license agreement information, etc. The digital asset files can, for example, pertain to digital media assets (e.g., media items) or computer program products (e.g., application programs). In forming the digital asset package, one or more digital electronic files can be uploaded to the client computing device.


An initial validation submission with the metadata file can be sent 404 to a submission server. The submission server is a computing device that is utilized to process the validation submission. After the initial validation submission has been sent 404, a decision 406 can determine whether an initial validation response has been received from the submission server. When the decision 406 determines that an initial validation response has not been received, a decision 408 can determine whether the client submission process 400 should quit or end. When the decision 408 determines that the client submission process should quit or end, then the client submission process 400 can end. Alternatively, when the decision 408 determines that the client submission process 400 should not quit or end, the client submission process 400 returns to repeat the decision 406 to await the receipt of an initial validation response.


Once the decision 406 determines that an initial validation response has been received, a decision 410 can determine whether any digital asset files associated with the digital asset package are to be described. For example, the determination can be based on the metadata and/or file extensions for the digital asset files. In one embodiment, the initial validation response provides a list of one or more digital asset files that are to be described at the client computing device for purposes of further validation. When the decision 410 determines that one or more digital asset files are to be described, the one or more digital asset files are then examined 412 to produce one or more summary files. In one embodiment, a single summary file can be utilized to summarize one or more digital asset files. In another embodiment, separate summary files are produced for each of the one or more digital asset files being summarized. The summary files contain information regarding header or content portions of the digital asset files as obtained through examination of such digital asset files. The one or more summary files can be markup language files.


Next, a subsequent validation submission with metadata and one or more summary files can be sent 414 to the submission server. Here, additional validation is being performed or requested with respect to one or more digital asset files of the digital asset package. However, it should be recognized that the digital asset files are not, at this time, being sent to the submission server. Instead, the one or more summary files are provided to the submission server for use in performing validation of the one or more digital asset files.


Next, a decision 416 determines whether a subsequent validation response has been received from the submission server. When the decision 416 determines that a subsequent validation response has not been received, a decision 418 determines whether the client submission process 400 should quit or end. When the decision 418 determines that the client submission process 400 should quit or end, the client submission process 400 can end. On the other hand, when the decision 418 determines that the client submission process 400 should not quit or end, the processing returns to repeat the decision 416 so as to wait a subsequent validation response.


Once the decision 416 determines that a subsequent validation response has been received, a decision 420 can determine whether the subsequent validation response indicates any errors or warnings with respect to the validation of the one or more digital asset files within the digital asset package (namely, those digital asset files that were summarized by a summary file). When the decision 420 determines that there are errors or warnings specified by the subsequent validation response, the errors or warnings can be displayed 422. Here, the errors or warnings can be displayed 422 on a display device associated with the client computing device. Alternatively, when the decision 420 determines that there are no errors or warnings specified by the subsequent validation response, the block 422 can be bypassed.


Following the block 422 or its being bypassed, a decision 420 can determine whether there are any errors present. Specifically, the decision 424 can determine whether the subsequent validation response specifies any errors, namely, validation errors. When the decision 424 determines that there are errors present, the submission of the digital asset package can be denied 426. Alternatively, when the decision 424 determines that there are no errors present, the digital asset package can be submitted 428 to the submission server. At this time, the digital asset package can be transmitted from the client computing device to the submission server over one or more networks. The digital asset package being submitted includes not only the metadata file but also the one or more digital asset files included within the digital asset package. In this case, prior processing has provide for validation of metadata (initial validation) as well as for validation of digital assets (subsequent validation). As such, the digital asset package is only submitted 428 after significant validation has been successfully performed. Following the blocks 426 and 428, the client submission process 400 can end.



FIGS. 5A-5C are flow diagrams of a server submission process 500 according to one embodiment of the invention. The server submission process 500 can, for example, be performed by a server computer, such as the digital asset submission and management system 104 illustrated in FIG. 1 or some other server computer. The server submission process 500 can represent counterpart processing to the client submission process 400 illustrated in FIGS. 4A and 4B.


The server submission process 500 can begin with a decision 502 that determines whether an initial validation submission has been received. When the decision 502 determines that an initial validation submission has been received (such as from a client computing device), initial validation can be performed at the server computer. Specifically, metadata submitted with the initial validation submission can be validated 504. In addition, one or more digital asset files identified in the metadata that are to be further validated can be determined 506. Here, the server computer can analyze the metadata to decide and identify one or more digital asset files identified therein for which further validation is to be performed. Then, an initial validation response including a list of the determined digital asset files to be further validated can be sent 508 to the client computing device. Further, in the event that in the decision 502 determines that an initial validation submission has not been received, the blocks 504-508 can be bypassed since there is no initial validation to be performed.


Following the block 508 or its being bypassed, a decision 510 can determine whether a subsequent validation submission has been received. Here, the server computer can determine whether a subsequent validation submission has been received from a client computing device. When the decision 510 determines that a subsequent validation submission has been received, the subsequent validation processing can be performed at the server computer. Specifically, validation rules to be used can be determined 512. The validation rules can be determined based on various criteria. For example, the validation rules can be determined 512 based on a type of digital asset to be validated. As another example, the validation rules can be determined 512 based on the submitter of the one or more digital assets. In other words, the validation rules are determined 512 at the server computer but the validation rules can be dependent on one or more criteria, such as type of digital asset, type of submission, particular submitter, and/or type of submitter. Next, the one or more digital asset files can be validated 514 based on the one or more summary files and the determine validation rules. Here, using the determined validation rules, the one or more summary files can be analyzed to determine whether the one or more associated digital asset files can be validated 514. A decision 516 can then determine whether there are any errors or warnings as a result of the validation 514. When the decision 516 determines that there are errors or warnings, a subsequent validation response can be formed 520 including the errors or warnings. Alternatively, when the decision 516 determines that the validation 514 does not result in any errors or warnings, a subsequent validation response can be formed 518 without errors or warnings. Following the blocks 518 and 520, a subsequent validation response can be sent 522 to the client computing device. Further, in the event that the decision 510 determines that a subsequent validation submission has not been received, the blocks 512-522 can be bypassed.


Following the block 522 or its being bypassed, a decision 524 can determine whether a validated submission has been received. When the decision 524 determines that a validated submission has been received, a decision 526 can determine whether the submission has been successfully validated. Here, the submission being received from the client computing device is the submission of the digital asset package. In order for the submission of the digital asset package to be considered, the digital asset package must have been properly validated. In order for the digital asset package to be considered properly validated, the digital asset package must have successfully passed the initial validation as well as the subsequent validation. As noted above, the initial validation primarily concerns validation of the metadata, while the subsequent validation primarily concerns validation of the one and more digital asset files. When the decision 526 determines that the digital asset package being submitted has not been successfully validated, the submission is declined 528. On the other hand, when the decision 526 determines that the digital asset package being submitted has been successfully validated, the submission is accepted 530. Accordingly, the server submission process 500 only permits submission of digital asset packages that have been successfully validated. Following the blocks 528 and 530, as well as following the decision 524 when it is determined that a validated submission has not been received, the server submission process 500 can return to repeat the decision 502 so that additional submissions can be processed in a similar manner.


This application also references and/or incorporates: (1) U.S. patent application Ser. No. 11/712,304, filed Feb. 27, 2007, and entitled “Submission Of Metadata Content And Media Content To A Media Distribution System”, which is hereby incorporated herein by reference; (2) U.S. patent application Ser. No. 11/712,303, filed Feb. 27, 2007, and entitled “Processing Of Metadata Content And Media Content Received By A Media Distribution System”, which is hereby incorporated herein by reference; and (3) U.S. patent application Ser. No. 12/538,050, filed Aug. 7, 2009, and entitled “Automatic Transport Discovery for Media Submission”, which is hereby incorporated herein by reference.


The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations.


Embodiments of the invention can, for example, be implemented by software, hardware, or a combination of hardware and software. Embodiments of the invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium generally include read-only memory and random-access memory. More specific examples of computer readable medium are tangible and include Flash memory, EEPROM memory, memory card, CD-ROM, DVD, hard drive, magnetic tape, and optical data storage device. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.


The many features and advantages of the present invention are apparent from the written description. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.

Claims
  • 1. A method for validating a digital asset package via at least one server computer, the digital asset package including at least a metadata file and one or more digital asset files, the method comprising: receiving, from a client device, an initial validation submission including the metadata file;validating metadata within the metadata file;determining at least one digital asset file identified in the metadata to be validated;sending, to the client device, an initial validation response including at least a list of the at least one digital asset file that is to be validated;receiving, from the client device, a subsequent validation submission including the metadata file and an asset summary file for the at least one digital asset file identified in the list, the subsequent validation submission not including the at least one digital asset file, the asset summary file being different from the at least one digital asset file and from the metadata file but including data pertaining to digital data residing in one or both of a header portion or a data portion of the at least one digital asset file;determining validation rules to be used in validating the at least one digital asset file;validating the at least one digital asset file based on the asset summary file and the determined validation rules; andsending, to the client device, a subsequent validation response in accordance with the validating of the at least one digital asset file.
  • 2. A method as recited in claim 1, wherein the list included in the initial validation response identifies a plurality of digital asset files, and wherein the metadata in the metadata file is descriptive of each of the plurality of digital asset files.
  • 3. A method as recited in claim 2, wherein the determining of the validation rules comprises: determining an asset type for each of the plurality of digital asset files; anddetermining a different validation rule set for each of the asset types.
  • 4. A method as recited in claim 3, wherein the validating of the at least one digital asset file validates each of the plurality of digital asset files using the validation rules appropriate for the corresponding asset type of the digital asset files.
  • 5. A method as recited in claim 1, wherein the subsequent validation response includes an indication of at least one error or warning with respect to the validation of the at least one digital asset file.
  • 6. A method as recited in claim 1, wherein the determining of the at least one digital asset file identified in the metadata to be validated comprises: examining the metadata to identify the at least one digital asset file; anddetermining the at least one digital asset file identified in the metadata based on the examining of the metadata.
  • 7. A method as recited in claim 1, wherein the determining of the at least one digital asset file is based on the metadata and on a file extension for the at least one digital asset file.
  • 8. A method as recited in claim 1, wherein the at least one the digital asset file is a media asset file.
  • 9. A method as recited in claim 1, wherein the method further comprises: accepting submission, from the client device, of the digital submission if the validating successfully validates the metadata as well as the at least one digital asset file.
  • 10. A method as recited in claim 1, wherein submission of the digital asset package undergoes (i) validation of the metadata following the initial validation submission and then (ii) validation of the at least one digital asset file following the subsequent validation submission.
  • 11. A method as recited in claim 1, wherein the list included in the initial validation response identifies a plurality of digital asset files, wherein the metadata in the metadata file is descriptive of each of the plurality of digital asset files,wherein the determining of the validation rules comprises: determining an asset type for each of the plurality of digital asset files; anddetermining a different validation rule set for each of the asset types, andwherein the validating of the at least one digital asset file validates each of the plurality of digital asset files using the validation rules appropriate for the corresponding asset type of the digital asset files.
  • 12. A method as recited in claim 11, wherein the method further comprises: accepting submission, from the client device, of the digital submission if the validating successfully validates the metadata as well as the at least one digital asset file.
  • 13. A non-transitory computer readable medium including at least computer program code stored thereon for validating a digital submission to at least one server computer via a data network, the digital submission including at least a metadata file and at least one digital asset file, the non-transitory computer readable medium comprising: computer program code for receiving a metadata validation submission including the metadata file;computer program code for validating metadata within the metadata file;computer program code for determining the at least one digital asset file identified in the metadata to be validated;computer program code for sending a metadata validation response including at least a list of the at least one digital asset file that is to be validated;computer program code for subsequently receiving an asset validation submission including the metadata file and an asset summary file for the at least one digital asset file, the asset validation submission not including the at least one digital asset file, the asset summary file being different from the at least one digital asset file but including data pertaining to digital data residing in one or both of a header portion or a data portion of the at least one digital asset file;computer program code for determining validation rules to be used in validating the at least one digital asset file;computer program code for validating the at least one digital asset file based on the asset summary file and the determined validation rules; andcomputer program code for sending a validation response based on the validating of the at least one digital asset file by the computer program code for validating the at least one digital asset file.
  • 14. A non-transitory computer readable medium as recited in claim 13, wherein the non-transitory computer readable medium further comprises: computer program code for accepting submission, from the client device, of the digital submission if the computer program code for validating successfully validates the at least one digital asset file.
  • 15. A method for submitting a digital asset package to a network-based server computer for validation, the method comprising: forming a digital asset package including at least a metadata file and digital asset files, each of the digital asset files including at least a header portion and a data portion;sending an initial validation submission including the metadata file to the server computer;receiving an initial validation response from the server computer, the initial validation response including at least a list of at least one digital asset file that is to be described;producing at least one summary file for the at least one digital asset file that is to be described, the at least one summary file being distinct from the at least one digital asset file and the producing of the at least one summary file including examining digital data residing in the header portion and the data portion of the at least one digital asset file;sending a subsequent validation submission including the at least one summary file to the server computer, the subsequent validation submission not including the at least one digital asset file;receiving a subsequent validation response from the server computer, the subsequent validation response including an indication of whether at least the at least one digital asset file has been successfully validated; andthereafter submitting the digital asset package to the server computer if the subsequent validation response indicates that at least the at least one digital asset file has been successfully validated.
  • 16. A method as recited in claim 15, wherein the producing of the at least one summary file includes examining digital data within the at least one digital asset file.
  • 17. A method as recited in claim 15, wherein the at least one summary file is a markup language file.
  • 18. A method as recited in claim 15, wherein the initial validation response includes at least a list of a plurality of digital asset files to be described, andwherein the producing produces a separate summary file for each of the plurality of digital assets.
  • 19. A method as recited in claim 15, wherein the submitting of the digital asset package to the server computer causes (i) validation of the metadata following the initial validation submission and then (ii) validation of the at least one digital asset file following the subsequent validation submission.
  • 20. A method as recited in claim 15, wherein the digital asset package including at least one digital asset file.
  • 21. A non-transitory computer readable medium including at least computer program code stored thereon for submitting a digital asset package to a network-based server computer for validation, the non-transitory computer readable medium comprising: computer program code for forming a digital asset package including a metadata file and digital asset files, each of the digital asset files including at least a header portion and a data portion;computer program code for sending a metadata validation submission including at least a list of the digital asset files that are to be validated;computer program code for producing at least asset summary file for at least one of the digital asset files of the digital asset package, the at least one summary file being different from the at least one digital asset file, and the at least one asset summary file being produced using computer program code for examining digital data residing in one or both of the header portion or the data portion of the at least one digital asset file;computer program code for sending a subsequent asset validation submission including the asset summary file to the server computer, the asset validation submission not including the at least one digital asset file;computer program code for receiving an asset validation response from the server computer, the asset validation response including an indication of whether at least the at least one digital asset file has been successfully validated at the server computer based on the asset summary file; andcomputer program code for submitting the digital asset package to the server computer if the asset validation response indicates that at least the at least one digital asset file has been successfully validated.
  • 22. A media system, comprising: a digital package submission subsystem configured to submit a digital asset package; anda digital package reception subsystem configured receive and process to the digital asset package that has been submitted,wherein the digital package submission subsystem and the digital package reception system are operatively connectable via a computer data network,wherein the digital package submission subsystem includes at least one computing device having a processor and memory and is configured to at least: form a digital asset package including a metadata file and digital asset files, each of the digital asset files including at least a header portion and a data portion;sending a metadata validation submission including at least a list of the digital asset files that are to be validated;produce at least asset summary file for at least one of the digital asset files of the digital asset package, the at least asset summary file being different from the at least one digital asset file and the producing of the at least asset summary file including examining digital data residing in the header portion and the data portion of the at least one digital asset file;send a subsequent asset validation submission including the asset summary file to the digital package reception subsystem, the asset validation submission not including the at least one digital asset file;receive an asset validation response from the digital package reception subsystem, the asset validation response including an indication of whether at least the at least one digital asset file has been successfully validated at the digital package reception subsystem based on the asset summary file; andsubmit the digital asset package to the server computer if the asset validation response indicates that at least the at least one digital asset file has been successfully validated, andwherein the digital package reception subsystem includes at least one computing device and is configured to at least: receiving a metadata validation submission including the metadata file;validating metadata within the metadata file;determining the at least one digital asset file identified in the metadata to be validated;sending a metadata validation response including at least a list of the at least one digital asset file that is to be validated;subsequently receive an asset validation submission including at least the metadata file and the asset summary file for the at least one digital asset file;determine validation rules to be used in validating the at least one digital asset file;validate the at least one digital asset file based on the asset summary file and the determined validation rules; andsend a validation response in accordance with the validating of the at least one digital asset file by the computer program code for validating the at least one digital asset file.
US Referenced Citations (207)
Number Name Date Kind
4750119 Cohen et al. Jun 1988 A
5253165 Leiseca et al. Oct 1993 A
5410598 Shear Apr 1995 A
5535383 Gower Jul 1996 A
5627973 Armstrong et al. May 1997 A
5752128 Yamashita May 1998 A
5765152 Erickson Jun 1998 A
5884280 Yoshioka et al. Mar 1999 A
5943422 Van Wie et al. Aug 1999 A
6067531 Hoyt et al. May 2000 A
6085253 Blackwell et al. Jul 2000 A
6151643 Cheng Nov 2000 A
6226618 Downs et al. May 2001 B1
6233682 Fritsch May 2001 B1
6263313 Milsted Jul 2001 B1
6275954 Herman et al. Aug 2001 B1
6330670 England et al. Dec 2001 B1
6338044 Cook et al. Jan 2002 B1
6341353 Herman et al. Jan 2002 B1
6345256 Milsted et al. Feb 2002 B1
6363486 Knapton Mar 2002 B1
6363488 Ginter et al. Mar 2002 B1
6385596 Wiser et al. May 2002 B1
6389592 Ayres et al. May 2002 B1
6546555 Hjelsvold et al. Apr 2003 B1
6549922 Srivastava et al. Apr 2003 B1
6587837 Spagna et al. Jul 2003 B1
6591420 McPherson et al. Jul 2003 B1
6658476 Van Dec 2003 B1
6691149 Yokota et al. Feb 2004 B1
6731312 Robbin May 2004 B2
6754895 Bartel et al. Jun 2004 B1
6873992 Thomas Mar 2005 B1
6874003 Morohashi Mar 2005 B2
6910049 Fenton et al. Jun 2005 B2
6938005 Iverson et al. Aug 2005 B2
7073193 Marsh Jul 2006 B2
7076445 Cartwright Jul 2006 B1
7209892 Galuten et al. Apr 2007 B1
7275243 Gibbons et al. Sep 2007 B2
7292980 August et al. Nov 2007 B1
7308413 Tota et al. Dec 2007 B1
7383233 Singh et al. Jun 2008 B1
7624046 Galuten et al. Nov 2009 B2
7685512 Hanson et al. Mar 2010 B2
7729946 Chu Jun 2010 B2
7739256 Powell Jun 2010 B2
7756920 Muller et al. Jul 2010 B2
7827162 Suitts et al. Nov 2010 B2
7844548 Robbin et al. Nov 2010 B2
7860830 Mirrashidi et al. Dec 2010 B2
7962634 Cortes et al. Jun 2011 B2
8015237 Muller et al. Sep 2011 B2
20010021926 Schneck et al. Sep 2001 A1
20010037207 Dejaeger Nov 2001 A1
20010044786 Ishibashi Nov 2001 A1
20010054046 Mikhailov et al. Dec 2001 A1
20020002541 Williams Jan 2002 A1
20020004824 Cuan et al. Jan 2002 A1
20020032658 Oki et al. Mar 2002 A1
20020047899 Son et al. Apr 2002 A1
20020049844 Nishikawa Apr 2002 A1
20020073177 Clark et al. Jun 2002 A1
20020077986 Kobata et al. Jun 2002 A1
20020078211 Natarajan et al. Jun 2002 A1
20020082857 Skordin et al. Jun 2002 A1
20020087440 Blair et al. Jul 2002 A1
20020091584 Clark et al. Jul 2002 A1
20020099661 Kii et al. Jul 2002 A1
20020099696 Prince Jul 2002 A1
20020099801 Ishii Jul 2002 A1
20020107803 Lisanke et al. Aug 2002 A1
20020112171 Ginter et al. Aug 2002 A1
20020116293 Lao et al. Aug 2002 A1
20020124182 Bacso et al. Sep 2002 A1
20020143612 Barik et al. Oct 2002 A1
20020143782 Headings et al. Oct 2002 A1
20020152267 Lennon Oct 2002 A1
20020152278 Pontenzone et al. Oct 2002 A1
20020165811 Ishii et al. Nov 2002 A1
20020186844 Levy et al. Dec 2002 A1
20020198843 Wang et al. Dec 2002 A1
20030005173 Shah et al. Jan 2003 A1
20030033162 Houssiaux et al. Feb 2003 A1
20030037242 Yasuna et al. Feb 2003 A1
20030065717 Saito et al. Apr 2003 A1
20030074465 Tang et al. Apr 2003 A1
20030115144 Stefik et al. Jun 2003 A1
20030120593 Bansai et al. Jun 2003 A1
20030120928 Cato et al. Jun 2003 A1
20030135424 Davis et al. Jul 2003 A1
20030149742 Bollerud Aug 2003 A1
20030182188 Duchow Sep 2003 A1
20030208473 Lennon et al. Nov 2003 A1
20030236886 Oren et al. Dec 2003 A1
20040012618 Finney Jan 2004 A1
20040015427 Camelio Jan 2004 A1
20040015445 Heaven Jan 2004 A1
20040034601 Kreuzer Feb 2004 A1
20040039754 Harple Feb 2004 A1
20040044949 Rowe Mar 2004 A1
20040059929 Rodgers et al. Mar 2004 A1
20040133605 Chang et al. Jul 2004 A1
20040136698 Mock et al. Jul 2004 A1
20040143760 Alkove et al. Jul 2004 A1
20040148598 Kita et al. Jul 2004 A1
20040153968 Ching et al. Aug 2004 A1
20040167858 Erickson Aug 2004 A1
20040181459 Wright Sep 2004 A1
20040205028 Verosub et al. Oct 2004 A1
20040210481 Quinlan et al. Oct 2004 A1
20040215733 Gondhalekar et al. Oct 2004 A1
20040254883 Kondrk et al. Dec 2004 A1
20040254949 Amirthalingam Dec 2004 A1
20040267552 Gilliam et al. Dec 2004 A1
20040267608 Mansfield, Jr. Dec 2004 A1
20040268451 Robbin et al. Dec 2004 A1
20050015765 Covell et al. Jan 2005 A1
20050021478 Gautier et al. Jan 2005 A1
20050034164 Sano et al. Feb 2005 A1
20050038813 Apparao et al. Feb 2005 A1
20050050218 Sheldon et al. Mar 2005 A1
20050050345 Dowdy et al. Mar 2005 A1
20050071418 Kjellberg et al. Mar 2005 A1
20050080743 Ostrover et al. Apr 2005 A1
20050080788 Murata Apr 2005 A1
20050144635 Boortz Jun 2005 A1
20050165656 Frederick et al. Jul 2005 A1
20050182792 Israel et al. Aug 2005 A1
20050197946 Williams et al. Sep 2005 A1
20050216472 Leon et al. Sep 2005 A1
20050240529 Thomas Oct 2005 A1
20050246159 Perla et al. Nov 2005 A1
20050267894 Camahan Dec 2005 A1
20050278375 Mitchko et al. Dec 2005 A1
20050283394 McGloin et al. Dec 2005 A1
20060008256 Khedouri et al. Jan 2006 A1
20060015489 Probst et al. Jan 2006 A1
20060041748 Lockhart et al. Feb 2006 A1
20060048132 Chen et al. Mar 2006 A1
20060062426 Levy et al. Mar 2006 A1
20060074754 Toyohara et al. Apr 2006 A1
20060107046 Raley et al. May 2006 A1
20060112101 Young May 2006 A1
20060143264 Payne Jun 2006 A1
20060161604 Lobo Jul 2006 A1
20060167751 Maruyama Jul 2006 A1
20060167816 Wang et al. Jul 2006 A1
20060212722 Ginter et al. Sep 2006 A1
20060229929 Hughes Oct 2006 A1
20060242640 Pauly Oct 2006 A1
20060272026 Niwano et al. Nov 2006 A1
20060277096 Levitus Dec 2006 A1
20060287966 Srinivasaraghavan et al. Dec 2006 A1
20070011156 Maron Jan 2007 A1
20070011178 Dumitru et al. Jan 2007 A1
20070011709 Katz et al. Jan 2007 A1
20070028269 Nezu et al. Feb 2007 A1
20070033531 Marsh Feb 2007 A1
20070050467 Borrett et al. Mar 2007 A1
20070073694 Picault et al. Mar 2007 A1
20070083471 Robbin et al. Apr 2007 A1
20070106522 Collins May 2007 A1
20070108274 Boardman et al. May 2007 A1
20070192352 Levy Aug 2007 A1
20070208670 Quoc Sep 2007 A1
20070220051 Brentano et al. Sep 2007 A1
20070261088 Phillips et al. Nov 2007 A1
20070265969 Horwat et al. Nov 2007 A1
20070266028 Muller et al. Nov 2007 A1
20070266047 Cortes et al. Nov 2007 A1
20080040379 Suitts et al. Feb 2008 A1
20080071614 Mebruer Mar 2008 A1
20080077850 Gauthier et al. Mar 2008 A1
20080120199 Pirnack et al. May 2008 A1
20080133594 Fotinatos et al. Jun 2008 A1
20080140493 DeAngelis Jun 2008 A1
20080140537 Powell Jun 2008 A1
20080147530 Kwan et al. Jun 2008 A1
20080147558 Kraus Jun 2008 A1
20080155552 Kim Jun 2008 A1
20080195651 Rachmiel et al. Aug 2008 A1
20080249946 Candelore Oct 2008 A1
20080288405 John Nov 2008 A1
20080301058 Campbell et al. Dec 2008 A1
20090037287 Baitalmel et al. Feb 2009 A1
20090063543 Martin et al. Mar 2009 A1
20090138117 Bagwell et al. May 2009 A1
20090198830 Zhang et al. Aug 2009 A1
20090240552 Yang Sep 2009 A1
20090259502 Erlewine et al. Oct 2009 A1
20090260060 Smith et al. Oct 2009 A1
20090276332 Gharabally et al. Nov 2009 A1
20090276333 Cortes et al. Nov 2009 A1
20090276433 Fosback et al. Nov 2009 A1
20090307201 Dunning et al. Dec 2009 A1
20090307682 Gharabally Dec 2009 A1
20090307683 Gharabally Dec 2009 A1
20100115443 Richstein May 2010 A1
20100205274 Gharabally et al. Aug 2010 A1
20100235254 Chu et al. Sep 2010 A1
20100235889 Chu et al. Sep 2010 A1
20100251099 Makower et al. Sep 2010 A1
20100299219 Cortes et al. Nov 2010 A1
20110023001 Giffel Jan 2011 A1
20110035579 Miura et al. Feb 2011 A1
20110060776 Suitts et al. Mar 2011 A1
Foreign Referenced Citations (7)
Number Date Country
1 684 223 Jul 2006 EP
2 230 620 Sep 2010 EP
WO 9704410 Feb 1997 WO
WO 9849644 Nov 1998 WO
WO 0008909 Feb 2000 WO
WO 0248920 Jun 2002 WO
WO 2004019182 Mar 2004 WO
Non-Patent Literature Citations (14)
Entry
“Liquifier Pro 4.0 for Windows™ User's Guide,” 1998, Liquid Audio, Inc.
Radified Guide to Ripping & Encoding CD Audio, http://mp3.radified.com, downloaded Oct. 7, 2003, pp. 1-5.
“Music Collector Features,” Collectorz.com music collector features, http://www.collectorz.com/music/features.php, downloaded Oct. 7, 2003, pp. 1-2.
“Gracenote CDDB,” Gracenote, product webpage, http://www.gracenote.com/gn—products/cddb.html, downloaded Oct. 7, 2003, pp. 1-2.
“Gracenote MusicID,” Gracenote, product webpage, http://www.gracenote.com/gn—products/music—id.html, downloaded Oct. 7, 2003, pp. 1-2.
“AVCataloger Overview,” NC Software, Inc. http://www.avcataloger.com/Products.aspx, downloaded Oct. 6, 2003, pp. 1-4.
Jyri Huopaniemi, “Music Encoding and Transmission,” CUIDAD meeting, ICMC '2000 Berlin, Aug. 28, 2000.
“Media Encoding FAQ,” Loudeye Corp., http://www.loudeye.com/digitalmedia/solutions/mediaenchost/encodingfaq.asp, downloaded Oct. 9, 2003, pp. 1-3.
“Media encoding datasheet,” Loudeye Corp., http://www.loudeye.com/digitalmedia/solutions/mediaenchost/encoding.asp, downloaded Oct. 9, 2003, pp. 1-4.
“Media hosting datasheet,” Loudeye Corp. http://www.loudeye.com/digitalmedia/solutions/mediaenchost/hosting.asp, downloaded Oct. 9, 2003, pp. 1-2.
“Preview and Convera Announce Availability of Digital Media Commerce Platform for Secure Digital Audio Devices,” Convera Press release, Las Vegas, NV, Consumer Electronics Show, Jan. 8, 2001, pp. 1-3.
Sonopress Global Network User Manual, Client Tools, Upload Data/Graphics Files to Sonopress, Sonopress, date unknown.
MPEG-7 Multimedia Description Schemes XM (Version 2.0), ISO/IEC, Mar. 2000, pp. 1-138.
“Digital Audio Best Practices Version 2.1”, by Digital Audio Working Group, Oct. 2006, http:/www.mndigital.org.digitizing/standards/audio.pdf.
Related Publications (1)
Number Date Country
20110060776 A1 Mar 2011 US