Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

An apparatus for enabling an object-oriented application to access in an object-oriented manner a procedural operating system having a native procedural interface is disclosed. The apparatus includes a computer and a memory component in the computer. A code library is stored in the memory component. The code library includes computer program logic implementing an object-oriented class library. The object-oriented class library comprises related object-oriented classes for enabling the application to access in an object-oriented manner services provided by the operating system. The object-oriented classes include methods for accessing the operating system services using procedural function calls compatible with the native procedural interface of the operating system. The computer processes object-oriented statements contained in the application and defined by the class library by executing methods from the class library corresponding to the object-oriented statements.

InventorsDebra Lyn Orton, Eugenie Lee Bolton, Daniel F. Chernikoff, David Brook Goldsmith, Christopher P. Moeller
Original AssigneeObject Technology Licensing Corp.
Primary Examiner: John Q. Chavis
Current U.S. Classification717/116; 717/138
International Classification: G06F 945

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4456954Jun 15, 1981Jun 26, 1984International Business Machines CorporationVirtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
US4530052Oct 14, 1982Jul 16, 1985Honeywell Information Systems Inc.Apparatus and method for a data processing unit sharing a plurality of operating systems
US4722048Apr 3, 1985Jan 26, 1988Honeywell Bull Inc.Microcomputer system with independent operating systems
US4821220Jul 25, 1986Apr 11, 1989Tektronix, Inc.System for animating program operation and displaying time-based relationships
US4885717Sep 25, 1986Dec 5, 1989Tektronix, Inc.System for graphically representing operation of object-oriented programs
US4891630Apr 22, 1988Jan 2, 1990Computer vision system with improved object orientation technique
US4926322Aug 3, 1987May 15, 1990Compag Computer CorporationSoftware emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US4953080Apr 25, 1988Aug 28, 1990Hewlett-Packard CompanyObject management facility for maintaining data in a computer system
US4974159Sep 13, 1988Nov 27, 1990Microsoft CorporationMethod of transferring control in a multitasking computer system
US5041992Oct 24, 1988Aug 20, 1991University of PittsburghInteractive method of developing software interfaces
US5050090Mar 30, 1989Sep 17, 1991R. J. Reynolds Tobacco CompanyObject placement method and apparatus
US5060276May 31, 1989Oct 22, 1991AT&T Bell LaboratoriesTechnique for object orientation detection using a feed-forward neural network
US5075848Dec 22, 1989Dec 24, 1991Intel CorporationObject lifetime control in an object-oriented memory protection mechanism
US5093914Dec 15, 1989Mar 3, 1992AT&T Bell LaboratoriesMethod of controlling the execution of object-oriented programs
US5119475Aug 29, 1991Jun 2, 1992Schlumberger Technology CorporationObject-oriented framework for menu definition
US5125091Jun 8, 1989Jun 23, 1992Hazox CorporationObject oriented control of real-time processing
US5133075Dec 19, 1988Jul 21, 1992Hewlett-Packard CompanyMethod of monitoring changes in attribute values of object in an object-oriented database
US5136705Jun 10, 1991Aug 4, 1992Tektronix, Inc.Method of generating instruction sequences for controlling data flow processes
US5136711Oct 17, 1990Aug 4, 1992AST ResearchSystem for multiple access hard disk partitioning
US5151987Oct 23, 1990Sep 29, 1992International Business Machines CorporationRecovery objects in an object oriented computing environment
US5179703Apr 23, 1990Jan 12, 1993International Business Machines CorporationDynamically adaptive environment for computer programs
US5181162Dec 6, 1989Jan 19, 1993Eastman Kodak CompanyDocument management and production system
US5237669Jul 15, 1991Aug 17, 1993Quarterdeck Office Systems, Inc.Memory management method
US5247681Dec 18, 1990Sep 21, 1993International Business Machines CorporationDynamic link libraries system and method
US5274821Aug 27, 1992Dec 28, 1993International Business Machines CorporationCommunication between prolog and an external process
US5280610Aug 14, 1990Jan 18, 1994Digital Equipment CorporationMethods and apparatus for implementing data bases to provide object-oriented invocation of applications
US5287507Mar 27, 1992Feb 15, 1994Sun Microsystems, Inc.Method and apparatus for portable object handles that use local caches
US5293385Dec 27, 1991Mar 8, 1994International Business Machines CorporationMethod and means for using sound to indicate flow of control during computer program execution
US5297284Apr 9, 1991Mar 22, 1994Microsoft CorporationMethod and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language
US5313636Aug 5, 1993May 17, 1994Intellicorp, Inc.Mosaic objects and method for optimizing object representation performance in an object-oriented representation system
US5315703Dec 23, 1992May 24, 1994Taligent, Inc.Object-oriented notification framework system
US5315709Dec 3, 1990May 24, 1994Bachman Information Systems, Inc.Method and apparatus for transforming objects in data models
US5317741May 10, 1991May 31, 1994Siemens Corporate Research, Inc.Computer method for identifying a misclassified software object in a cluster of internally similar software objects
US5321841Jan 29, 1993Jun 14, 1994Digital Equipment CorporationSystem for determining the rights of object access for a server process by combining them with the rights of the client process
US5325481Apr 12, 1991Jun 28, 1994Hewlett-Packard CompanyMethod for creating dynamic user panels in an iconic programming system
US5325522Apr 10, 1991Jun 28, 1994United States Data CorporationApparatus and method for communicating between devices trough use of a real time data base
US5325524Apr 6, 1992Jun 28, 1994Digital Equipment CorporationLocating mobile objects in a distributed computer system
US5325533Jun 28, 1993Jun 28, 1994Taligent, Inc.Engineering system for modeling computer programs
US5327562May 6, 1992Jul 5, 1994Microsoft CorporationMethod for implementing virtual function tables in a compiler for an object-oriented programming language
US5339422Mar 7, 1991Aug 16, 1994Digital Equipment CorporationSystem and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
US5339430Jul 1, 1992Aug 16, 1994Telefonaktiebolaget L M EricssonSystem for dynamic run-time binding of software modules in a computer system
US5339438Dec 10, 1993Aug 16, 1994International Business Machines CorporationVersion independence for object oriented programs
US5341478Nov 3, 1993Aug 23, 1994Digital Equipment CorporationMethods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US5361350Dec 12, 1991Nov 1, 1994International Business Machines CorporationObject oriented method management system and software for managing class method names in a computer system
US5361358Aug 7, 1992Nov 1, 1994International Business Machines CorporationSystem and method for installing program code for operation from multiple bootable operating systems
US5369766Mar 25, 1993Nov 29, 1994Taligent, Inc.Object-oriented loader system with support for different load formats
US5379432Jul 19, 1993Jan 3, 1995Taligent, Inc.Object-oriented interface for a procedural operating system
US5404529Jul 19, 1993Apr 4, 1995Taligent, Inc.Object-oriented interprocess communication system interface for a procedural operating system
US5446902Jul 14, 1993Aug 29, 1995Sun Microsystems, Inc.Method for implementing computer applications in an object oriented manner using a traditional non-object oriented programming language
US5475845Sep 28, 1994Dec 12, 1995Taligent, Inc.Wrapper system for interfacing an object-oriented application to a procedural operating system
US5555418Jan 30, 1995Sep 10, 1996System for changing software during computer operation
US5752034Sep 13, 1994May 12, 1998Texas Instruments IncorporatedApparatus and method for providing an event detection notification service via an in-line wrapper sentry for a programming language
US5901313Sep 2, 1997May 4, 1999AST Research, Inc.Application management system

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6427229Oct 22, 1998Jul 30, 2002International Business Machines CorporationObject oriented mechanism and method for maintaining elements on a flexibly constrained collection that may use any suitable object as a key
US6633864Apr 29, 1999Oct 14, 2003International Business Machines CorporationMethod and apparatus for multi-threaded based search of documents
US6725456Nov 29, 1999Apr 20, 2004Lucent Technologies Inc.Methods and apparatus for ensuring quality of service in an operating system
US6836885Sep 21, 1999Dec 28, 2004Wyse Technology Inc.Method and apparatus for display of windowing application programs on a terminal
US6954922Apr 29, 1998Oct 11, 2005Sun Microsystems, Inc.Method apparatus and article of manufacture for time profiling multi-threaded programs
US7028298Sep 10, 1999Apr 11, 2006Sun Microsystems, Inc.Apparatus and methods for managing resource usage
US7047524Dec 30, 2000May 16, 2006HyperformixObject oriented ADN and method of converting a non-object oriented computer language to an object oriented computer language
US7634728Dec 28, 2002Dec 15, 2009International Business Machines CorporationSystem and method for providing a runtime environment for active web based document resources
US7720672Sep 21, 1999May 18, 2010Wyse Technology Inc.Method and apparatus for display of windowing application programs on a terminal
US8079021Apr 19, 2006Dec 13, 2011WYSE Technology Inc.Method and apparatus for display of windowing application programs on a terminal
US8174503May 17, 2008May 8, 2012David H. CainTouch-based authentication of a mobile device through user generated pattern creation

