# Patent

## Title
Protection for multimedia files pre-downloaded to a mobile device

## Abstract

Embodiments of the disclosure relate generally to methods and systems for pre-downloading at least a portion of a media event to a mobile device and the protection of the media content once it is downloaded to the device. Media content may be pre-downloaded to a mobile device before the official release of the media event and/or before a user has purchased the media event. The pre-downloaded media may be protected by one or more disruption to the presentation of the media content and/or by storing the pre-downloaded media in a trusted security zone of a mobile device. After the media event is released and purchased, the remaining media may be downloaded and a user may gain access to the full media content on the mobile device.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
None.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
REFERENCE TO A MICROFICHE APPENDIX
Not applicable.
BACKGROUND
Electronic communications may carry a wide variety of content, for example media files, electronic mail, medical records, financial transactions, and other confidential information. The electronic communications may travel for some of the communication end-to-end path over unsecured communication links where the content may be subject to tampering or intrusion. A variety of security measures have been applied to provide increased security and to raise the level of difficulty for nefarious actors attempting to access the confidential information. Confidential information may include multimedia content which may be communication and stored on various devices.
SUMMARY
In an embodiment, a method for pre-downloading a portion of a media event to a mobile device is disclosed. The method comprises: predicting user preferences for purchasing a media event; and pre-downloading from a media provider a significant portion of the media event to a mobile device belonging to the user, wherein: at least a portion of the media event is embedded in an executable file, the pre-downloading is completed before the official release of the media event, and the content of the media event comprises one or more disruption to make the content one of degraded or unusable.
In an embodiment, a method for protecting a media event that is pre-downloaded to a mobile device is disclosed. The method comprises: pre-downloading a significant portion of a media event to a mobile device, wherein the content of the media event is embedded in an executable file; storing at least a portion of the executable file in a trusted security zone of the mobile device, wherein the content of the media event comprises one or more disruption to make the content one of degraded or unusable; downloading the remaining portion of the media content, after a purchase decision by the user and the release date of the media event; and downloading, with the remaining portion of the media content, one or more keys operable to remove the disruption of the pre-downloaded media content and allow user access to the remaining portion of the media content stored in the trusted security zone, wherein the keys are stored in the trusted security zone.
In an embodiment, a method for protecting a media event and associated files that are pre-downloaded to a mobile device is disclosed. The method comprises: pre-downloading a significant portion of a media event to a mobile device, wherein the content of the media event is embedded in an executable file; storing the executable file in a permissive sector of the mobile device, wherein the content of the media event comprises one or more disruption to make the content one of degraded or unusable; downloading the remaining portion of the media content, after a purchase decision by the user and the release date of the media event; and downloading, with the remaining portion of the media content, one or more keys operable to remove the disruption of the pre-downloaded media content and allow access to the remaining portion of the media content, wherein the keys are stored in the trusted security zone.
These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
FIG. 1 is an illustration of a communication system according to an embodiment of the disclosure;
FIG. 2 is a flow chart illustrating a method according to an embodiment of the disclosure;
FIG. 3 is a flow chart illustrating another method according to an embodiment of the disclosure;
FIG. 4 is an illustration of a mobile communication device according to an embodiment of the disclosure;
FIG. 5 is a block diagram of a mobile communication device according to an embodiment of the disclosure;
FIG. 6A is a block diagram of a software architecture of a mobile communication device according to an embodiment of the disclosure;
FIG. 6B is a block diagram of another software architecture of a mobile communication device according to an embodiment of the disclosure; and
FIG. 7 illustrates an exemplary computer system suitable for implementing the several embodiments of the disclosure.



