IP Library Granted Patent US 7,082,600
Granted Patent B1
US 7,082,600 · App. 10/287,856 · Granted Jul 25, 2006

Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel

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,082,600
App. No.
10/287,856
Granted
Jul 25, 2006
Kind
B1
Abstract

An application programming language runtime environment is integrated with an operating system kernel. The resulting merged data structures, meta-data structures and access methods contain the consolidation of information needed by the application programming language runtime and the operating system, without duplication. Integrating resources of the application programming language runtime and the operating system reduces the overall memory needed to store the merges data structures and meta data structures. Additionally, overhead in maintaining multiple data structures in parallel is also reduced, thus reducing the processing required. The integrated application programming language runtime and operating system kernel environment can also sharing semantic behavior such that untrusted application program code is prevented from escaping the application programming language runtime environment.

Claims (45)

1. A method for integrating an object oriented application programming language runtime environment with an operating system kernel, comprising:

(a) providing distinct application processes for executing application programs;

(b) sharing the application programming language runtime environment with the distinct application processes, the application programming language runtime environment specification designed independent of the operating system kernel, the sharing comprising:

merging certain class data structures of the application programming language runtime environment with class data structures of the operating system kernel, said merging resulting in merged class data structures;

merging certain class meta-data structures of the application programming language runtime environment with class meta-data structures of the operating system kernel, said merging resulting in merged class meta-data structures; and

merging certain class access methods of the application programming language runtime environment with class access methods of the operating system kernel, said merging resulting in merged class access methods; and

(c) executing the distinct application processes such that memory for storage of the merged class data structures, the merged class meta-data structures and the merged class access methods, and processing to execute the merged class access methods are reduced.

2. The method of claim 1 wherein the application programming language runtime environment comprises a threading system resource.

3. The method of claim 1 wherein the application programming language runtime environment comprises a resource for a process synchronization system.

4. The method of claim 1 wherein the application programming language runtime environment comprises a resource for a process resource ownership system.

5. The method of claim 1 wherein the application programming language runtime environment comprises a resource for a graphical user interface system.

6. The method of claim 1 wherein the application programming language runtime environment comprises a resource for an input-output system.

7. The method of claim 1 wherein the application programming language runtime environment comprises a resource for a networking system.

8. The method of claim 1 wherein the application programming language runtime environment comprises a security system, the application programming language runtime environment and operating system kernel environment sharing semantic behavior such that untrusted application program code is prevented from escaping the application programming language runtime environment.

9. An integrated object oriented application programming language runtime environment and operating system kernel computer apparatus, comprising:

distinct application processes for executing application programs;

the application programming language runtime environment shared with the distinct application processes, the application programming language runtime environment specification designed independent of the operating system kernel;

shared classes comprising:

merged class data structures of the application programming language runtime environment and class data structures of the operating system kernel;

merged class meta-data structures of the application programming language runtime environment and class meta-data structures of the operating system kernel; and

merged class access methods of the application programming language runtime environment and class access methods of the operating system kernel; and

(c) a processor executing the distinct application processes such that memory for storage of the merged class data structures, the merged class meta-data structures and the merged class access methods, and processing to execute the merged class access methods are reduced.

10. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a threading system resource.

11. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a resource for a process synchronization system.

12. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a resource for a process resource ownership system.

13. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a resource for a graphical user interface system.

14. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a resource for an input-output system.

15. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a resource for a networking system.

16. The computer apparatus of claim 9 wherein the application programming language runtime environment comprises a security system, the application programming language runtime environment and operating system kernel environment sharing semantic behavior such that untrusted application program code is prevented from escaping the application programming language runtime environment.

17. An integrated object oriented application programming language runtime environment and operating system kernel computer apparatus, comprising:

means for providing distinct application processes for executing application programs;

means for sharing the application programming language runtime environment with the distinct application processes, the application programming language runtime environment specification designed independent of the operating system kernel, the sharing comprising:

means for merging certain class data structures of the application programming language runtime environment with class data structures of the operating system kernel, said merging resulting in merged class data structures;

means for merging certain class meta-data structures of the application programming language runtime environment with class meta-data structures of the operating system kernel, said merging resulting in merged class meta-data structures; and

means for merging certain class access methods of the application programming language runtime environment with class access methods of the operating system kernel, said merging resulting in merged class access methods; and

means for executing the distinct application processes such that memory for storage of the merged class data structures, the merged class meta-data structures and the merged class access methods, and processing to execute the merged class access methods are reduced.

18. A computer program product comprising:

a computer usable medium for integrating an object oriented application programming language runtime environment with an operating system kernel;

a set of computer program instructions embodied on the computer usable medium, including instructions to:

(a) provide distinct application processes for executing application programs;

(b) share the application programming language runtime environment with the distinct application processes, the application programming language runtime environment specification designed independent of the operating system kernel, the sharing comprising:

merge certain class data structures of the application programming language runtime environment with class data structures of the operating system kernel, said merging resulting in merged class data structures;

merge certain class meta-data structures of the application programming language runtime environment with class meta-data structures of the operating system kernel, said merging resulting in merged class meta-data structures; and

merge certain class access methods of the application programming language runtime environment with class access methods of the operating system kernel, said merging resulting in merged class access methods; and

(c) execute the distinct application processes such that memory for storage of the merged class data structures, the merged class meta-data structures and the merged class access methods, and processing to execute the merged class access methods are reduced.

Assignments (5)
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 037302/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2009
From: SAVAJE TECHNOLOGIES, INC.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022773/0173 →
SECURITY AGREEMENT Recorded Oct 27, 2006
From: SAVAJE TECHNOLOGIES, INC.
To: RIDGEWOOD SAVAJE, LLC
Reel/Frame 018442/0526 →
NOTICE OF GRANT OF SECURITY INTEREST Recorded Mar 26, 2004
From: SAVAJE TECHNOLOGIES, INC.
To: RRE VENTURES III, L.P.; RRE VENTURES III-A, L.P.; RRE VENTURE FUND III, L.P.
Reel/Frame 015124/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2002
From: RAU, LAWRENCE R.; NEWELL, CRAIG F.; BARRUS, FRANK E.; CATINO, MATTHEW J.
To: SAVAJE TECHNOLOGIES, INC.
Reel/Frame 013465/0858 →