Event-responsive download of portions of streamed applications
Abstract
Disclosed here are implementations involving an application program that includes an event handling portion. The event handling portion monitors for an event associated with execution of an initial portion of the application program downloaded with the event handling portion that involves an additional portion of the application program not yet downloaded. In response to detecting the event, the execution of the initial portion of the application program is paused by the event handler and downloading of the additional portion is initiated. Upon downloading the additional portion of the application program, execution of the initial portion of the application program can resume.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . One or more computer readable media having stored thereon at least an event handling portion of an application program for facilitating streaming of the application program that when executed by a computing system directs the computing system to at least:
monitor for an event associated with operations of an initial portion of the application program that was downloaded with the event handling portion, wherein the operations comprise a jump to a range of virtual memory allocated to an additional portion of the application program not yet downloaded to the computing system; in response to detecting the event, pause the operations of the initial portion of the application program and initiate downloading of the additional portion of the application program to the computing system; and upon downloading the additional portion of the application program to the computing system, resume the operations of the initial portion of the application program that involves the additional portion of the application program.
2 . The one or more computer readable media of claim 1 wherein the event associated with the operations of the initial portion of the application program comprises an access violation corresponding to an access restricted page within the range of virtual memory allocated to the application program.
3 . The one or more computer readable media of claim 2 wherein the event handler portion of the application program, when executed by the computing system, further directs the computing system to identify the additional portion from remaining portions of the application program yet to be downloaded that correspond to the access restricted page.
4 . The one or more computer readable media of claim 2 wherein the additional portion of the application program comprises executable code.
5 . The one or more computer readable media of claim 2 wherein the additional portion of the application program comprises non-executable data to be processed by the initial portion of the application program.
6 . The one or more computer readable media of claim 1 wherein the event associated with the operations of the initial portion of the application program comprises an attempt to read data from the additional portion of the application program.
7 . The one or more computer readable media of claim 1 having stored thereon the initial portion of the application program that, when executed by the computing system, directs the computing system to map the event handler portion and the initial portion of the application program within a range of memory allocated to the application program.
8 . The one or more computer readable media of claim 7 wherein the initial portion of the application program, when executed by the computing system, directs the computing system to map the additional portion of the application program within the range of memory allocated to the application program, wherein the memory comprises virtual memory.
9 . A method of operating an event handling portion of an application program on a computing system when streaming the application program to the computing system, the method comprising:
monitoring for an event associated with operations of an initial portion of the application program that was downloaded with the event handling portion, wherein the operations comprise a jump to a range of virtual memory allocated to an additional portion of the application program not yet downloaded to the computing system; in response to detecting the event, pausing the operations of the initial portion of the application program and initiate downloading of the additional portion of the application program to the computing system; and upon downloading the additional portion of the application program to the computing system, resuming the operations of the initial portion of the application program that involves the additional portion of the application program.
10 . The method of claim 9 wherein the event associated with the operations of the initial portion of the application program comprises an access violation corresponding to an access restricted page within the range of virtual memory allocated to the application program.
11 . The method of claim 10 further comprising identifying the additional portion from remaining portions of the application program yet to be downloaded that correspond to the access restricted page.
12 . The method claim 10 wherein the additional portion of the application program comprises executable code.
13 . The method of claim 10 wherein the additional portion of the application program comprises non-executable data to be processed by the initial portion of the application program.
14 . The method of claim 9 wherein the event associated with the operations of the initial portion of the application program comprises an attempt to read data from the additional portion of the application program.
15 . The method of claim 9 wherein the event handler portion and the initial portion of the application program are mapped to a range of memory allocated to the application program.
16 . The method of claim 15 the additional portion of the application program is also mapped to the range of memory allocated to the application program, wherein the memory comprises virtual memory.
17 . An apparatus comprising:
one or more computer readable storage devices; a computing system operatively coupled with the one or more computer readable storage devices; and program instructions stored on the one or more computer readable storage devices and comprising at least an event handling portion of an application program for facilitating streaming of the application program that, when executed by the computing system directs the computing system to at least: monitor for an event associated with operations of an initial portion of the application program that was downloaded with the event handling portion, wherein the operations comprise a jump to a range of virtual memory allocated to an additional portion of the application program not yet downloaded to the computing system; in response to detecting the event, pause the operations of the initial portion of the application program and initiate downloading of the additional portion of the application program to the computing system; and upon downloading the additional portion of the application program to the computing system, resume the operations of the initial portion of the application program that involves the additional portion of the application program.
18 . The apparatus of claim 17 wherein the event comprises an access violation that corresponds to an access restricted page within a range of virtual memory allocated to the application program, wherein the access restricted page comprises a page loaded into the range of virtual memory but not accessible by the initial portion of the application, wherein the access violation is not a page fault, and wherein to monitor for the event, the event handling portion of the application program directs the computing system to at least:
receive a notification of the access violation from an operating system element that the access violation occurred.
19 . The apparatus of claim 18 wherein the event handler portion of the application program, when executed by the computing system, further directs the computing system to identify the additional portion from remaining portions of the application program yet to be downloaded corresponding to the access restricted page.
20 . The apparatus of claim 18 wherein the additional portion of the application program comprises one of executable code or non-executable data to be processed by the initial portion of the application program.Join the waitlist — get patent alerts
Track US2017078369A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.