DETAILED DESCRIPTION
It should be understood at the outset that although illustrative implementations of one or more embodiments are illustrated below, the disclosed systems and methods may be implemented using any number of techniques, whether currently known or not yet in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, but may be modified within the scope of the appended claims along with their full scope of equivalents.
Embodiments of the disclosure are directed to methods and systems for pre-downloading at least a portion of a media event to a mobile device and the protection of the media content once it is downloaded to the device. A media event may comprise a movie release, a song release, an album release, a video or computer game release, or other similar media releases, wherein the media content associated with the media event may not be available to users until a certain official release date, and, in some cases, the media event may be purchased before it can be accessed. It may be desired to pre-download a portion of the content of a media event to a device before the release date of the media and/or before a purchase decision is made by the user. The pre-download (especially to multiple devices) may reduce traffic in the network at the time of the official release of the media event, allowing downloads to occur more quickly, and thereby improving the user experience of the media event. Pre-downloading may comprise downloaded content to a device before the official release date of the media event, and may also comprise downloading an incomplete version of the content associated with a media event.
In some cases, pre-downloading may occur based on predicted preferences of users. For example, a user may create an account (or may be registered) with a media provider, wherein the purchases and/or searches completed by the user may be monitored to assess the preferences of the user. Additionally, the user may input preference information to be stored with their account. A user may also associate a device with their account or registration, wherein the capabilities of the device may be considered before a pre-download occurs. For example, the storage capacity (or open storage) of the device as well as capabilities of the media player(s) on the device may be evaluated.
The media content that is pre-downloaded to a device may comprise an executable file format, where the media content may be embedded in the executable file. An executable file may comprise executable instructions, where these instructions must be executed for the media content to play. In some cases, the executable instructions may employ one or more key to run and therefore allow access to the media content. In an embodiment, at least some of the instructions in the executable file may be trusted execution that are configured to be executed in a trusted security zone and/or in a trusted execution environment. Trusted security zone and trusted execution environment are constructs that are described further hereinafter.
Also, the media content may, in some cases, comprise one or more disruption that makes the media content unusable or degraded in some way. This may prevent access to the media content before it has been released and/or purchased. In some cases, a user may be notified that the media has been pre-downloaded to their device, implying that if the media was purchased, the user would have immediate access to at least a portion of the media event. Additionally, the media pre-downloaded to the device may comprise preview sections which may be accessed by the user before the official release of the media or the purchase of the media.
After the media is officially released and is purchased by a user, the remaining media content may be downloaded to the device from a media provider. Additionally, keys operable to allow access to the downloaded media may be downloaded as well. In some cases, the keys may be communicated to the mobile device from a media trusted service manager (TSM) where the media TSM receives instructions to release the keys from a media provider. In some cases, the keys and at least a portion of the downloaded media content may be stored in a trusted security zone on the device.
A trusted security zone provides chipsets with a hardware root of trust, a secure execution environment for applications, and secure access to peripherals. A hardware root of trust means the chipset should only execute programs intended by the device manufacturer or vendor and resists software and physical attacks, and therefore remains trusted to provide the intended level of security. The chipset architecture is designed to promote a programmable environment that allows the confidentiality and integrity of assets to be protected from specific attacks. Trusted security zone capabilities are becoming features in both wireless and fixed hardware architecture designs. Providing the trusted security zone in the main mobile device chipset and protecting the hardware root of trust removes the need for separate secure hardware to authenticate the device or user. To ensure the integrity of the applications requiring trusted data, such as a mobile financial services application, the trusted security zone also provides the secure execution environment where only trusted applications can operate, safe from attacks. Security is further promoted by restricting access of non-trusted applications to peripherals, such as data inputs and data outputs, while a trusted application is running in the secure execution environment. In an embodiment, the trusted security zone may be conceptualized as hardware assisted security.
A complete trusted execution environment (TEE) may be implemented through the use of the trusted security zone hardware and software architecture. The trusted execution environment is an execution environment that is parallel to the execution environment of the main mobile device operating system. The trusted execution environment and/or the trusted security zone may provide a base layer of functionality and/or utilities for use of applications that may execute in the trusted security zone. For example, in an embodiment, trust tokens may be generated by the base layer of functionality and/or utilities of the trusted execution environment and/or trusted security zone for use in trusted end-to-end communication links to document a continuity of trust of the communications. Through standardization of application programming interfaces (APIs), the trusted execution environment becomes a place to which scalable deployment of secure services can be targeted. A device which has a chipset that has a trusted execution environment on it may exist in a trusted services environment, where devices in the trusted services environment are trusted and protected against attacks. The trusted execution environment can be implemented on mobile phones and tablets as well as extending to other trusted devices such as personal computers, servers, sensors, medical devices, point-of-sale terminals, industrial automation, handheld terminals, automotive, etc.
The trusted security zone is implemented by partitioning all of the hardware and software resources of the mobile device into two partitions: a secure partition and a normal partition. The secure partition may be implemented by a first physical processor, and the normal partition may be implemented by a second physical processor. Alternatively, the secure partition may be implemented by a first virtual processor, and the normal partition may be implemented by a second virtual processor. Placing sensitive resources in the secure partition can protect against possible attacks on those resources. For example, resources such as trusted software applications may run in the secure partition and have access to hardware peripherals such as a touchscreen or a secure location in memory. Less secure peripherals such as wireless radios may be disabled completely while the secure partition is being accessed, while other peripherals may only be accessed from the secure partition. While the secure partition is being accessed through the trusted execution environment, the main mobile operating system in the normal partition is suspended, and applications in the normal partition are prevented from accessing the secure peripherals and data. This prevents corrupted applications or malware applications from breaking the trust of the device.
The trusted security zone is implemented by partitioning the hardware and software resources to exist in a secure subsystem which is not accessible to components outside the secure subsystem. The trusted security zone is built into the processor architecture at the time of manufacture through hardware logic present in the trusted security zone which enables a perimeter boundary between the secure partition and the normal partition. The trusted security zone may only be manipulated by those with the proper credential and, in an embodiment, may not be added to the chip after it is manufactured. Software architecture to support the secure partition may be provided through a dedicated secure kernel running trusted applications. Trusted applications are independent secure applications which can be accessed by normal applications through an application programming interface in the trusted execution environment on a chipset that utilizes the trusted security zone.
In an embodiment, the normal partition applications run on a first virtual processor, and the secure partition applications run on a second virtual processor. Both virtual processors may run on a single physical processor, executing in a time-sliced fashion, removing the need for a dedicated physical security processor. Time-sliced execution comprises switching contexts between the two virtual processors to share processor resources based on tightly controlled mechanisms such as secure software instructions or hardware exceptions. The context of the currently running virtual processor is saved, the context of the virtual processor being switched to is restored, and processing is restarted in the restored virtual processor. Time-sliced execution protects the trusted security zone by stopping the execution of the normal partition while the secure partition is executing.
The two virtual processors context switch via a processor mode called monitor mode when changing the currently running virtual processor. The mechanisms by which the processor can enter monitor mode from the normal partition are tightly controlled. The entry to monitor mode can be triggered by software executing a dedicated instruction, the Secure Monitor Call (SMC) instruction, or by a subset of the hardware exception mechanisms such as hardware interrupts, which can be configured to cause the processor to switch into monitor mode. The software that executes within monitor mode then saves the context of the running virtual processor and switches to the secure virtual processor.
The trusted security zone runs a separate operating system that is not accessible to the device users. For security purposes, the trusted security zone is not open to users for installing applications, which means users do not have access to install applications in the trusted security zone. This prevents corrupted applications or malware applications from executing powerful instructions reserved to the trusted security zone and thus preserves the trust of the device. The security of the system is achieved at least in part by partitioning the hardware and software resources of the mobile phone so they exist in one of two partitions, the secure partition for the security subsystem and the normal partition for everything else. Placing the trusted security zone in the secure partition and restricting access from the normal partition protects against software and basic hardware attacks. Hardware logic ensures that no secure partition resources can be accessed by the normal partition components or applications. A dedicated secure partition operating system runs in a virtual processor separate from the normal partition operating system that likewise executes in its own virtual processor. Users may install applications on the mobile device which may execute in the normal partition operating system described above. The trusted security zone runs a separate operating system for the secure partition that is installed by the mobile device manufacturer or vendor, and users are not able to install new applications in or alter the contents of the trusted security zone.
Turning now to FIG. 1, a communication system 100 is described. In an embodiment, the communication system 100 comprises a mobile device 102 comprising a trusted security zone 104, a permissive sector 108, a cellular radio transceiver 120, and an optional user interface 118. In an embodiment, the trusted security zone 104 comprises one or more secure applications 106. The permissive sector 108 may comprise one or more device applications 110. The mobile device 102 may engage in a variety of communication exchanges. The mobile device 102 may comprise a variety of devices such as a mobile phone, a personal digital assistant (PDA), a media player, a laptop computer, a tablet computer, and other electronic devices having a macro cellular radio transceiver. Some embodiments of the disclosure may also comprise stationary devices, such as a home entertainment system or other similar devices operable to present multimedia content. Such stationary devices may be coupled to a network 131 by either a wired communication link or a wireless communication link.
As described above, the trusted security zone 104 may be provided by a physically separate processor or by a virtual processor. The one or more secure applications 106 may be any of a variety of applications that process and/or transmit confidential information. The confidential information may comprise sensitive business documents such as electronic mail, marketing literature, business plans, client lists, addresses, employee data, intellectual property documents, and the like. The confidential information may comprise personal medical records or medical data that are subject to privacy requirements enforced by government regulatory bodies or commercial standards. The confidential information may comprise financial information such as account numbers, authentication identities, account balance information, and the like.
When processing and/or transmitting the confidential information, the secure application 106 executes at least partially in the trusted security zone 104. It is a characteristic or feature of the trusted security zone 104, as described more fully above, that when a secure application 106 executes in the trusted security zone 104, untrusted applications are prevented from executing and/or accessing trusted memory partitions and/or accessing the display, communication interfaces, or input devices of the mobile device 102, thereby reducing the opportunity for malware that may have infiltrated the mobile device 102 to corrupt or to monitor the confidential information.
In an embodiment, the system 100 comprises a network 131. The network 131 may be a private network, a public network, or a combination thereof. The network 131 may promote voice communications and data communications. Portions of the network 131 may provide an IP Multimedia Subsystem (IMS) network. The mobile device 102 may couple to the network 131 by a variety of communication paths. The mobile device 102 may communicate with a base transceiver station (BTS) 132 via a wireless link according to any of a variety of wireless communications protocols, including but not limited to code division multiple access (CDMA), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), global system for mobile communications (GSM), or other wireless communication protocol. The wireless link between the mobile device 102 and the base transceiver station 132 may couple the mobile device 102 to the network 131.
In an embodiment, the trusted security zone 104 may be provided in a secure area of a processor and/or memory chip shared with the permissive sector 108 or in a separate processor and/or memory chip. The trusted security zone 104 may be provided as what may be conceptualized as “invisible space.” In an embodiment, at least some of the memory addresses occupied by the trusted security zone 104 may be inaccessible to device applications 110 executing out of permissive sector 108. This demarcation of accessible memory addresses versus inaccessible memory addresses may be provided by the operating system of the mobile device 102. In an embodiment, the trusted security zone 104 may encapsulate a trusted execution environment (TEE), for example conforming at least partially to the Global Platform 2.0 or later revision trusted execution environment standard. It is understood, however, that the trusted security zone 104 is contemplated to provide further functionality than that envisioned by the trusted execution environment standards.
In an embodiment, a trust exchange service 112 is provided in the trusted security zone 104. The trust exchange service 112 may be conceptualized as bridging between the permissive sector 108 and the trusted security zone 104. The trust exchange service 112 promotes secure interactions between the applications executing in the permissive sector 108 and applications executing in the trusted security zone 104. The security may be provided using one or more techniques. For example, the trust exchange service 112 may pause a plurality of execution threads when initiating an interaction with the trusted security zone 104, for example while handling a request for service from a secure application 106. This feature may reduce the opportunity that other threads may sniff or otherwise seek to intrude on the operation. For example, the trust exchange service 112 may impose a criteria that all communication between the permissive sector 108 and the trusted security zone 104 be conducted using data that is transformed according to protocols of the trusted security zone 104, for example using encryption and/or using hashing. The trust exchange service 112 may also hide address space in the trusted security zone 104 and/or make the address space inaccessible to the permissive sector 108 without the mediation of the trust exchange service 112.
The device applications 110 executed in the permissive sector 108 may be any of a variety of applications. One of the device applications 110 may be a telephone application that receives dialed digits and attempts to originate a voice call—for example a voice over IP (VoIP) call—to a called telephone. One of the device applications 110 may be a web browser application that requests content from the network 131, for example by sending out a hypertext transport protocol (HTTP) message embedding a universal reference locator (URL). One of the device applications 110 may be a media player that requests streaming media from the network 131. Many of the device applications 110 may depend upon communication service provided by an IMS network to deliver their functionality to an end user of the mobile device 102. One of the device applications 110 may comprise a mobile transaction interface, where a user may complete a purchase using the application, and secure information, such as credit card information, may be communicated through the application.
The user interface 118 of the mobile device 102 may, in some embodiments, comprise a display, an input system, a speaker system, and/or a microphone. In some embodiments, the display may comprise a screen, and the input system may comprise a keypad and/or a touch screen, for example. The speaker system may communicate audio (such as media, messages, or phone call audio) to a user of the mobile device 102. The microphone may receive voice and/or audio from a user and/or communicate audio to a user. In an embodiment, a user may utilize the user interface 118 to communicate with the mobile device 102, for example, to initiate the execution of a device application 110 and/or a secure application 106. Additionally, a user may receive communication from the mobile device 102 via the user interface 118, such as phone calls, text messages, messages, emails, contact information, caller identification, call history, internet access, etc. A user may additionally employ the user interface 118 for viewing and/or listening to media such as music, movies, shows, videos, photos, games etc.
In an embodiment, the mobile device 102 may be operable to store and present one or more media events, wherein the media event(s) may be downloaded to the mobile device 102 from one or more media provider 134 and/or may be streamed from a media provider 134. Additionally, the mobile device 102 may comprise a media player 115 operable to present multimedia content of a media event such as video, audio, movies, shows, music, games, or graphics. As shown in FIG. 1, the media player 115 may, in some embodiments, be executed in the permissive sector 108 of the mobile device 102. Alternatively, the media player 115 may also be executed in the trusted security zone 104 of the mobile device 102 (shown with a dashed outline).
In some embodiments, as described above, media events may be pre-downloaded to a mobile device 102 before the release date of the event and/or before a purchase decision is made by the user of the mobile device 102. For example, pre-downloaded media 122 may be downloaded to the mobile device 102 via the wireless connection through the network 131. In an embodiment, the pre-downloaded media 122 may comprise a significant portion of the media content associated with a media event. In an embodiment, the pre-downloaded media 122 may comprise at least about 50% of the total media content associated with a media event. In an embodiment, the pre-downloaded media 122 may comprise at least about 75% of the total media content associated with a media event. In an embodiment, the pre-downloaded media 122 may comprise at least about 90% of the total media content associated with a media event. In another embodiment, the pre-downloaded media 122 may comprise some other fraction of the total media content. Additionally, the pre-downloaded media 122 may, in some embodiments, comprise the entire content associated with a media event.
In some embodiments, the pre-downloaded media 122 may be degraded or unusable in the form in which it is downloaded to the mobile device 102, wherein after a purchase decision is made by a user and the media event is released, the remaining media 126 may be downloaded to the mobile device 102. It may be desired to pre-download at least a portion of the content associated with a media event to a mobile device 102 to avoid an overload of the network 131 due to a high number of users attempting to download the media event at the release of the media event, wherein a significant portion of the content of the media event may be downloaded to one or more mobile devices 102 before the release date, and may be downloaded to the device(s) 102 at non-peak times in the network traffic or when the network 131 is quiet, the device is idle, and/or the device is charging.
In an embodiment, pre-downloaded media 122 may comprise an executable file format, wherein the media content may be embedded in the executable file. An executable file may comprise executable instructions, wherein these instructions must be executed for the media content to play. The executable file may comprise an application programming interface (API) operable to seek out a media player 115 when executed. The executable file may employ a key 124 to perform certain operations, wherein different keys 124 may initiate different operations of the executable file. In some embodiments, the user may be notified of the pre-download and the opportunity for quicker access to the media content when the media is purchased and officially released. The keys 124 may, in some embodiments, be provided after a purchase decision has been made.
In an embodiment, users may be identified to receive pre-downloaded media 122 based on a prediction of the preferences of the users. A user may be registered with a media provider 134 or may have an account or profile with one or more media providers 134. Media providers may include movie studios, music studios, video game companies, electronic commerce companies, and/or other digital media vendors. Media providers 134 may include companies such as 20th Century Fox, RKO Pictures, Paramount Pictures, Warner Bros., Metro-Goldwyn-Mayer, Universal Pictures, Columbia Pictures, United Artists, iTunes, Amazon.com, Rhapsody, Universal Music Group, Sony Music Entertainment, Warner Music Group, Xbox LIVE, Netflix, Hulu, and other similar companies.
Predicting preferences for users with profiles or accounts may be accomplished based on previous purchases and/or searches performed by the users. For example, if a user purchased a movie, it may be predicted that they would purchase the sequel to that movie and/or movies in the same genre or starring the same actors. Additionally, a user may be given an option to input preferences which may be stored with their account or profile and accessed by the media providers 134. In some embodiments, a user may be given the option to pre-order media content from a media provider 134, wherein the pre-ordered media may then be pre-downloaded onto a mobile device 102 associated with the user, as described above. In some embodiments, a user may associate a mobile device 102 with their account or profile, wherein it may be determined by a media provider 134 if the mobile device 102 is capable of supporting the media to be pre-downloaded. For example, a media provider 134 may consider the amount of available storage (or memory) on the device 102 and/or the type of media player(s) 115 available on the device 102.
In some embodiments, the pre-downloaded media 122 may comprise one or more disruptions operable to make the pre-downloaded media 122 unusable or otherwise inhibit and/or degrade the user experience if the pre-downloaded media 122 is accessed without permission, which may be provided with a key 124, for example. Disruptions of the pre-downloaded media 122 may comprise passive disruptions, such as missing video, missing audio (partial or total), and/or missing pixels, for example, wherein the disruption is not added to the media content, such as a scramble or overlay, but comprises missing sections of the media content. For example, video content of the pre-downloaded media 122 may comprise missing sections, such as ten seconds of every minute (or another comparable percentage or portion), wherein the missing sections may, in some embodiments, be spread out over the length of the video content. In another embodiment, the video content of the pre-downloaded media 122 may comprise missing and/or mixed pixels wherein, for example, a set of pixels may be removed from the initial frames of the video content, and then pixels from subsequent frames may be shifted into the openings, such that a mixture may occur and obscure the viewing of the frames of video. Also, the pre-downloaded media 122 may comprise missing sections of audio content, such as ten seconds of every minute, as an example, wherein the audio may present as jumpy, halting, or otherwise impaired, and wherein the missing sections may be spread out over the length of the audio content. As another example, large sections of audio and/or the entire audio content may be missing or removed from the pre-downloaded media 122. Other similar disruptions may be contemplated, wherein a disruption may comprise any impairment to the presentation of the media content.
Alternatively, the pre-downloaded media 122 may comprise an active disruption (which may be implemented by the executable file) operable to distort or impair the media content in some way. For example, in the absence of a key 124, the executable file may be configured to distort or impair the pre-downloaded media 122 as it plays back and/or as it present the content. In some embodiments, disruptions may provide protection for the pre-downloaded media 122 without the presence or use of a trusted security zone 104 and/or keys 124.
As discussed above, different keys 124 may be downloaded to the mobile device 102, wherein the keys may initiate (or allow for) different operations of the executable file. For example, in some embodiments, the pre-downloaded media 122 (in the form of an executable file) may contain one or more preview operations, which may comprise trailers, previews, and/or a first section of the media event in completion, such that a user may access (by viewing, listening, playing, etc.) the opening or initial portion of the media event while the remainder of the media event is downloading. Additionally, a user may view one or more trailers or preview sections before a purchase has been made or download has started. To allow access to preview sections or initial sections of the pre-downloaded media 122, a preview key 124 may be downloaded along with the pre-downloaded media 122, wherein the preview key 124 may be used by the executable file to allow access to certain sections or portions of the pre-downloaded media 122. Additionally, the preview key 124 may comprise one or more use limitations (such as number of uses or expiration date, for example). Alternatively, the preview operations may be accessed without a key, wherein protection of the complete file may be provided by the disruptions and/or executable file structure of the pre-downloaded media 122 while allowing access to some complete sections of the media content for preview.
In some embodiments, once the media event has officially been released and a purchase decision has been made by the user, one or more keys 124 may be downloaded to the mobile device 102, wherein the keys 124 may allow access to the full media content. Additionally, any remaining media content 126 not included in the pre-downloaded media 122 may be downloaded to the mobile device 102. In some embodiments, the key(s) 124 may remove or turn off the disruption of the pre-downloaded media 122. Additionally, the remaining media 126 may fill in the missing sections of the pre-downloaded media 122. In some embodiments, a key 124 may be required to stitch the pre-downloaded media 122 and the remaining media 126 together into a usable media event. Alternatively, the executable file format may be operable to fit the remaining media 126 to the pre-downloaded media 122, while, in some embodiments, a combination of a key 124 and the executable file may be used. In some embodiments, the pre-downloaded media 122 and the remaining media 126 may be recompiled into one executable file, while in other embodiments they may be stored as separate files.
In an embodiment, the pre-downloaded media 122, media player 115, and remaining media 126 may be stored in the permissive sector 108, the trusted security zone 104, or a combination of both. Any combination of storing the pre-downloaded media 122, media player 115, and remaining media 126 is contemplated, wherein they may be stored completely in the permissive sector 108, completely in the trusted security zone 104, or partly in both the permissive sector 108 and the trusted security zone 104. Also, the pre-downloaded media 122, media player 115, and remaining media 126 are not dependent on each other for storage location; one may be stored (in full or in part) in the permissive sector 108 while another is stored (in full or in part) in the trusted security zone 104. While the pre-downloaded media 122, media player 115, and remaining media 126 may be stored in the permissive sector 108 of the mobile device 102, they are shown as optionally stored in the trusted security zone 104 by a dashed outline. Additionally, interaction between the pre-downloaded media 122, media player 115, and remaining media 126 may occur in the permissive sector 108 and/or the trusted security zone 104.
In an embodiment, the keys 124 may be stored in the trusted security zone 104 of the mobile device 102. Additionally, guarantee or assurance that the keys 124 have been stored in the trusted security zone 104 may be provided back to the media providers 134 after the keys 124 are downloaded to the mobile device 102. In an embodiment, a guarantee or assurance may be provided by one or more media trusted service manager (TSM) 136, wherein the media TSM may unlock the key 124 to allow for use of the media content of the pre-downloaded media 122 and or the remaining media 126. The media provider(s) 134 may communicate with the media TSM 136 to release the key 124 and may receive notification that the key 124 has been stored in a trusted security zone 104. This may allow the media provider(s) 134 to have control over the activation of the media downloaded to the mobile device 102. Additionally, guarantee or assurance may be provided to the media provider(s) 134, after the pre-download of the media content, that the pre-downloaded media 122 is unusable and/or protected by the trusted security zone 104.
Turning now to FIG. 2, a method 200 for pre-downloading at least a portion of a media event is described. At block 202, the method comprises predicting user preferences for purchasing a media event. Predicting may be based on one or more of the following: previous purchases or searches made by the user, if the user is registered or has an account with the provider of the media content, preferences input by the user and associated with the account of the user, and/or the capabilities of the mobile device of the user to support the media event. At block 204, the method comprises pre-downloading from a media provider a significant portion of the media event to a mobile device belonging to the user. Additionally, the content of the media event may be embedded in an executable file, the pre-downloading may be completed before the official release of the media event, and the content of the media event may comprise one or more disruption to make the content unusable and/or degraded. At block 206, the method comprises, after a purchase is made by the user or after the media is officially released, downloading the remaining portion of the media event to the mobile device and removing the disruption, such that the full content of the media event becomes available to the user.
Turning now to FIG. 3, a method 300 for protecting a media event that is pre-downloaded to a mobile device is described. At block 302, the method comprises pre-downloading from one or more media provider a significant portion of a media event to a mobile device, wherein at least a portion of the content of the media event is embedded in an executable file. At block 304, the method comprises storing at least a portion of the executable file in either a trusted security zone or a permissive sector of the mobile device, wherein the content of the media event comprises one or more disruption to make the content degraded or unusable. At block 306, the method comprises downloading the remaining portion of the media content, after a purchase decision by the user and the release date of the media event. At block 308, the method comprises downloading, with the remaining portion of the media content, one or more keys operable to remove the disruption of the pre-downloaded media content and allow access to the media content stored in the trusted security zone, wherein the keys are stored in the trusted security zone.
FIG. 4 depicts the mobile device 400, which is operable for implementing aspects of the present disclosure, but the present disclosure should not be limited to these implementations. Though illustrated as a mobile phone, the mobile device 400 may take various forms including a wireless handset, a pager, a personal digital assistant (PDA), a gaming device, or a media player. The mobile device 400 includes a display 402 and a touch-sensitive surface and/or keys 404 for input by a user. The mobile device 400 may present options for the user to select, controls for the user to actuate, and/or cursors or other indicators for the user to direct. The mobile device 400 may further accept data entry from the user, including numbers to dial or various parameter values for configuring the operation of the handset. The mobile device 400 may further execute one or more software or firmware applications in response to user commands. These applications may configure the mobile device 400 to perform various customized functions in response to user interaction. Additionally, the mobile device 400 may be programmed and/or configured over-the-air, for example from a wireless base station, a wireless access point, or a peer mobile device 400. The mobile device 400 may execute a web browser application which enables the display 402 to show a web page. The web page may be obtained via wireless communications with a base transceiver station, a wireless network access node, a peer mobile device 400 or any other wireless communication network or system.
FIG. 5 shows a block diagram of the mobile device 400. While a variety of known components of handsets are depicted, in an embodiment a subset of the listed components and/or additional components not listed may be included in the mobile device 400. The mobile device 400 includes a digital signal processor (DSP) 502 and a memory 504. As shown, the mobile device 400 may further include an antenna and front end unit 506, a radio frequency (RF) transceiver 508, a baseband processing unit 510, a microphone 512, an earpiece speaker 514, a headset port 516, an input/output interface 518, a removable memory card 520, a universal serial bus (USB) port 522, an infrared port 524, a vibrator 526, a keypad 528, a touch screen liquid crystal display (LCD) with a touch sensitive surface 530, a touch screen/LCD controller 532, a camera 534, a camera controller 536, and a global positioning system (GPS) receiver 538. In an embodiment, the mobile device 400 may include another kind of display that does not provide a touch sensitive screen. In an embodiment, the DSP 502 may communicate directly with the memory 504 without passing through the input/output interface 518. Additionally, in an embodiment, the mobile device 400 may comprise other peripheral devices that provide other functionality.
The DSP 502 or some other form of controller or central processing unit operates to control the various components of the mobile device 400 in accordance with embedded software or firmware stored in memory 504 or stored in memory contained within the DSP 502 itself. In addition to the embedded software or firmware, the DSP 502 may execute other applications stored in the memory 504 or made available via information carrier media such as portable data storage media like the removable memory card 520 or via wired or wireless network communications. The application software may comprise a compiled set of machine-readable instructions that configure the DSP 502 to provide the desired functionality, or the application software may be high-level software instructions to be processed by an interpreter or compiler to indirectly configure the DSP 502.
The DSP 502 may communicate with a wireless network via the analog baseband processing unit 510. In some embodiments, the communication may provide Internet connectivity, enabling a user to gain access to content on the Internet and to send and receive e-mail or text messages. The input/output interface 518 interconnects the DSP 502 and various memories and interfaces. The memory 504 and the removable memory card 520 may provide software and data to configure the operation of the DSP 502. Among the interfaces may be the USB port 522 and the infrared port 524. The USB port 522 may enable the mobile device 400 to function as a peripheral device to exchange information with a personal computer or other computer system. The infrared port 524 and other optional ports such as a Bluetooth® interface or an IEEE 802.11 compliant wireless interface may enable the mobile device 400 to communicate wirelessly with other nearby handsets and/or wireless base stations.
The keypad 528 couples to the DSP 502 via the interface 518 to provide one mechanism for the user to make selections, enter information, and otherwise provide input to the mobile device 400. Another input mechanism may be the touch screen LCD 530, which may also display text and/or graphics to the user. The touch screen LCD controller 532 couples the DSP 502 to the touch screen LCD 530. The GPS receiver 538 is coupled to the DSP 502 to decode global positioning system signals, thereby enabling the mobile device 400 to determine its position.
FIG. 6A illustrates a software environment 602 that may be implemented by the DSP 502. The DSP 502 executes operating system software 604 that provides a platform from which the rest of the software operates. The operating system software 604 may provide a variety of drivers for the handset hardware with standardized interfaces that are accessible to application software. The operating system software 604 may be coupled to and interact with application management services (AMS) 606 that transfer control between applications running on the mobile device 400. Also shown in FIG. 6A are a web browser application 608, a media player application 610, and JAVA applets 612. The web browser application 608 may be executed by the mobile device 400 to browse content and/or the Internet, for example when the mobile device 400 is coupled to a network via a wireless link. The web browser application 608 may permit a user to enter information into forms and select links to retrieve and view web pages. The media player application 610 may be executed by the mobile device 400 to play audio or audiovisual media. The JAVA applets 612 may be executed by the mobile device 400 to provide a variety of functionality including games, utilities, and other functionality.
FIG. 6B illustrates an alternative software environment 620 that may be implemented by the DSP 502. The DSP 502 executes operating system software 628 (for example an operating system kernel) and an execution runtime 630. The DSP 502 executes applications 622 that may execute in the execution runtime 630 and may rely upon services provided by the application framework 624. Applications 622 and the application framework 624 may rely upon functionality provided via the libraries 626.
FIG. 7 illustrates a computer system 700 suitable for implementing one or more embodiments disclosed herein. The computer system 700 includes a processor 702 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage 704, read only memory (ROM) 706, random access memory (RAM) 708, input/output (I/O) devices 710, and network connectivity devices 712. The processor 702 may be implemented as one or more CPU chips.
It is understood that by programming and/or loading executable instructions onto the computer system 700, at least one of the CPU 702, the RAM 708, and the ROM 706 are changed, transforming the computer system 700 in part into a particular machine or apparatus having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well known design rules. Decisions between implementing a concept in software versus hardware typically hinge on considerations of stability of the design and numbers of units to be produced rather than any issues involved in translating from the software domain to the hardware domain. Generally, a design that is still subject to frequent change may be preferred to be implemented in software, because re-spinning a hardware implementation is more expensive than re-spinning a software design. Generally, a design that is stable that will be produced in large volume may be preferred to be implemented in hardware, for example in an application specific integrated circuit (ASIC), because for large production runs the hardware implementation may be less expensive than the software implementation. Often a design may be developed and tested in a software form and later transformed, by well known design rules, to an equivalent hardware implementation in an application specific integrated circuit that hardwires the instructions of the software. In the same manner as a machine controlled by a new ASIC is a particular machine or apparatus, likewise a computer that has been programmed and/or loaded with executable instructions may be viewed as a particular machine or apparatus.
The secondary storage 704 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 708 is not large enough to hold all working data. Secondary storage 704 may be used to store programs which are loaded into RAM 708 when such programs are selected for execution. The ROM 706 is used to store instructions and perhaps data which are read during program execution. ROM 706 is a non-volatile memory device which typically has a small memory capacity relative to the larger memory capacity of secondary storage 704. The RAM 708 is used to store volatile data and perhaps to store instructions. Access to both ROM 706 and RAM 708 is typically faster than to secondary storage 704. The secondary storage 704, the RAM 708, and/or the ROM 706 may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media.
I/O devices 710 may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
The network connectivity devices 712 may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), and/or other air interface protocol radio transceiver cards, and other well-known network devices. These network connectivity devices 712 may enable the processor 702 to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that the processor 702 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using processor 702, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
Such information, which may include data or instructions to be executed using processor 702 for example, may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave. The baseband signal or signal embedded in the carrier wave, or other types of signals currently used or hereafter developed, may be generated according to several methods well known to one skilled in the art. The baseband signal and/or signal embedded in the carrier wave may be referred to in some contexts as a transitory signal.
The processor 702 executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 704), ROM 706, RAM 708, or the network connectivity devices 712. While only one processor 702 is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors. Instructions, codes, computer programs, scripts, and/or data that may be accessed from the secondary storage 704, for example, hard drives, floppy disks, optical disks, and/or other device, the ROM 706, and/or the RAM 708 may be referred to in some contexts as non-transitory instructions and/or non-transitory information.
In an embodiment, the computer system 700 may comprise two or more computers in communication with each other that collaborate to perform a task. For example, but not by way of limitation, an application may be partitioned in such a way as to permit concurrent and/or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by the computer system 700 to provide the functionality of a number of servers that is not directly bound to the number of computers in the computer system 700. For example, virtualization software may provide twenty virtual servers on four physical computers. In an embodiment, the functionality disclosed above may be provided by executing the application and/or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. Cloud computing may be supported, at least in part, by virtualization software. A cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third party provider. Some cloud computing environments may comprise cloud computing resources owned and operated by the enterprise as well as cloud computing resources hired and/or leased from a third party provider.
In an embodiment, some or all of the functionality disclosed above may be provided as a computer program product. The computer program product may comprise one or more computer readable storage medium having computer usable program code embodied therein to implement the functionality disclosed above. The computer program product may comprise data structures, executable instructions, and other computer usable program code. The computer program product may be embodied in removable computer storage media and/or non-removable computer storage media. The removable computer readable storage medium may comprise, without limitation, a paper tape, a magnetic tape, magnetic disk, an optical disk, a solid state memory chip, for example analog magnetic tape, compact disk read only memory (CD-ROM) disks, floppy disks, jump drives, digital cards, multimedia cards, and others. The computer program product may be suitable for loading, by the computer system 700, at least portions of the contents of the computer program product to the secondary storage 704, to the ROM 706, to the RAM 708, and/or to other non-volatile memory and volatile memory of the computer system 700. The processor 702 may process the executable instructions and/or data structures in part by directly accessing the computer program product, for example by reading from a CD-ROM disk inserted into a disk drive peripheral of the computer system 700. Alternatively, the processor 702 may process the executable instructions and/or data structures by remotely accessing the computer program product, for example by downloading the executable instructions and/or data structures from a remote server through the network connectivity devices 712. The computer program product may comprise instructions that promote the loading and/or copying of data, data structures, files, and/or executable instructions to the secondary storage 704, to the ROM 706, to the RAM 708, and/or to other non-volatile memory and volatile memory of the computer system 700.
In some contexts, the secondary storage 704, the ROM 706, and the RAM 708 may be referred to as a non-transitory computer readable medium or a computer readable storage media. A dynamic RAM embodiment of the RAM 708, likewise, may be referred to as a non-transitory computer readable medium in that while the dynamic RAM receives electrical power and is operated in accordance with its design, for example during a period of time during which the computer 700 is turned on and operational, the dynamic RAM stores information that is written to it. Similarly, the processor 702 may comprise an internal RAM, an internal ROM, a cache memory, and/or other internal non-transitory storage blocks, sections, or components that may be referred to in some contexts as non-transitory computer readable media or computer readable storage media.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted or not implemented.
Also, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.