Claims

1. A computer system, comprising:

computer hardware for performing native system services;
a procedural operating system, having a native interface, for controlling the computer hardware to perform the native system services;
object oriented methods requiring native system services;
procedural program logic code, responsive to invocations of the object-oriented methods during runtime, for causing the procedural operating system to control the computer hardware to perform the required native system services;
executable program memory associated with the computer hardware for runtime execution of the procedural operating system, invocations of the object-oriented methods and related portions of the procedural program logic code;
means for making determinations during runtime execution if object-oriented methods to be invoked are present in the executable program memory; and
a runtime loader, responsive to the determinations, to selectively load required object-oriented methods into the executable program memory during runtime before invocation of the object-oriented methods.

2. The computer system of claim 1, wherein the procedural program logic code further comprises:

procedural program logic code portions specific to each object-oriented method to issue one or more procedural function calls compatible with the native interface to control the native system services performed by the hardware environment to correspond to the native system services required by the object-oriented method.

3. The computer system of claim 1, wherein the runtime loader further comprises:

means for selectively loading related portions of the procedural program logic code into the executable program memory upon runtime loading of the selected object-oriented methods.

4. The computer system of claim 3, wherein the procedural operating system further comprises:

an operating system based on Windows or Unix.

5. The computer system of claim 3 wherein the computer hardware further comprises:

