Method and system for executing an executable file

Inventors

Zolnowsky, John E. • Cameron, George R. • Jones, Blake A.

Assignees

Oracle America Inc • Sun Microsystems Inc

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-10402378-B2

Patent

Publication Date

2019-09-03

Expiration Date


Abstract

A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.

Core Innovation

The invention executes instructions in an executable file by a first process, where the executable file comprises a plurality of pages. The first process accesses a page using an original vnode generated for the executable file. The original vnode comprises a reference to each page and an instruction defining when to create an anonymous file, and the first process executes the instructions of the page while the page is in main memory.

After initiating a page removal to remove the page from main memory, the invention generates, based on the instruction in the original vnode, the anonymous file comprising the instructions from the executable file in response to the page removal. The first process then executes the instructions in the anonymous file. This anonymous file generation is controlled by the instruction defining when to create the anonymous file.

The disclosed approach supports scenarios where pages are removed from main memory and later executed from an anonymous file while a second process may modify the executable. In these situations, the system generates an anonymous file that allows the first process to continue execution without interruption, while the second process modifies the original executable through a write request. Pages associated with the anonymous vnode are evicted back to file storage, and reference-count-based garbage collection reclaims anonymous file storage after execution completes.

Claims Coverage

The independent claims are clm-00001 and clm-00008. Across these independent claims, there are inventive features centered on page-based execution using an original vnode instruction to generate an anonymous file upon page removal, followed by execution from the anonymous file.

Page-based execution via original vnode and instruction-defined anonymous file creation

Accessing a page of the plurality of pages using an original vnode generated for the executable file, where the original vnode comprises a reference to each page and an instruction defining when to create an anonymous file, and executing the instructions of the page while the page is in main memory.

Generate anonymous file in response to page removal and execute from anonymous file

Initiating a page removal to remove the page from the main memory, generating, based on the instruction in the original vnode defining when to create the anonymous file, the anonymous file comprising the instructions from the executable file in response to the page removal, and executing the instructions in the anonymous file by the first process.

Non-transitory computer readable medium causing execution with original vnode and anonymous file upon page removal

Causing a computer system to execute instructions in an executable file by a first process using an original vnode with an instruction defining when to create an anonymous file, execute the instructions while the page is in main memory, initiate page removal, generate the anonymous file in response to the page removal based on the original vnode instruction, and execute the instructions in the anonymous file by the first process.

Both independent claims require executing an executable’s page-based instructions using an original vnode that includes an instruction defining anonymous file creation timing, creating an anonymous file in response to page removal, and executing from the anonymous file.

Stated Advantages

Allows executing the anonymous file without interruption while a second process modifies the original executable.

Remote execution benefits include no re-obtaining pages and no locking of pages.

Documented Applications

Executing an executable file where a second process concurrently modifies the executable, including local and remote executable storage scenarios involving page swap behavior.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.