IP Library Granted Patent US 7,784,058
Granted Patent B2
US 7,784,058 · App. 10/946,536 · Granted Aug 24, 2010

Computing system having user mode critical system elements as shared libraries

Assignee: Trigence Corp.
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,784,058
App. No.
10/946,536
Granted
Aug 24, 2010
Kind
B2
Abstract

A computing system and architecture is provided that affects and extends services exported through application libraries. The system has an operating system having an operating system kernel having OS critical system elements (OSCSEs) for running in kernel mode; and, a shared library having critical system elements (SLCSEs) stored within the shared library for use by the software applications in user mode. The SLCSEs stored in the shared library are accessible to the software applications and when accessed by a software application forms a part of the software application. When an instance of an SLCSE provided to an application from the shared library it is ran in a context of the software application without being shared with other software applications. The other applications running under the operating system each have use of a unique instance of a corresponding critical system element for performing essentially the same function, and can be run simultaneously.

Claims (24)

1. A computing system for executing a plurality of software applications comprising:

a) a processor;

b) an operating system having an operating system kernel having OS critical system elements (OSCSEs) for running in kernel mode using said processor; and,

c) a shared library having shared library critical system elements (SLCSEs) stored therein for use by the plurality of software applications in user mode and

i) wherein some of the SLCSEs stored in the shared library are functional replicas of OSCSEs and are accessible to some of the plurality of software applications and when one of the SLCSEs is accessed by one or more of the plurality of software applications it forms a part of the one or more of the plurality of software applications,

ii) wherein an instance of a SLCSE provided to at least a first of the plurality of software applications from the shared library is run in a context of said at least first of the plurality of software applications without being shared with other of the plurality of software applications and where at least a second of the plurality of software applications running under the operating system have use of a unique instance of a corresponding critical system element for performing same function, and

iii) wherein a SLCSE related to a predetermined function is provided to the first of the plurality of software applications for running a first instance of the SLCSE, and wherein a SLCSE for performing a same function is provided to the second of the plurality of software applications for running a second instance of the SLCSE simultaneously.

2. A computing system as defined in claim 1 , wherein in operation, multiple instances of an SLCSE stored in the shared library run simultaneously within the operating system.

3. A computing system according to claim 1 wherein OSCSEs corresponding to and capable of performing the same function as SLCSEs remain in the operating system kernel.

4. A computing system according to claim 1 wherein the one or more SLCSEs provided to one of the plurality of software applications having exclusive use thereof, use system calls to access services in the operating system kernel.

5. A computing system according to claim 1 wherein the operating system kernel comprises a kernel module adapted to serve as an interface between an SLCSE in the context of an application program and a device driver.

6. A computing system according to claim 5 wherein the kernel module is adapted to provide a notification of an event to an SLCSE running in the context of an application program, wherein the event is an asynchronous event and requires information to be passed to the SLCSE from outside the application.

7. A computing system according to claim 6 wherein a handler is provided for notifying the SLCSE in the context of one of the plurality of software applications through the use of an up call mechanism.

8. A computing system according to claim 7 wherein the up call mechanism in operation, executes instructions from an SLCSE resident in user mode space, in kernel mode.

9. A computing system according to claim 2 , wherein a function overlay is used to provide one of the plurality of software applications access to operating system services.

10. A computing system according to claim 2 wherein SLCSEs stored in the shared library are linked to particular software applications of the plurality of software applications as the particular software applications are loaded such that the particular software applications have a link that provides unique access to a unique instance of a CSE.

11. A computing system according to claim 2 wherein the SLCSEs utilize kernel services supplied by the operating system kernel for device access, interrupt delivery, and virtual memory mapping.

12. A computing system according to claim 1 , wherein SLCSEs include services related to at least one of, network protocol processes, and the management of files.

13. A computing system according to claim 10 wherein some SLCSEs are modified for a particular one of the plurality of software applications.

14. A computing system according to claim 13 wherein the SLCSEs that are application specific, reside in user mode, while critical system elements, which are platform specific, reside in the operating system kernel.

15. A computing system according to claim 5 wherein the kernel module is adapted to enable data exchange between the SLCSEs in user mode and a device driver in kernel mode, and wherein the data exchange uses mapping of virtual memory such that data is transferred both from the SLCSEs in user mode to the device driver in kernel mode and from the device driver in kernel mode to the SLCSEs in user mode.

16. A computing system according to claim 1 wherein SLCSEs form a part of at least some of the plurality of software applications, by being linked thereto.

17. A computing system according to claim 2 wherein the SLCSEs utilize kernel services supplied by the operating system kernel for device access, interrupt delivery, and virtual memory mapping and otherwise execute without interaction from the operating system kernel.

18. A computer system as defined in claim 2 wherein SLCSEs are not copies of OSCSEs.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE DATA PREVIOUSLY RECORDED ON REEL 47157 FRAME 192. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Dec 12, 2024
From: COMERICA BANK
To: VIRTAMOVE CORP. (FORMERLY APPZERO SOFTWARE CORP.)
Reel/Frame 069631/0379 →
CHANGE OF NAME Recorded Nov 18, 2024
From: APPZERO SOFTWARE CORP.
To: VIRTAMOVE CORP.
Reel/Frame 069380/0009 →
CHANGE OF NAME Recorded Nov 8, 2024
From: TRIGENCE CORP.
To: APPZERO CORP.
Reel/Frame 069337/0245 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 046938 FRAME: 0923. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Sep 27, 2018
From: COMERICA BANK
To: APPZERO SOFTWARE CORP.
Reel/Frame 047157/0192 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2018
From: COMERCIA BANK
To: APPZERO SOFTWARE CORP.
Reel/Frame 046938/0923 →
SECURITY INTEREST Recorded Sep 21, 2015
From: APPZERO SOFTWARE CORP.
To: COMERICA BANK
Reel/Frame 036611/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN NAME OF ASSIGNEE APPZERO SOFTWARE CORP. PREVIOUSLY RECORDED ON REEL 025095 FRAME 0106. ASSIGNOR(S) HEREBY CONFIRMS THE NAME OF ASSIGNEE APPZERO SOFTWARE CORP.. Recorded Oct 13, 2010
From: APPZERO CORP.
To: APPZERO SOFTWARE CORP.
Reel/Frame 025126/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2010
From: APPZERO CORP.
To: APPZEROSOFTWARE CORP.
Reel/Frame 025095/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2004
From: ROCHETTE, DONN; O'LEARY, PAUL; HUFFMAN, DEAN
To: TRIGENCE CORP.
Reel/Frame 015821/0686 →
Continuity (2)
Provisional Application 6050421300 · Sep 22, 2003
Related Publication 20050066303A1 · Mar 24, 2005