a Unix or Apple or IBM compatible computer environment.

6. The computer system of claim 3 wherein the procedural program logic code further comprises:

means for causing the procedural operating system to provide one or more of the following native system services:
thread services, task services, virtual memory services, inter-process communication (IPC) services, synchronization services, scheduling services, fault services, processor and processor set services, port services, security services, file system services and graphical user interface (GUI) services.

7. A method for operating a computer system, comprising the steps of:

executing a procedural operating system on computer hardware, the procedural operating system including a native interface, responsive to procedural function calls, for providing native system services;
issuing calls during runtime, compatible with the native interface, to provide the native system services in response to invocations of object-oriented methods requiring such native system services;
determining during runtime if object-oriented methods to be invoked during runtime execution are present in executable program memory associated with the computer hardware; and
selectively loading the object-oriented methods into the executable program memory during runtime before invocation thereof, if not yet loaded.

8. The method of claim 7, wherein the step of selectively loading the object-oriented methods further comprises the step of:

loading related portions of a procedural program logic code for issuing the calls, compatible with the native interface, to provide the native system services in response to invocations of the selectively loaded object-oriented methods.

9. The method of claim 8, wherein the step of executing a procedural operating system on computer hardware further comprises the step of:

executing a procedural operating system, based on Windows or Unix, in a Unix or IBM compatible computer environment.

10. The method of claim 7, wherein the step of issuing calls, compatible with the native interface, to provide the native system services in response to invocations of object-oriented methods requiring such native system services, further comprises the step of:

adapting the native services provided by the procedural operating system to be compatible with the native system services required by the associated object-oriented method.

11. The method of claim 10 wherein the step of issuing calls compatible with the native interface further comprises the step of:

providing one or more of the following native system services:
thread services, task services, virtual memory services, inter-process communication (IPC) services, synchronization services, scheduling services, fault services, processor and processor set services, port services, security services, file system services and graphical user interface (GUI) services.

12. A method for operating a computer system, comprising the steps of:

executing a procedural operating system, based on Windows or Unix operating systems, on a Unix or IBM compatible computer hardware environment;
providing an object-oriented interface, executing on the computer hardware environment, and responsive to object-oriented programming, for instantiating objects from object-oriented classes, encapsulating data for exclusive use with each object, and invoking object-oriented methods in the objects for operating on the encapsulated data;
providing procedural programming logic code, responsive during runtime to selected ones of said invoked object-oriented methods requiring native system services, for issuing procedural calls, compatible with a native interface of the procedural operating system, to cause the hardware environment to provide the native system services in response to the object-oriented methods; and
loading the methods during runtime before invocation thereof;
whereby a choice of which system implementation to use can be deferred to run-time.

13. The method of claim 12 wherein the step of providing procedural programming logic code for issuing procedural calls further comprises the step of:

