Abstract:
A game identifier of an encrypted streaming electronic game to be streamed to a playback device may be received. The game identifier may comprise a title of the encrypted streaming electronic game. An electronic ticket for access by the playback device to a secured portion of the encrypted streaming electronic game may be gathered. The electronic ticket may specify a first gameplay state. The electronic ticket may be used to access the secured portion of the encrypted streaming electronic game at the first gameplay state. One or more gameplay actions to transform the encrypted streaming electronic game to a second gameplay state may be received. The second gameplay state may be provided to a state server, where the state server configured to instruct a license server to modify the electronic ticket to specify the second gameplay state for the encrypted streaming electronic game.

Description:
CLAIM OF PRIORITY 
       [0001]    The present application is a continuation application of U.S. patent application Ser. No. 12/281,977, filed Jul. 13, 2009, which is a National Phase application of PCT Application No. PCT/US2007/010797, filed May 2, 2007, which in turn claims priority to Provisional Patent Application No. 60/797,263, filed May 2, 2006. The contents of the foregoing applications are hereby incorporated by reference as if set forth fully herein. 
     
    
     TECHNICAL FIELD 
       [0002]    The technical field relates to management of secure streaming content, and more particularly, to systems and methods for facilitating secure streaming of electronic gaming content to a playback device. 
       BACKGROUND 
       [0003]    Mobile devices and other devices with a limited storage capacity are unable to store as much data as users of the device may like. Users of such devices may have a license to use more content than will fit on the device. When content is purchased online, this may become even more troublesome since the capacity of the device directly impacts the amount of content that users might be willing to download. In addition, the users may also generate some content that is associated with the user and/or the licensed content, which needs to be stored on a non-volatile device. This user-generated content may include state of progress in the game, point of achievement, assets, private information, etc. 
         [0004]    In some applications, a user requests content by specifying a title (or its identity), and a server responds by providing content and a generated user license. In other words, content and user generated data may not be discarded without the risk of losing the state or the ability to execute or use the content in future. 
         [0005]    When a user discards content, state associated with the content is also typically discarded. In some cases, when state for content or for lots of different content takes up a relatively large amount of space—even if the state could be saved when content was discarded—it may be desirable to discard the state to make room for new content and any state associated with the new content. When state is discarded, it is lost even if the user retains a license to the content and downloads the content again later. It would be beneficial to have a flexible mechanism for the management of storage and retrieval of the user&#39;s assets: his purchased content and state. 
         [0006]    In some implementations, a playback device comprises: one or more processors; memory coupled to the one or more processors, the memory configured to store computer-program instructions to perform a computer-implemented method, the computer-implemented method comprising: receiving a game identifier of an encrypted streaming electronic game to be streamed to the playback device, the game identifier comprising a title of the encrypted streaming electronic game; gathering, using the game identifier, an electronic ticket to facilitate access by the playback device to a secured portion of the encrypted streaming electronic game, the electronic ticket specifying a first gameplay state of the encrypted streaming electronic game; using the electronic ticket to access the secured portion of the encrypted streaming electronic game at the first gameplay state; receiving one or more gameplay actions to transform the encrypted streaming electronic game to a second gameplay state; and providing the second gameplay state to a state server, the state server configured to instruct a license server to modify the electronic ticket to specify the second gameplay state for the encrypted streaming electronic game. 
         [0007]    The electronic ticket may facilitate access to the secured portion of the encrypted streaming electronic game on a per-user account basis. The electronic ticket may facilitate access to the secured portion of the encrypted streaming electronic game on a per-device basis. 
         [0008]    In some implementations, the first gameplay state specifies a first time a user played the encrypted streaming electronic game, and the second gameplay state specifies a second time the user played the encrypted streaming electronic game. The first gameplay state may specify a first score in the encrypted streaming electronic game, and the second gameplay state may specify a second score in the encrypted streaming electronic game. In various implementations, the first gameplay state specifies a first arrangement of in-game elements in the encrypted streaming electronic game, and the second gameplay state specifies a second arrangement of in-game elements in the encrypted streaming electronic game. 
         [0009]    The game identifier may be received from a content server, and the electronic ticket is gathered from a license server. In some implementations, the computer-implemented method further comprises using the electronic ticket to access the secured portion of the encrypted streaming electronic game at the second gameplay state. The playback device may but need not comprise a single playback device. 
         [0010]    A computer-implemented method executed on a playback device may comprise: receiving a game identifier of an encrypted streaming electronic game to be streamed to the playback device, the game identifier comprising a title of the encrypted streaming electronic game; gathering, using the game identifier, an electronic ticket to facilitate access by the playback device to a secured portion of the encrypted streaming electronic game, the electronic ticket specifying a first gameplay state of the encrypted streaming electronic game; using the electronic ticket to access the secured portion of the encrypted streaming electronic game at the first gameplay state; receiving one or more gameplay actions to transform the encrypted streaming electronic game to a second gameplay state; and providing the second gameplay state to a state server, the state server configured to instruct a license server to modify the electronic ticket to specify the second gameplay state for the encrypted streaming electronic game. 
         [0011]    A non-transitory computer-readable medium may store program instructions thereon, the program instructions configured to instruct one or more processors to perform a method, the method comprising: receiving a game identifier of an encrypted streaming electronic game to be streamed to the playback device, the game identifier comprising a title of the encrypted streaming electronic game; gathering, using the game identifier, an electronic ticket to facilitate access by the playback device to a secured portion of the encrypted streaming electronic game, the electronic ticket specifying a first gameplay state of the encrypted streaming electronic game; using the electronic ticket to access the secured portion of the encrypted streaming electronic game at the first gameplay state; receiving one or more gameplay actions to transform the encrypted streaming electronic game to a second gameplay state; and providing the second gameplay state to a state server, the state server configured to instruct a license server to modify the electronic ticket to specify the second gameplay state for the encrypted streaming electronic game. 
         [0012]    The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings. 
       SUMMARY 
       [0013]    The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools, and methods that are meant to be exemplary and illustrative, not limiting in scope. In various embodiments, one or more of the above-described problems have been reduced or eliminated, while other embodiments are directed to other improvements. 
         [0014]    A technique involving a virtual vault to provide a mechanism for flexible management of users&#39; assets is described. The technique involves utilizing a data structure, called an e-ticket, to associate a user with his assets: the purchased titles and user generated state files. This makes it possible for the user to discard the content of the title, for example to save space on a local storage device, but retain a license to the title. The title is associated with, for example, a title ID so that, later, the title content can be recovered from a “virtual vault” by using the title ID as an index. Similarly any state files, for example, game save data can be retrieved using the e-ticket. 
         [0015]    Particularly, if content is secure, and the e-ticket is a signed data structure, vault services could be provided by a third party. An example of a recovery technique may involve providing a service that will translate a title ID into a location/download protocol (e.g., URL) that can be used to restore the content for the user. 
         [0016]    Advantageously, a title may have application save data, or runtime state, that is generated as the user uses the title. A virtual vault service provider can provide services for the state to be uploaded when the title is discarded. By referencing the license to a title, which includes a binding between, the title, the user and/or device and the content, state can be restored when the title content is restored. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]    Embodiments of the inventions are illustrated in the Figures. However, the embodiments and Figures are illustrative rather than limiting; they provide examples of the invention. 
           [0018]      FIGS. 1A and 1B  depict an example of a system including a virtual vault. 
           [0019]      FIG. 2  depicts an exemplary block diagram of a virtual vault system. 
           [0020]      FIG. 3  depicts an example of a flow diagram appropriate for the content management system of  FIG. 1 . 
           [0021]      FIG. 4  depicts an example of a playback device including a content state recovery engine. 
           [0022]      FIG. 5  depicts a flowchart of an example of a method in which a server could distribute content in a network including a playback device having limited storage capacity. 
           [0023]      FIG. 6  depicts a flowchart of an example of a method for providing virtual vault services. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    In the following description, several specific details are presented to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or in combination with other components, etc. In other instances, well-known implementations or operations are not shown or described in detail to avoid obscuring aspects of various embodiments, of the invention. 
         [0025]      FIGS. 1A and 1B  depict an example of a system  100  including a virtual vault. In the example of  FIG. 1A , the system  100  includes a server  102 , a platform  104 , and a vault  106 . The server  102 , the platform  104 , and the vault  106  are coupled to one another via a network  108 .  FIG. 1A  is intended to illustrate an early stage (where the platform  104  has obtained a license for a single title from the server  102 ), and  FIG. 1B  is intended to illustrate a later stage (where the platform  104  has multiple licenses for titles and the vault  106  includes content associated with those licenses). Note that the vault may not contain physically separate content storage from the server. It is a virtual representation of the fact that the user of the platform has acquired rights to certain titles and can retrieve them. Since title content is common amongst a large set of users it need only be stored once. 
         [0026]    In the example of  FIG. 1A , the server  102  includes a plurality of title IDs  110 - 1  to  110 -N (referred to collectively as title IDs  110 ), a plurality of titles  112 - 1  to  112 -N (referred to collectively as titles  112 ), and a plurality of content  114 - 1  to  114 -N (referred to collectively as content  114 ). The content  114  may include any known or convenient electronic content, including but not limited to movies, music, games, programs, objects, data, URLs, etc. A single title ID (e.g., title ID  110 - 1 ), title (e.g., title  112 - 1 ), and content (e.g., content  114 - 1 ) may be referred to as a record that is associated with the title or title ID. The records may be referred to as residing in a database on the server  102 . The server  102  may include a variety of components that are not shown, including by not limited to a processor, a communications interface, an input/output controller and/or device, a display device, memory, non-volatile storage, etc. 
         [0027]    In the example of  FIG. 1A , the platform  104  includes the title  112 - 1 , the content  114 - 1 , and an E-ticket  116 - 1 . The E-ticket  116 - 1  includes the title ID  110 - 1  and an identification of the user and/or the user&#39;s device. The title  112 - 1  is illustrated in  FIG. 1A  as “connected” to the E-ticket  116 - 1  with a line that is intended to represent an association Similarly, the content  114 - 1  is illustrated in  FIG. 1A  as “connected” to the E-ticket  116 - 1  with a line that is intended to represent an association. The title ID  110 - 1 , title  112 - 1 , and content  114 - 1  are assumed to be a record from the database on the server  102 . It may be noted that in an alternative embodiment the title or content on the platform could be slightly, significantly, or completely different from the record in the database on the server. However, for illustrative purposes, they are assumed to be the same in the example of  FIG. 1A . 
         [0028]    The platform  104  could be any of a variety of devices including but not limited to a mobile device, game console, pda, cellular phone, smart phone, computer, appliance, or other electronic device that includes a cache, memory, or storage on which to store content. An E-ticket is, for example, a license to any known or convenient electronic content. An E-ticket may be obtained when a user associated with the platform  104  enters into a transaction with an agent of the server  102  (or an agent affiliated with at least a portion of the database on the server  102 ). 
         [0029]    In an embodiment, the E-ticket is for a title and for the content associated with the title. Advantageously, since the E-ticket is for both the title and for the content, the title and content are separable, though, in an embodiment, they remain linked by a common and at least somewhat unique title ID. Since the E-ticket is for both the title and for the content, the user may be able to discard the content to, for example, save space on a local storage device with limited capacity. The E-ticket may remain on the platform  104  so that the content can be recovered later from the vault  106 , using the title ID as an index in a non-limiting embodiment. 
         [0030]    A Vault is an entity that is capable of providing storage and retrieval services to a user in the system. The vault may be capable of processing inputs from a user, applying a set of rules, delivering output, and/or receiving input content or data. In the example of  FIG. 1A , the vault  106  includes the title ID  110 - 1  and the content  114 - 1 . In an alternative embodiment, the vault  106  could include the entire record associated with the title ID  110 - 1 . In the example of  FIG. 1A , the server  102 , platform  104 , and vault  106  are remotely located with respect to one another. However, in an alternative embodiment, the vault  106  and the server  102  could be local with respect to one another. 
         [0031]    In various embodiments or implementations, the server  102  may provide the content  114 - 1  to the vault  106  before, during, or after a transaction where the platform  104  obtains the E-ticket  116 - 1 . Alternatively, the platform  104  could provide the content  114 - 1  to the vault  106  before, during, or after a transaction where the platform obtains the E-ticket  116 - 1 . Alternatively the vault may not store the content, but only a reference to the location of the content in another server. Any convenient provisioning schedule or implementation that would work for the intended purpose is envisioned. 
         [0032]    In the example of  FIG. 1B , the system  100  includes the platform  104  and the vault  106  (the server  102  and the network  108  are not shown). In the example of  FIG. 1B , the vault  106  includes the title IDs  110  and the content  114 . it should be noted that a subset of the title IDs  110  and the content  114  could be stored in the vault  106 , and some of the title IDs and content could be from sources other than the server  102 . So, long as the title ID is sufficiently unique, the records could be from any number of content sources. 
         [0033]    In the example of  FIG. 1B , the platform  104  includes the titles  112 , a plurality of E-tickets  116 - 1  to  116 -N (referred to collectively as E-tickets  116 ), and, for illustrative purposes, the content  114 - 2 . The E-tickets  116  include respective ones of the title IDs  110 . 
         [0034]    In operation from  FIG. 1A  to  FIG. 1B , the platform  104  obtains the E-tickets  116  in a known or convenient manner for the content  114 . However, the platform  104  discards content associated with the E-tickets  116  for some reason. For example, the platform  104  may discard content because a user explicitly instructs the platform  104  to discard the content, the content may be discarded when the platform  104  is full (e.g., lack of available storage), the content may be discarded if it is unused for some period of time, or the content may be discarded for some other reason. 
         [0035]    In an illustrative embodiment, the server might use cryptographically signed state to authenticate state, identify its user, and/or provide requested “storage/retrieval” services for the state. 
         [0036]    Regardless of the reason, the platform  104  eventually, for illustrative purposes, only has content for the record associated with the title ID  110 - 2 . The vault  106 , on the other hand, retains records for all of the discarded content  114 . In the example of  FIG. 1B , the vault  106  also includes the record associated with the content  114 - 2 , which has not been discarded. In a non-limiting embodiment, the vault  106  includes records for all content  114  for which the platform  104  (and, depending upon the implementation, other platforms) has a license 
         [0037]    As an example, assume the platform  104  is going to obtain content  114 - 1  from the vault  106 . If the platform  104  has insufficient storage, the platform  104  may discard the content  114 - 2 . If storage is sufficient, the platform  104  may or may not discard the content  114 - 2 . The platform  104  can provide the E-ticket  116 - 1  to the vault  106 . The vault  106  may include a service that can translate the title ID  110 - 1  included in the E-ticket  116 - 1  into, by way of example but not limitation, a location or download protocol (e.g., a URL) that can be used to restore the content  114 - 1  on the platform  104 . 
         [0038]    In an embodiment, the vault  106  may be operated by a third party that provides the service. Moreover, if the content  114  is encrypted or otherwise secured, the third party need not even be capable of decrypting or unsecuring the content. In this case, the platform  104  will presumably include some means for decrypting the content  114 , such as a key that is associated with one or more of the E-tickets  116 . 
         [0039]    A given record may have state associated with it, stored at the vault  106 . When content associated with a title is discarded, the platform  104  may provide information to the vault  106 , updating the state associated with the title. The state can be further updated when the content is later provided to the platform  104 . Depending upon the implementation or embodiment, the state may or may not be updated independent of whether content is stored or retrieved. 
         [0040]      FIG. 2  depicts an example of a content management system  200 . The system  200  includes a license server  202 , a content server  204 , a state server  206 , a playback device  208 , and a network  210 . Any of the components may be located remotely with respect to one another, or locally or relatively locally to one or more of the other components. 
         [0041]    In the example of  FIG. 2 , the license server  202  is implemented in a computer-readable medium. The license server  202  may comprise hardware, software, firmware, or some combination thereof. As the name suggests, the license server  202  provides a license to devices, such as the playback device  208 . In an illustrative embodiment, the licenses are provided across the network  210  to a requesting device. Alternatively, the license server  202  could also push a license to a non-requesting device. As another alternative, the license server  202  may maintain the license locally, and provide permissions associated with the license instead of sending a copy of the license. 
         [0042]    Hereinafter, the term permissions is intended to include a license, a portion of a license, or rules associated with a license that can be used to obtain rights to content associated with the license. When the license server  202  sends permissions, the permissions may be encapsulated in an E-ticket. The E-ticket, in addition to the permissions, may include data such as a title ID to content associated with the permissions. 
         [0043]    In a non-limiting embodiment, the E-ticket could manage the usage of content. For example, the E-ticket could include usage rules of the content including, but not limited to, restrictions placed upon the use of the content. Generally, an E-ticket describes information sufficient for the playback device  208  to use the content subject to the rights granted by the E-ticket, and possibly to authenticate the content. Each E-ticket could include a data structure associated with one or more content elements such as a title ID. The E-ticket could also provide for cryptographic techniques that may include (1) an encrypted key for that content, with the effect that the secure processor can access the content if it has access to the license, and (2) a digital signature or secure hash value, with the effect that the license cannot be easily altered and remain effective. The E-ticket could also include a description of those rights license grants to the licensee with regard to the content. The E-ticket could be individually tailored to each individual authorized recipient or user, and to the playback device for which that user is authorized. 
         [0044]    The license server  202  may or may not include a relatively local license generator. The license generator could also include usage rules of the user of the playback device and user information such as personal information, UID information, a user subscription, and restrictions placed upon the user. The license generator may also obtain a title ID associated with the content retrieved from the content server  204 . 
         [0045]    In the example of  FIG. 2 , the content server  204  is implemented in a computer-readable medium. The content server  204  may comprise hardware, software, firmware, or some combination thereof. As the name suggests, the content server  204  provides content to devices, such as the playback device  208 . In an illustrative embodiment, the content is provided across the network  210  to a requesting device. Although the content server  204  could, depending upon the implementation, provide content that does not require a license, for illustrative purposes in this description, content provided by the content server  204  is associated with a license generated by the license server  202 . 
         [0046]    Generally, content in the content server  204  may store any known or convenient electronic content, including but not limited to movies, music, programs, application software, audio/video presentations, databases, educational programs, games or educational games, media or multimedia content, teaching materials, objects, data, URLs, or reasonable combinations or generations thereof and the like. Content may be stored in files in a directory structure, as blocks for streaming, or in some other known or convenient manner. Content may be to be executed or interpreted (for code or instructions) or to be displayed or presented (for media content). As used herein, the term executed or run is intended to include any use of the content. 
         [0047]    In the example of  FIG. 2 , the state server  206  is implemented in a computer-readable medium. The state server  206  may comprise hardware, software, firmware, or some combination thereof. In an illustrative embodiment, the state server  206  provides storage/retrieval functionality for state, as a service. The state may include application save data. 
         [0048]    The state server  206  provides content state information to devices, such as the playback device  208 . In an illustrative embodiment, the information is provided across the network  210  to a requesting device. Typically, the state server  206  would first receive content state information from the playback device  208 , to be retrieved later. However, the playback device  208  could conceivably request information provided by a different device (not shown), if the playback device  208  has the requisite permissions. Alternatively, the state server  206  could store preconfigured state that the playback device  208  may request. 
         [0049]    In the example of  FIG. 2 , the playback device  208  may include any of a variety of devices including, but not limited to, a mobile device, game console, personal digital assistant (“pda”), cellular phone, smart phone, computer, appliance, portable, or some other device that includes a computer-readable medium. Such devices may include a variety of components (not shown) including, by not limited to, a processor, memory, non-volatile storage, an input/output controller or device, a display, and/or other known or convenient components. 
         [0050]    In operation, the playback device  208  obtains an E-ticket from the license server  202  across the network  210 . The license server  202  may provide the E-ticket in response to a request from the playback device  208  (i.e., pull) or the license server  202  may push the E-ticket to the playback device  208 . In order to push the E-ticket, the playback device  208  must typically be pre-approved, which may be accomplished by some other device (not shown) that obtains the E-ticket for the playback device  208 , or the license data could be input directly by a human or artificial agent at the license server  202 . For illustrative purposes, in some descriptions provided herein, the E-ticket is obtained before a request for content, though it should be understood that the E-ticket could be provided concurrently with content, or even after content has already been received at the playback device  208 . 
         [0051]    In operation, the playback device  208  obtains content from the content server  204 . The content server  204  may provide the content in response to a request from the playback device  208 . The content server  204  may or may not require that the playback device  208  have permission to execute the content prior to providing the content. For example, the playback device  208  may be a secure playback device that can download content, but cannot play the content until the playback device has permission. This may be useful, by way of example but not limitation, when providing demo software to a playback device  208 . If the user of the playback device  208  likes the demo, he could obtain permission to “unlock” additional (e.g., paid) features of the software without an additional content download. As another example, a conditional license could grant permissions to additional content when certain conditions are met. Hereinafter, for illustrative simplicity, only content that is downloaded to the playback device  208  to which the playback device  208  has permission is discussed (even though the playback device  208  may not have permission to all of a content download, or permissions may be conditional). 
         [0052]    In operation, the playback device  208  executes the content. When content is executed, runtime state may be generated. Runtime state is intended to be more than simply data used in, e.g., a conditional license, such as duration of play or number of times executed. Rather, a first runtime state for content to which the playback device  208  has permission would result in a different experience than a second runtime state for the same content. An example of runtime state is what level of a game has been reached, the possessions of an avatar in a roleplaying game, or the number of gold coins collected in an adventure game. 
         [0053]    In operation, the content may be deleted from the playback device  208 . Before, concurrently with, or after the content is deleted, the playback device  208  sends state (e.g., game save data) associated with the content to the state server  206 . Thus, the content and the content state can be deleted from the device, e.g., to increase the amount of storage on the playback device  208 . The E-ticket associated with the content is not deleted from the playback device  208 . The E-ticket enables the playback device  208  to recover the deleted content from the content server  204  (or some other content server). Advantageously, the E-ticket also enables the playback device  208  to recover the runtime state from the state server  206 . 
         [0054]    In an alternative, the playback device  208  could delete even the E-ticket. In such an embodiment, there should be some way for the playback device  208  to recover the license. This could be accomplished in any known or convenient manner, such as, by way of example but not limitation, requiring a user of the playback device  208  to enter a password to get a new E-ticket from the license server  202  (or some other E-ticket server). After recovering the E-ticket, the playback device  208  could then recover the content and the runtime state associated with the content, as described previously. 
         [0055]      FIG. 3  depicts an example of a flow diagram  300  appropriate for the content management system  200  ( FIG. 2 ). For illustrative purposes arrows in the example of  FIG. 3  depict various transactions between the components over time. The arrows are numbered to illustrate temporal position, though the order of the transactions could be varied, and one or more of the transactions could be implemented outside of the described flow. 
         [0056]    In the example of  FIG. 3 , in a first transaction (transaction  1 ) the license server  302  provides an E-ticket to the playback device  308 . The E-ticket may be provided in response to a request (e.g., in a pull transaction) or it may be pushed. The E-ticket may include permissions to content stored on the content server  304 ; a unique identifier (UID) associated with the user, playback device  308 , or both; a title; a title ID; content size; and/or other implementation- or embodiment-specific data. 
         [0057]    In the example of  FIG. 3 , in transaction  2 , the playback device  308  sends a request, including permissions, to the content server  304 . The playback device may send additional permissions information with the request, such as a copy of the E-ticket, or a subset of the information from the E-ticket to prove it has the rights to the content. 
         [0058]    In the example of  FIG. 3 , in optional transaction  3 , the content server  304  queries the license server  302 . If the permissions from the playback device  308  do not include sufficient information to prove the playback device  308  has a license to content, the content server  304  may optionally query the license server  302 . The query may use the permissions data to determine whether the playback device  308  actually has permission to receive the content. 
         [0059]    In the example of  FIG. 3 , in transaction  4 , the content server  304  provides, in response to the request from the playback device  308 , content to the playback device  308 . At some point after receiving the content, in transaction  5 , the playback device  308  executes the content and generates runtime state. 
         [0060]    In the example of  FIG. 3 , in transaction  6 , the playback device  308  provides the runtime state associated with the content to the state server  306 . The playback device  308  may also provide sufficient identifying information that the playback device  308  may later request that the state server  306  provide the saved state. The point at which the playback device  308  provides the runtime state may vary depending upon implementation- or embodiment-specific stimuli, or upon user preferences. For example, the playback device  308  may be configured to send runtime state every evening at midnight, or when the content with which the runtime state is associated is deleted. The server may be configured to check a cryptographic signature on the state data to authenticate it. The authenticity is checked by using a device certificate that is made available to the server. The device certificate includes an identity to tie the user making the request to the one who owns the state and the content. 
         [0061]    In the example of  FIG. 3 , in transaction  7 , the runtime state is deleted at the playback device  308 . It should be noted that the content may be deleted before, concurrently with, or after the content state is deleted; or the content may not be deleted at all. Moreover, it is not necessarily the case that runtime state would be deleted. For example, the playback device  308  could request old runtime state even if the current runtime state is more recent. 
         [0062]    In the example of  FIG. 3 , in transaction  8 , the playback device  308  provides permissions to the state server  306 . The permissions may or may not be the same as were sent to the content server  304  in transaction  2 . It is conceivable that the content server  304  could be implemented with greater security, requiring more secure permissions than that of the state server  306 . Nevertheless, the state server  306  may still, in optional transaction  9 , query the license server  302  to verify permissions. Finally, in transaction  10 , the state server  306  provides the state to the playback device  308 . 
         [0063]      FIG. 4  depicts an example of a playback device  400  including a content state recovery engine. The playback device  400  includes an interface  402 , an E-tickets database (dB)  404 , a content dB  406 , a content state dB  408 , a content state recovery engine  410 , and a bus  420  to which each of the components is coupled. It should be noted that a bus architecture is but one known electronic implementation for a computer system, though any known or convenient implementation may be used in lieu of a bus architecture. 
         [0064]    The interface  402  may be used to communicate with a communications network or an external device in a manner that is known or convenient. E-tickets, for storage in the E-tickets dB  404  may be received on the interface  402 . Similarly, content may be received on the interface  402  for storage on the content dB  406 . In an illustrative embodiment, the content state dB includes runtime state associated with content, whether the runtime state is generated locally on the playback device  400  and/or is recovered from an external state database. The content state recovery engine  410  recovers state for the playback device  400 . The content state recovery engine  410  may also be responsible for sending state on the interface  402  (for external storage and later recovery). 
         [0065]      FIG. 5  depicts a flowchart  500  of an example of a method in which a server could distribute content in a network including a playback device of limited storage capacity. The flowchart  500  begins with module  502  where a request is received for content. 
         [0066]    In the example of  FIG. 5 , the flowchart  500  continues to module  504  where information associated with the playback device is obtained. The information may include, for example, the available storage space on the playback device. The flowchart  500  continues to module  506  where information associated with the content is obtained. The information may include, for example, the amount of storage space needed for the content. 
         [0067]    In the example of  FIG. 5 , the flowchart  500  continues to decision point  508  where it is determined whether sufficient storage space is available to store the content on the playback device. If there is sufficient storage ( 508 -Y), then an E-ticket and the content is sent to the playback device  510 . If, on the other hand, there is not sufficient storage ( 508 -N), then an E-ticket is sent to the playback device  512 , but content is sent to external storage. Then the flowchart  500  ends. 
         [0068]      FIG. 6  depicts a flowchart  600  of an example of a method for providing virtual vault services. In the example of  FIG. 6 , the flowchart  600  starts at module  602  with providing storage and retrieval services for title content and user-generated state data owned by the user. User-generated state data may include, by way of example but not limitation, game save data, application save data, runtime state, or other state that is created at a playback device in the course of executing the title content. 
         [0069]    In the example of  FIG. 6 , the flowchart  600  continues to module  604  with cryptographically authenticating a signed ticket, including at least a title and a user or device identity, to validate a request for a title or state data associated with the user. Advantageously, external storage can save content and state data for a given user (or device identity). The user can then recover the content using a relatively small footprint ticket (i.e., a ticket having a significantly smaller footprint than the content and/or the content state). 
         [0070]    In the example of  FIG. 6 , the flowchart  600  continues to module  606  with cryptographically authenticating a device or user-generated signature to establish the validity of state data before accepting the storage of user-generated state data. Advantageously, unauthorized users or devices cannot use up storage resources of the virtual vault, ensuring that only valid users can do so. 
         [0071]    As used herein, the term “embodiment” means an embodiment that serves to illustrate by way of example but not limitation. 
         [0072]    It will be appreciated to those skilled in the art that the preceding examples and embodiments are exemplary and not limiting to the scope of the present invention. It is intended that all permutations, enhancements, equivalents, and improvements thereto that are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present invention. It is therefore intended that the following appended claims include ail such modifications, permutations and equivalents as fall within the true spirit and scope of the present invention.