## Claims

1. A method for protecting a media event that is pre-downloaded to a mobile device comprising:
pre-downloading a portion of a media event content embedded in an executable file to the mobile device prior to a release date of a media event associated with the media event content, wherein the mobile device comprises a trusted security zone implemented by partitioning hardware and software resources of the mobile device into a secure partition of a non-transitory memory of the mobile device that is not accessible to components in a normal partition of the non-transitory memory;
storing the pre-downloaded portion of the executable file in the trusted security zone of the mobile device, wherein the pre-downloaded portion of the media event content comprises a disruption that renders the portion of the media event content one or more of degraded, distorted, or disrupted;
downloading a remaining portion of the media event content to the mobile device after a purchase decision by a user associated with the mobile device and the release date of the media event;
downloading, with the remaining portion of the media event content, one or more keys configured to remove the disruption of the pre-downloaded portion of the media event content and allow user access to the remaining portion of the media event content, wherein the one or more keys are stored in the trusted security zone; and
removing, via the one or more keys stored in the trusted security zone, the disruption of the pre-downloaded portion of the media event content and allowing user access to the remaining portion of the media event content.

2. The method of claim 1, wherein removing the disruption comprises stitching the remaining portion of the media event content with the pre-downloaded portion of the media event content.

3. The method of claim 1, wherein removing the disruption comprises removing or turning off an active disruption of the media event content provided by the executable file.