issuing procedural function calls to the operating system in response to invocations of selected object-oriented methods for causing the procedural operating system to control the computer hardware environment to provide one or more of the following native system services:
thread services, task services, virtual memory services, inter-process communication (IPC) services, synchronization services, scheduling services, fault services, processor and processor set services, port services, security services, file system services and graphical user interface (GUI) services.

14. The method of claim 13, wherein the step of issuing procedural function calls to the operating system in response to invocations of selected object-oriented methods further comprises the step of:

providing procedural logic code, responsive to the invocation of each object-oriented method requiring the performance of native system services, to execute predetermined procedural code to control the native system services performed by the hardware environment to correspond to the native system services required by the object-oriented method.

15. The method of claim 13, wherein the step of issuing procedural function calls to the operating system in response to invocations of selected object-oriented methods further comprises the step of:

providing procedural logic code, responsive to the invocation of each object-oriented method requiring the performance of native system services, to issue, monitor and adapt one or more procedural function calls to control the native system services performed to correspond to the native system services required by the object-oriented method.

16. A method for operating a computer system including a memory, comprising the steps of:

storing in the memory a library of procedural program logic code;
said library including first procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform first type native system services;
said library including second procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform second type native system services different from said first type;
executing a procedural operating system in the memory, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
running an object-oriented program in a task address space of the memory, the program including an object-oriented method requiring the second type native system services;
determining during runtime whether said second type procedural program logic code is available in said task address space; and
loading said second type procedural program logic code into said task address space during runtime.

17. A method for operating a computer system including an executable program memory, comprising the steps of:

storing in the computer system a library of procedural program logic code;
said library including first procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform first type native system services;
said library including second procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform second type native system services different from said first type;
executing a procedural operating system in the executable program memory, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
running an object-oriented program in the executable program memory, the program including an object-oriented method requiring the second type native system services;
determining during runtime whether said second type procedural program logic code is available in the executable program memory; and
loading said second type procedural program logic code into the executable program memory during runtime.

18. A method for operating a computer system including an executable program memory, comprising the steps of:

storing in the computer system a library of procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform native system services;
executing a procedural operating system in the executable program memory, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
running an object-oriented program in the executable program memory, the program including an object-oriented method requiring native system services;
determining during runtime whether procedural program logic code is available in the executable program memory to provide said required native system services; and
loading procedural program logic code from said library into the executable program memory during runtime to provide said required native system services.

19. A method for operating a computer system including an executable program memory, comprising the steps of:

storing in the computer system a library of procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform native system services;
executing a procedural operating system in the computer system, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
running an object-oriented program in the executable program memory, the program including an object-oriented method requiring native system services;
determining during runtime whether procedural program logic code is available in the executable program memory to provide said required native system services; and
loading procedural program logic code from said library into the executable program memory during runtime to provide said required native system services.

20. A computer system including an executable program memory, comprising:

a library of procedural program logic code in the computer system which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform native system services;
a procedural operating system in the computer system, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
an object-oriented program in the executable program memory, the program including an object-oriented method requiring native system services;
a processor in the computer system for determining during runtime whether procedural program logic code is available in the executable program memory to provide said required native system services; and
said processor loading procedural program logic code from said library into the executable program memory during runtime to provide said required native system services.

21. A method for operating a computer system including an executable program memory, comprising the steps of:

storing in the computer system a library of procedural program logic code which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform native system services;
executing a procedural operating system in the computer system, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
running an object-oriented program in the executable program memory, the program including an object-oriented method requiring native system services;
determining during runtime whether procedural program logic code is available in the executable program memory to provide said required native system services;
loading procedural program logic code from said library into the executable program memory during runtime to provide said required native system services;
invoking said object-oriented method of said object-oriented program during runtime; and
responding with said loaded procedural program logic code to said invoking step to cause said procedural operating system to control the computer system to perform said required native system services.

22. A computer system including an executable program memory, comprising:

a library of procedural program logic code in the computer system which is responsive to invocations of object-oriented methods, for causing a procedural operating system to control the computer system to perform native system services;
a procedural operating system in the computer system, the procedural operating system including a native interface responsive to procedural function calls, for providing native system services;
an object-oriented program in the executable program memory, the program including an object-oriented method requiring native system services;
a processor in the computer system for determining during runtime whether procedural program logic code is available in the executable program memory to provide said required native system services;
said processor loading procedural program logic code from said library into the executable program memory during runtime to provide said required native system services;
said processor invoking said object-oriented method of said object-oriented program during runtime; and
said loaded procedural program logic code responding to said invoking to cause said procedural operating system to control the computer system to perform said required native system services.