IP Library Granted Patent US 7,552,449
Granted Patent B1
US 7,552,449 · App. 09/488,909 · Granted Jun 23, 2009

Method for enabling multiple concurrent subprocess handling on a system using a global process

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,552,449
App. No.
09/488,909
Granted
Jun 23, 2009
Kind
B1
Abstract

A method and system for enabling multi-subprocess handling on computer systems that employ a global process. A virtual memory separator is provided as part of an operating system to interface with a master process and a kernel of the operating system. The separator maps user-specific processes to virtual address spaces that mirror that of the global process. These user-specific processes are empty spaces, excepting their interface—which is identical to that of the global process—and instructions necessary to carry out user-specific processing. When user-specific operations are encountered in the global process, execution is transferred to a respective user-specific process. Since each user-specific process shares addresses and interfaces with the global process, data can be exchanged between them without serialization, which reduces processing overhead.

Claims (39)

1. In a computer system, a method for providing for concurrent subprocessing of a master process, the method comprising the steps of:

interfacing a master process with a user-specific process that mirrors an interface for the master process when a user-specific operation is encountered;

mapping the user-specific process with a virtual memory separator so that it overlays virtual addresses of the master process;

processing the user-specific operation in the user-specific process; and

transferring data between the master process and the user-specific process using a communications channel that does not require the serialization of data.

2. The method of claim 1 , further comprising the step of:

providing an interface for the user-specific process that mirrors the interface for the master process.

3. The method of claim 1 wherein the master process is a global locale process and the user-specific process is a locale-specific process.

4. The method of claim 1 wherein the user-specific process is mapped after the user-specific operation is encountered.

5. The method of claim 1 wherein the user-specific process is mapped before the user-specific operation is encountered.

6. The method of claim 1 further comprising the step of:

returning processing to the master process after processing the user-specific operation in the user-specific process.

7. A computer-readable storage medium comprising computer instructions that facilitate concurrent handling of subprocesses in a system that utilizes a global process, wherein the instructions, when executed, cause the system to perform the steps of:

interfacing the global process with one of a plurality of concurrent user-specific processes that mirrors an interface for the global process when a user-specific operation is encountered;

mapping the plurality of concurrent user-specific processes, wherein each user-specific process is mapped to virtual addresses that are equivalent to virtual addresses of the global process; and

processing the user-specific operation in one of the user-specific processes; and

transferring data between the global process and the one of the user-specific processes using a communications channel that does not require the serialization of data.

8. The computer-readable storage medium of claim 7 , wherein the instructions, when executed, provide each of the plurality of concurrent user-specific processes with an interface that is identical to an interface of the global process.

9. The computer-readable storage medium of claim 8 , wherein the instructions, when executed, cause the system to perform the step of mapping subprocesses within each of the plurality of user-specific processes, the subprocesses being mapped to virtual addresses that are equivalent to virtual addresses for user-specific operations of the global process.

10. The computer-readable storage medium of claim 9 , wherein the instructions, when executed, cause the system to perform the step of returning processing to the global process after execution of the subprocesses is complete.

11. A computer system for enabling concurrent multiple subprocess handling in a global process environment, the system comprising:

means for interfacing a global process with a user-specific process that mirrors an interface for the global process when a user-specific operation is encountered;

a virtual memory separator that maps the user-specific process to virtual addresses that mirror virtual addresses of the global process, the user-specific process having an interface that mirrors an interface of the global process;

means for processing the user-specific operation in the user-specific process; and

means for transferring data between the global process and the user-specific process using a communications channel that does not require the serialization of data.

12. The computer system of claim 11 wherein the global process is a global locale process and wherein the user-specific process is a locale-specific process.

13. The computer system of claim 11 wherein the global process is a global daemon process and wherein the user-specific process is a user-specific daemon process.

14. An apparatus for conducting multi-user concurrent handling of subprocesses, the apparatus comprising:

means for interfacing a master process with a user-specific process that mirrors an interface for the master process when a user-specific operation is encountered;

means for mapping the user-specific process so that it overlays virtual addresses of the master process;

means for processing the user-specific operation in the user-specific process; and

means for transferring data between the master process and the user-specific process using a communications channel that does not require the serialization of data.

15. The apparatus of claim 14 , further comprising:

means providing an interface for the user-specific process that mirrors the interface for the master process.

16. The apparatus of claim 14 wherein the master process is a global locale process and the user-specific process is a locale-specific process.

17. The apparatus of claim 14 wherein the user-specific process is mapped after the user-specific operation is encountered.

18. The apparatus of claim 14 wherein the user-specific process is mapped before the user-specific operation is encountered.

19. The apparatus of claim 14 , further comprising:

means for returning processing to the master process after the user-specific operation is executed in the user-specific process.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0183 →