4. The method of claim 1, wherein, when the one or more keys are stored in the trusted security zone, a notification is sent to a media provider that the one or more keys are safely stored.

5. A method for protecting a media event and associated files that are pre-downloaded to a mobile device comprising:
pre-downloading a portion of a media event content embedded in an executable file to a mobile device prior to a release date of a media event associated with the media event content, wherein the mobile device comprises a trusted security zone implemented by partitioning hardware and software resources of the mobile device into a secure partition of a non-transitory memory of the mobile device that is not accessible to components in a normal partition of the non-transitory memory;
storing the executable file in the normal partition of the non-transitory memory, wherein the pre-downloaded portion of the media event content comprises a disruption that renders the portion of the media event content one or more of degraded, distorted, or disrupted;
downloading a remaining portion of the media event content after a purchase decision by a user associated with the mobile device and the release date of the media event;
downloading, with the remaining portion of the media event content, one or more keys configured to remove the disruption of the pre-downloaded portion of the media event content and allow access to the remaining portion of the media event content, wherein the one or more keys are stored in the trusted security zone; and
removing, via the one or more keys stored in the trusted security zone, the disruption of the pre-downloaded portion of the media event content and allowing access to the remaining portion of the media event content.

6. The method of claim 5, wherein, when the one or more keys are stored in the trusted security zone, a notification is sent to a media provider that the keys are safely stored.

