1460721219-a304fbc3-f006-49dd-950c-c2d45471121e

1. A computing system comprising:
a server configured to stream an application install package; and
a client comprising:
a virtual environment within which processes may execute, and a non-virtual system environment within which processes may execute; and
a process table which identifies processes configured to run in the virtual environment;
wherein responsive to a request to install said application in the virtual environment, the client is configured to:
start an installer component in a suspended state in the non-virtual system environment;
register the installer component in the virtual environment; and
resume execution of the installer component in the virtual environment;
wherein subsequent to resuming execution, the installer component is configured to:
begin installation of the application in the virtual environment; and
initiate an attempt to perform an action configured to affect a file system or registry of the non-virtual system environment;
wherein responsive to detecting said attempt, a virtualization manager is configured to:
access the process table;
compare a process ID of the given process to process IDs in the process table;
permit the given process to access the non-virtual system environment, in response to determining the process table indicates the process ID is not associated with the virtual environment; and
prevent the given process from accessing the non-virtual system environment, in response to determining the process table indicates the process ID is associated with the virtual environment.
2. The computing system of claim 1, wherein subsequent to installing the application in the virtual environment the client is configured to unregister the installer service from the virtual environment and register the installer service in the non-virtual system environment.
3. The computing system of claim 1, wherein the client is further configured to receive instructions from the server that identify a virtual environment into which to install the install package.
4. The computing system of claim 2,
wherein the server is configured to stream the install package to the client as a series of streamlets;
wherein the installer component is configured to extract data from a streamlet and issue a write request to write the data into the virtual environment; and
a driver outside of the virtual environment is configured to detect the write request.
5. The computing system of claim 4, wherein in response to detecting the write request, the driver is further configured to:
determine if the file is a sparse file; and
if the file is a sparse file:
register the file as a sparse file; and
allocate an amount of storage space for the sparse file that is sufficient to store a non-sparse file that corresponds to the sparse file.
6. The computing system of claim 5,
wherein the sparse file includes a marker identifying a location from which the non-sparse file data may be retrieved; and
wherein in response to detecting a read request to read the sparse file, the driver is configured to retrieve the non-sparse file data from said location.
7. The computing system of claim 1, wherein in response to detecting said attempt and determining the process table indicates the process ID is associated with the virtual environment, the virtualization manager is further configured to redirect said action so that it affects the virtual environment instead of the non-virtual system environment.
8. A computer implemented method of streaming an install package into a virtual environment, the method comprising:
starting an installer component in a suspended state in a non-virtual system environment of a client, said non-virtual system environment being an environment within which processes may execute;
registering the installer component in a virtual environment of the client, said virtual environment being an environment within which processes may execute;
maintaining a process table which identifies processes configured to run in the virtual environment;
resuming execution of the installer component in the virtual environment;
subsequent to resuming execution in the virtual environment, the installer component:
beginning installation of the application in the virtual environment; and
initiating an attempt to perform an action configured to affect a file system or registry of the non-virtual system environment;
a virtualization manager:
detecting the attempt to perform said action;
accessing the process table;
comparing a process ID of the given process to process IDs in the process table;
permitting the given process to access the non-virtual system environment, in response to determining the process table indicates the process ID is not associated with the virtual environment; and
preventing the given process from accessing the non-virtual system environment, in response to determining the process table indicates the process ID is associated with the virtual environment.
9. The method of claim 8, wherein subsequent to installing the application in the virtual environment, the method further comprises unregistering the installer service from the virtual environment and registering the installer service in the non-virtual system environment.
10. The method of claim 9, further comprising receiving instructions from a streaming server that identify the virtual environment into which to install the install package.
11. The method of claim 9, further comprising:
receiving the install package as a series of streamlets;
the installer component extracting data from a received streamlet and issuing a write request to write the data into the virtual environment; and
a driver outside of the virtual environment detecting the write request.
12. The method of claim 11, further comprising in response to detecting the write request, the driver:
determining if the file is a sparse file; and
if the file is a sparse file:
registering the file as a sparse file; and
allocating an amount of storage space for the sparse file that is sufficient to store a non-sparse file that corresponds to the sparse file.
13. The method of claim 12, wherein the sparse file includes a marker identifying a location from which the non-sparse file data may be retrieved, wherein in response to detecting a read request to read the sparse file, the method further comprises retrieving the non-sparse file data from said location.
14. The method of claim 11, wherein the installer component includes an installer service and an installer executable process.
15. A computer readable storage medium storing first program instructions executable by a client computing system to:
start an installer component in a suspended state in a non-virtual system environment of the client, said non-virtual system environment being an environment within which processes may execute;
register the installer component in a virtual environment of the client, the virtual environment being an environment within which processes may execute; and
maintain a process table which identifies processes configured to run in the virtual environment;
resume execution of the installer component in the virtual environment;
wherein subsequent to resuming execution, the installer component on the client comprises program instructions executable to:
begin installation of the application in the virtual environment; and
initiate an attempt to perform an action configured to affect a file system or registry of the non-virtual system environment;
wherein a virtualization manager on the client comprises program instructions executable to:
detect the attempt to perform said action;
access the process table;
compare a process ID of the given process to process IDs in the process table;
permit the given process to access the non-virtual system environment, in response to determining the process table indicates the process ID is not associated with the virtual environment; and
prevent the given process from accessing the non-virtual system environment, in response to determining the process table indicates the process ID is associated with the virtual environment.
16. The computer readable storage medium of claim 15, wherein subsequent to installing the application in the virtual environment, the first program instructions are configured to unregister the installer service from the virtual environment and register the installer service in the non-virtual system environment.
17. The computer readable storage medium of claim 15, wherein first program instructions are further executable by a client computing system to:
receiving the install package from a streaming server as a series of streamlets; and
receiving instructions from the streaming server computing system that identify a virtual environment into which to install the install package.
18. The computer readable storage medium of claim 16,
wherein the installer component is configured to extract data from a streamlet and issue a write request to write the data into the virtual environment; and
a driver outside of the virtual environment is configured to detect the write request.
19. The computer readable storage medium of claim 18, wherein in response to detecting the write request, the driver is further configured to:
determine if the file is a sparse file; and
if the file is a sparse file:
register the file as a sparse file; and
allocate an amount of storage space for the sparse file that is sufficient to store a non-sparse file that corresponds to the sparse file.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for uplink signaling between a base station and an access terminal of a plurality of access terminals, the method comprising:
by the base station:
assigning resources for a resource request to the access terminal, the assigned resources comprising periodic time-frequency resources of an orthogonal frequency division multiplexing (OFDM) based signaling scheme; and
receiving the resource request combined with acknowledge (ACK) andor negative acknowledge (NACK) feedback from the access terminal,
wherein the resource request is spread over a plurality of subcarriers in one or more OFDM symbols of the assigned resources using at least one orthogonal spreading sequence.
2. The method of claim 1, wherein the periodic time-frequency resources comprise localized or distributed time-frequency resources in a plurality of OFDM symbols and a plurality of sub carriers.
3. The method of claim 1, wherein the resource request comprises an indicator or a flag.
4. The method of claim 3, wherein the resource request comprises a request for uplink resources for the access terminal.
5. The method of claim 1, further comprising the base station identifying the access terminal from which the resource request is transmitted based at least in part on the resources on which the resource request is received.
6. The method of claim 1, wherein the resources for the resource request assigned to the access terminal comprise resources overlaid on time-frequency resources used for uplink control signaling.
7. The method of claim 1, wherein the resources for the resource request assigned to the access terminal comprise time-frequency resources assigned at least in part to a second access terminal of the plurality of access terminals, the second access terminal using at least one orthogonal spreading sequence that differs from the at least one orthogonal spreading sequence used by the access terminal.
8. A base station configured to receive uplink signaling from an access terminal of a plurality of access terminals, the base station comprising:
wireless circuitry for performing wireless communication with the plurality of access terminals;
processing circuitry in communication with the wireless circuitry, wherein the processing circuitry is configured to cause the base station to:
assign resources for a resource request to the access terminal, the assigned resources comprising periodic time-frequency resources of an orthogonal frequency division multiplexing (OFDM) based signaling scheme; and
receive the resource request combined with acknowledge (ACK) andor negative acknowledge (NACK) feedback from the access terminal,
wherein the resource request is spread over a plurality of subcarriers in one or more OFDM symbols of the assigned resources using at least one orthogonal spreading sequence.
9. The base station of claim 8, wherein the periodic time-frequency resources comprise localized or distributed time-frequency resources in a plurality of OFDM symbols and a plurality of subcarriers.
10. The base station of claim 8, wherein the resource request comprises an indicator or a flag.
11. The base station of claim 10, wherein the resource request comprises a request for uplink resources for the access terminal.
12. The base station of claim 8, wherein the processing circuitry is further configured to cause the base station to identify the access terminal from which the resource request is transmitted based at least in part on the resources on which the resource request is received.
13. The base station of claim 8, wherein the resources for the resource request assigned to the access terminal comprise resources overlaid on time-frequency resources used for uplink control signaling.
14. The base station of claim 8, wherein the resources for the resource request assigned to the access terminal comprise time-frequency resources assigned at least in part to a second access terminal of the plurality of access terminals, the second access terminal using at least one orthogonal spreading sequence that differs from the at least one orthogonal spreading sequence used by the access terminal.
15. A non-transitory computer-readable medium storing instructions that, when executed by processing circuitry of a base station, case the base station to:
assign resources for a resource request to the access terminal, the assigned resources comprising periodic time-frequency resources of an orthogonal frequency division multiplexing (OFDM) based signaling scheme; and
receive the resource request combined with acknowledge (ACK) andor negative acknowledge (NACK) feedback from the access terminal,
wherein the resource request is spread over a plurality of subcarriers in one or more OFDM symbols of the assigned resources using at least one orthogonal spreading sequence.
16. The non-transitory computer-readable medium of claim 15, wherein the periodic time-frequency resources comprise localized or distributed time-frequency resources in a plurality of OFDM symbols and a plurality of subcarriers.
17. The non-transitory computer-readable medium of claim 15, wherein the resource request comprises an indicator or a flag that indicates a request for uplink resources for the access terminal.
18. The non-transitory computer-readable medium of claim 15, wherein execution of the instructions by processing circuitry further cause the base station to identify the access terminal from which the resource request is transmitted based at least in part on the resources on which the resource request is received.
19. The non-transitory computer-readable medium of claim 15, wherein the resources for the resource request assigned to the access terminal comprise resources overlaid on time-frequency resources used for uplink control signaling.
20. The non-transitory computer-readable medium of claim 15, wherein the resources for the resource request assigned to the access terminal comprise time-frequency resources assigned at least in part to a second access terminal of the plurality of access terminals, the second access terminal using at least one orthogonal spreading sequence that differs from the at least one orthogonal spreading sequence used by the access terminal.