Remote virtualized asset delivery and local provisioning
Interaction output over a local computer-readable medium (CRM) generated based on user interaction with rendered content input representing a virtualized asset being received at a virtualized asset local provisioning server. A manner to exploit the virtualized asset is determined from interaction output. The virtualized asset is exploited based on the determined manner to exploit the virtualized asset. A request for a portion of the virtualized asset generated in response to the exploiting the virtualized asset is intercepted. If it is determined that the portion of the virtualized asset is absent from the local storage, a request for the portion of the virtualized asset is sent to a virtualized asset delivery system over a non-local CRM; the portion of the virtualized asset retrieved by the virtualized asset delivery system is received over the non-local CRM; and the received portion of the virtualized asset is used in exploiting the virtualized asset.
1 . A method comprising:
receiving, from a content client, interaction output over a local area network (LAN) generated based on user interaction with rendered content input representing a virtualized asset being exploited;
determining from the interaction output a first portion of the virtualized asset that is not present at the content client;
determining if the first portion of the virtualized asset resides in local storage;
obtaining the first portion of the virtualized asset from a remote virtualized asset delivery system over a wide area network (WAN), wherein the obtaining includes sending a request to the remote virtualized asset delivery system;
altering, based on the request, a predetermined serial stream of portions of the virtualized asset, thereby prioritizing sending of the first portion of the virtualized asset if it is determined the first portion of the virtualized asset is absent from the local storage;
intercepting the request for the first portion of the asset at an asset streaming client using a file system hook operatively interposed between a file system manager and a file system driver of a virtual asset utilization system;
implanting a stub at the asset streaming client to temporarily satisfy the request, wherein the stub tricks the virtual asset utilization system into determining that the first portion of the asset resides at the virtual asset utilization system, while the asset is actually virtualized at the virtual asset utilization system;
providing the first portion of the virtualized asset to the content client;
predicting a second portion of the virtualized asset based on the first portion of the virtualized asset, wherein the predicting is based on what application is running at a given time;
retrieving the second portion of the virtualized asset based on the predicting and mapping the second portion of the virtualized asset to a physical location where the second portion of the virtualized asset resides;
sending the second portion of the virtualized asset for generating new interaction output for the content client.
2 . The method of claim 1 , wherein the virtualized asset is a branching virtualized asset.
3 . The method of claim 1 , wherein the virtualized asset includes an operating system.
4 . The method of claim 1 , wherein a second request for the first portion of the virtualized asset is stored in a request history at the remote virtualized asset delivery system, the request history being used to optimize a resource map of the remote virtualized asset delivery system.
5 . The method of claim 4 , comprising:
mapping, at the remote virtualized asset delivery system, a second portion of the virtualized asset associated with the second request for the first portion of the virtualized asset to a physical location where the second portion of the virtualized asset resides;
retrieving the second portion of the virtualized asset based on the mapping;
sending, over the WAN, the second portion of the virtualized asset based on the mapping.
6 . The method of claim 1 , comprising:
determining whether the content client or a user utilizing the content client has rights to access the virtualized asset;
if it is determined the content client or the user utilizing the content client has rights to access the virtualized asset, providing content input for rendering at the content client.
7 . The method of claim 1 , comprising maintaining a server instance of a virtualized asset local provisioning server for use, at least in part, in exploiting the virtualized asset.
8 . The method of claim 7 , comprising:
predicting, by the remote virtualized asset delivery system, a second portion of the virtualized asset or another virtualized asset based on the first portion of the virtualized asset;
sending the second portion of the virtualized asset or the other virtualized asset to the virtualized asset local provisioning server.
9 . The method of claim 7 , comprising:
preventing, in response to the determining the first portion of the virtualized asset is absent from the local storage at the virtualized asset local provisioning server, a first request for the first portion of the virtualized asset from reaching an operating system of the virtualized asset local provisioning server.
10 . A system comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the system to perform:
receiving, from a content client, interaction output over a local area network (LAN) generated based on user interaction with rendered content input representing a virtualized asset being exploited;
determining from the interaction output a first portion of the virtualized asset that is not present at the content client;
determining if the first portion of the virtualized asset resides in local storage;
obtaining the first portion of the virtualized asset from a remote virtualized asset delivery system over a wide area network (WAN), wherein the obtaining includes sending a request to the remote virtualized asset delivery system;
altering, based on the request, a predetermined serial stream of portions of the virtualized asset, thereby prioritizing sending of the first portion of the virtualized asset if it is determined the first portion of the virtualized asset is absent from the local storage;
intercepting the request for the first portion of the asset at an asset streaming client using a file system hook operatively interposed between a file system manager and a file system driver of a virtual asset utilization system;
implanting a stub at the asset streaming client to temporarily satisfy the request, wherein the stub tricks the virtual asset utilization system into determining that the first portion of the asset resides at the virtual asset utilization system, while the asset is actually virtualized at the virtual asset utilization system;
providing the first portion of the virtualized asset to the content client;
predicting a second portion of the virtualized asset based on the first portion of the virtualized asset, wherein the predicting is based on what application is running at a given time;
retrieving the second portion of the virtualized asset based on the predicting and mapping the second portion of the virtualized asset to a physical location where the second portion of the virtualized asset resides;
sending the second portion of the virtualized asset for generating new interaction output for the content client.
11 . The system of claim 10 , wherein the virtualized asset is a branching virtualized asset.
12 . The system of claim 10 , wherein the virtualized asset includes an operating system.
13 . The system of claim 10 , wherein a second request for the first portion of the virtualized asset is stored in a request history at the remote virtualized asset delivery system, the request history being used to optimize a resource map of the remote virtualized asset delivery system.
14 . The system of claim 13 , further comprising:
a resource map management engine at the virtualized asset delivery system configured to map a second portion of the virtualized asset associated with the second request for the first portion of the virtualized asset to a physical location where the second portion of the virtualized asset resides;
a resource map at the remote virtualized asset delivery system configured to be used by the resource map management engine for mapping, the resource map including a map to a physical location of the first portion of the virtualized asset;
a virtualized asset retrieval engine at the remote virtualized asset delivery system configured to retrieve the second portion of the virtualized asset based on the mapping;
a virtualized asset delivery engine at the remote virtualized asset delivery system configured to send, over the WAN, the second portion of the virtualized asset based on the mapping.
15 . The system of claim 10 , further comprising:
an access engine configured to:
determine whether the content client or a user utilizing the content client has rights to access the virtualized asset;
provide content input for rendering at the content client, if it is determined that the content client or the user utilizing the content client has rights to access the virtualized asset.
16 . The system of claim 10 , further comprising:
a server instance of a virtualized asset local provisioning server, at the remote virtualized asset delivery system, configured to, at least in part, exploit the virtualized asset.
17 . The system of claim 16 , further comprising:
a virtualized asset portion prediction engine at the remote virtualized asset delivery system, configured to:
predict a second portion of the virtualized asset or another virtualized asset based on the first portion of the virtualized asset;
send the second portion of the virtualized asset or the other virtualized asset to the virtualized asset local provisioning server.
18 . The system of claim 16 , further comprising:
a virtualized asset portion prediction engine at the remote virtualized asset delivery system, configured to:
predict, using the server instance of the virtualized asset local provisioning server, a second portion of the virtualized asset or another virtualized asset based on the first portion of the virtualized asset;
send the second portion of the virtualized asset or the other virtualized asset to the virtualized asset local provisioning server.
19 . A system comprising:
means for receiving, from a content client, interaction output over a local area network (LAN) generated based on user interaction with rendered content input representing a virtualized asset being exploited;
means for determining from the interaction output, a first portion of the virtualized asset that is not present at the content client;
means for determining if the first portion of the virtualized asset resides in local storage;
means for obtaining the first portion of the virtualized asset from a remote virtualized asset delivery system over a wide area network (WAN), wherein the obtaining includes sending a request to the remote virtualized asset delivery system;
means for altering, based on the request, a predetermined serial stream of portions of the virtualized asset, thereby prioritizing sending of the first portion of the virtualized asset if it is determined the first portion of the virtualized asset is absent from the local storage;
means for intercepting the request for the first portion of the asset at an asset streaming client using a file system hook operatively interposed between a file system manager and a file system driver of a virtual asset utilization system;
means for implanting a stub at the asset streaming client to temporarily satisfy the request, wherein the stub tricks the virtual asset utilization system into determining that the first portion of the asset resides at the virtual asset utilization system, while the asset is actually virtualized at the virtual asset utilization system;
means for providing the first portion of the virtualized asset to the content client;
means for predicting a second portion of the virtualized asset based on the first portion of the virtualized asset, wherein the predicting is based on what application is running at a given time;
means for retrieving the second portion of the virtualized asset based on the predicting and mapping the second portion of the virtualized asset to a physical location where the second portion of the virtualized asset resides;
means for sending the second portion of the virtualized asset for generating new interaction output for the content client.
20 . The system of claim 19 , further comprising:
means for preventing, in response to the determining the first portion of the virtualized asset is absent from the local storage, a first request for the first portion of the virtualized asset from reaching an operating system of a virtualized asset local provisioning server.