7. The method of claim 5, wherein removing the disruption comprises one of: stitching the remaining portion of the media event content with the pre-downloaded portion of the media event content, or removing an active disruption of the media event content provided by the executable file.

8. A method for pre-downloading a portion of a media event to a mobile device comprising:
monitoring at least one of a plurality of searches conducted and a plurality of purchases made by a user using a mobile device associated with the user, wherein the mobile device comprises a trusted security zone implemented by partitioning hardware and software resources of the mobile device into a secure partition of a non-transitory memory of the mobile device that is not accessible to components in a normal partition of the non-transitory memory;
predicting user preferences for purchasing a media event based on the monitoring, wherein the media event is associated with a release date of media event content;
prior to the release date, pre-downloading, from a media provider, a portion of the media event content embedded in an executable file to the mobile device, wherein the pre-downloaded portion of the media event content comprises a disruption to make the pre-downloaded portion of the media event content one or more of degraded, distorted, or disrupted;
storing at least some of the pre-downloaded portion of the media event content in the trusted security zone;
downloading a remaining portion of the media event content after the release date of the media event;
removing, via one or more keys stored in the trusted security zone, the disruption of the pre-downloaded portion of the media event; and
subsequently playing, by the mobile device, the media event content.

9. The method of claim 8, further comprising, after a purchase is made by a user associated with the mobile device, downloading a remaining portion of the media event content to the mobile device, wherein the disruption is removed after downloading the remaining portion of the media event content.

10. The method of claim 9, wherein at least some of the pre-downloaded portion of the media event content is available for a user to access while the remaining portion is being downloaded.

11. The method of claim 9, wherein the disruption comprises a passive disruption and the download of the remaining media removes the disruption.

12. The method of claim 11, wherein the passive disruption comprises one or more of: missing sections of video, missing sections of audio, missing complete audio, missing pixels from the video, and/or mixed pixels between frames of video.

13. The method of claim 8, further comprising, after the media event release date, downloading a remaining portion of the media event content to the mobile device, wherein the disruption is removed after downloading the remaining portion of the media event content.

14. The method of claim 13, wherein the media event content is purchased before the release date.

15. The method of claim 8, wherein the disruption comprises an active disruption by the executable file, wherein a key downloaded after the release date of the media event content and stored in the trusted security zone deactivates the disruption.

16. The method of claim 8, wherein the pre-downloaded media event content comprises previews available to a user before the release date.

17. The method of claim 8, wherein the user is registered or has an account with the media provider of the media event content.

18. The method of claim 17, wherein predicting user preferences is further based on preferences input by the user and associated with the account of the user.

19. The method of claim 8, wherein predicting user preferences is further based on the capabilities of the mobile device to support the media event.