IP Library Granted Patent US 7,562,359
Granted Patent B1
US 7,562,359 · App. 10/929,346 · Granted Jul 14, 2009

User process object code installer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,562,359
App. No.
10/929,346
Granted
Jul 14, 2009
Kind
B1
Abstract

A computer implemented method of computer implemented method for installing a code object in a user process virtual memory space, while the user process is running is provided. The user process is run in a virtual memory space. A controller process is run in a different virtual memory space than the user process. The control process requests to a kernel module to install the code object into the virtual memory space of the user process. The kernel module installs the code object into the virtual memory space of the user process, while the user process is running.

Claims (37)

1. A computer readable storage medium including a set of instructions executable by a processor, the set of instructions being operable to:

run a user process;

copy code from the user process to separate memory;

replace the copied code with a trap;

add instructions after the copy of the code in separate memory to direct a process to a point in the user process after the trap;

encounter the trap during an execution of the user process, wherein the trap sends the execution to the copy of the code in separate memory;

execute the copy of the code in separate memory; and

execute the added instructions to return execution to the user process.

2. Computer readable storage media including a set of instructions executable by a processor, the set of instructions being operable to:

run a user process in a virtual memory space;

run a controller process in a different virtual memory space than the user process;

request from the control process to a kernel module to install a code object into the virtual memory space of the user process; and

install, by the kernel module, the code object into the virtual memory space of the user process, while the user process is running.

3. The computer readable storage media of claim 2 , wherein the set of instructions are further operable to cause the control process to cause the kernel module to be installed.

4. The computer readable storage media, as recited in claim 3 , wherein the set of instructions are further operable to request, by the control process to the kernel module, to remove the installed code object from the running process.

5. The computer readable storage media, as recited in claim 4 , wherein the set of instructions for having the kernel module install the object into the virtual memory space of the user process, includes instructions operable to map, by the kernel module, the code object into the virtual memory space of the user process.

6. The computer readable storage media, as recited in claim 5 , wherein the set of instructions for having the kernel module map the code into the virtual memory space of the user process, includes instructions operable to:

allocate, by the kernel module, space in the user process virtual memory space for the code object;

map all sections of the code object into allocated areas; and

apply all relocation sections of the code object to a mapped instance.

7. The code readable storage media, as recited in claim 6 , wherein the set of instructions for having the kernel module install the code, includes instructions operable to:

install, by the kernel module, a hook into a callback;

send, from the kernel module, a signal to the user process;

receive the signal at the user process, wherein the signal causes the execution of the callback, which causes the execution of the kernel module as part of the kernel handling of the user process; and

consume, by the kernel module, the signal.

8. The computer readable storage media, as recited in claim 2 , wherein the set of instructions are further operable to request, by the control process to the kernel module, to remove the installed code object from the running process.

9. Computer readable storage media, as recited in claim 2 , wherein the set of instructions for having the kernel module install the code object into the virtual memory space of the user process,

includes instructions operable to map, by the kernel module, the code object into the virtual memory space of the user process.

10. The computer readable storage media, as recited in claim 2 , wherein the set of instructions for having the kernel module map the code object into the virtual memory space of the user process, includes instructions operable to:

allocate, by the kernel module, space in the user process virtual memory space for the code object;

map all section of the code object into allocated areas; and

apply all relocation sections of the code object to a mapped instance.

11. The computer readable storage media, as recited in claim 10 , wherein the set of instructions for having the kernel module install the code, includes instructions operable to:

install, by the kernel module, a hook into a callback;

send from the kernel module, a signal to the user process;

receive the signal at the user process, wherein the signal causes the execution of the callback, which causes the execution of the kernel module as part of the kernel handling of the user process; and

consume, by the kernel module, the signal.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2022
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 062239/0590 →
PATENT SECURITY AGREEMENT Recorded Dec 24, 2018
From: WIND RIVER SYSTEMS, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 049148/0001 →
ASSET PURCHASE AGREEMENT Recorded Nov 13, 2006
From: REAL-TIME INNOVATIONS, INC.
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 018572/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2004
From: ANDERSEN, PEDER C.
To: REAL-TIME INNOVATIONS, INC.
Reel/Frame 015352/0764 →