Patent US6067577A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6067577A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic method resolution for native methods in a dynamic object-oriented programming language

Assignee: Apple Inc
•
Filing: 1996-09-30
•
Granted: 2000-05-23
•
Expires: 2016-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A variety of mechanisms are disclosed for a dynamically binding native methods in an interpreted bytecode program to functions that are contained in compiled code, such as a dynamically linked library. In one implementation, a shared function is specified by means of a naming convention that is appropriate for the bytecode interpreted program, such as a package of classes. When a native method is to be resolved during loading of a class, the name of the package is examined to see if the method resides in a shared library. If so, it is loaded using techniques that are specific to the compiled code in which the library exists. In another embodiment, a designated base class, or interface, is used to identify the method by which the shared library is to be loaded. In a third type of implementation, a given method requests a class to specify which libraries it needs to be linked to, as it is being loaded, after which the libraries are loaded and the class methods are linked to them.

Inventors

  • 👤 Patrick C. Beard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 08:02
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521; G06F9/448; G06F9/4488; G06F9/449

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 129 words
A method for dynamically binding a class of objects for a computer program written in a first interpreted bytecode program language to functions contained in a shared library written in a second program language, during the operation of a computer, comprising the steps of: defining a mechanism in the first program language which associates a reference to a class of objects and the shared library; loading the class of objects into memory of the computer during the execution of a program: detecting the association in said mechanism between the shared library and the class of objects during the loading of the class of objects into memory; and loading an implementation of a method from the shared library into the computer's memory during the loading of the class of objects.
Claim 2
Independent Claim 129 words
A method for dynamically binding a class of objects for a computer program written in a first interpreted bytecode program language to functions contained in a shared library written in a second program language, during the operation of a computer, comprising the steps of: defining a mechanism in the first program language which associates a reference to a class of objects and the shared library; loading the class of objects into memory of the computer during the execution of a program: detecting the association in said mechanism between the shared library and the class of objects during the loading of the class of objects into memory; and loading an implementation of a method from the shared library into the computer's memory during the loading of the class of objects.
Claim 3
Dependent Claim 22 words
The method of claim 1 wherein said mechanism comprises a naming convention for the language which identifies a group of related classes.
Claim 4
Dependent Claim 16 words
The method of claim 2 wherein said naming convention includes an identification of the shared library.
Claim 5
Dependent Claim 20 words
The method of claim 3 further including the step of automatically loading the identified shared library upon detecting said identification.
Claim 6
Dependent Claim 26 words
The method of claim 3 wherein the identification of the shared library is contained within the name of the package for the group of related classes.
Claim 7
Dependent Claim 21 words
The method of claim 1 wherein said mechanism comprises a designated class which identifies a procedure for loading a shared library.
Claim 8
Dependent Claim 22 words
The method of claim 6 wherein said procedure identification is followed by a data structure which identifies a library to be loaded.
Claim 9
Dependent Claim 15 words
The method of claim 7 wherein said data structure identifies plural libraries to be loaded.
Claim 10
Dependent Claim 17 words
The method of claim 5 wherein said designated class comprises an abstract class which is not instantiated.
Claim 11
Dependent Claim 27 words
The method of claim 1 wherein said mechanism comprise s a method in said first program language which requests a class to specify libraries to be loaded.
Claim 12
Dependent Claim 14 words
The method of claim 1 wherein said mechanism is contained within said program itself.
Claim 13
Dependent Claim 15 words
The method of claim 1 wherein said second program language comprises a compiled programming language.
Claim 14
Dependent Claim 119 words
In a computer which executes a program written in a first, interpreted bytecode program language, and having an operating system written in a second program language, a system for binding functions provided by said operating system to objects in said program, comprising: a mechanism in the first program language which defines an association between a reference to a class of objects and a function provided by said operating system; means for detecting the association in said mechanism between the function provided by said operating system and the class of objects during the loading of the class of objects; and means for loading an implementation of said function into the computer's memory during the loading of the class of objects.
Claim 15
Dependent Claim 119 words
In a computer which executes a program written in a first, interpreted bytecode program language, and having an operating system written in a second program language, a system for binding functions provided by said operating system to objects in said program, comprising: a mechanism in the first program language which defines an association between a reference to a class of objects and a function provided by said operating system; means for detecting the association in said mechanism between the function provided by said operating system and the class of objects during the loading of the class of objects; and means for loading an implementation of said function into the computer's memory during the loading of the class of objects.
Claim 16
Dependent Claim 37 words
The system of claim 13 wherein said functions provided by the operating system are contained in a shared library, and wherein said loading means includes means for dynamically linking the class of objects to the shared library.
Claim 17
Dependent Claim 23 words
The system of claim 13 wherein said mechanism comprises a naming convention for the first language which identifies a group of related classes.
Claim 18
Dependent Claim 25 words
The system of claim 15 wherein said naming convention includes an identification of a shared library which contains said functions provided by the operating system.
Claim 19
Dependent Claim 26 words
The system of claim 16 wherein the identification of the shared library is contained within the name of the package for the group of related classes.
Claim 20
Dependent Claim 20 words
The system of claim 13 wherein said mechanism comprises a designated class which identifies a procedure for loading said functions.
Claim 21
Dependent Claim 22 words
The system of claim 18 wherein said procedure identification is followed by a data structure which identifies a library to be loaded.
Claim 22
Dependent Claim 17 words
The system of claim 18 wherein said designated class comprises an abstract class which is not instantiated.
Claim 23
Dependent Claim 15 words
The system of claim 19 wherein said data structure identifies plural libraries to be loaded.
Claim 24
Dependent Claim 26 words
The system of claim 13 wherein said mechanism comprises a method in said first program language which requests a class to specify functions to be loaded.
Claim 25
Dependent Claim 14 words
The system of claim 13 wherein said mechanism is contained within said program itself.
Claim 26
Dependent Claim 15 words
The system of claim 13 wherein said second program language comprises a compiled programming language.
Claim 27
Dependent Claim 99 words
A computer-readable storage medium containing a program written in a first, interpreted bytecode program language, said program including: a mechanism which defines an association between a reference to a class of objects in said program and a function provided by an other program written in a second, program language; means for detecting the association in said mechanism between said function and the class of objects during the loading of the class of objects; and means for directing the other program to load an implementation of said function into a computer's memory during the loading of the class of objects.
Claim 28
Dependent Claim 99 words
A computer-readable storage medium containing a program written in a first, interpreted bytecode program language, said program including: a mechanism which defines an association between a reference to a class of objects in said program and a function provided by an other program written in a second, program language; means for detecting the association in said mechanism between said function and the class of objects during the loading of the class of objects; and means for directing the other program to load an implementation of said function into a computer's memory during the loading of the class of objects.
Claim 29
Dependent Claim 34 words
The computer-readable storage medium of claim 25 wherein said function is contained in a shared library, and wherein said program further includes means for dynamically linking the class of objects to the shared library.
Claim 30
Dependent Claim 25 words
The computer-readable storage medium of claim 25 wherein said mechanism comprises a naming convention for the first language which identifies a group of related classes.
Claim 31
Dependent Claim 27 words
The computer-readable storage medium of claim 27 wherein said naming convention includes an identification of a shared library which contains said function provided by the other program.
Claim 32
Dependent Claim 28 words
The computer-readable storage medium of claim 28 wherein the identification of the shared library is contained within the name of the package for the group of related classes.
Claim 33
Dependent Claim 22 words
The computer-readable storage medium of claim 25 wherein said mechanism comprises a designated class which identifies a procedure for loading said function.
Claim 34
Dependent Claim 24 words
The computer-readable storage medium of claim 30 wherein said procedure identification is followed by a data structure which identifies a library to be loaded.
Claim 35
Dependent Claim 19 words
The computer-readable storage medium of claim 30 wherein said designated class comprises an abstract class which is not instantiated.
Claim 36
Dependent Claim 17 words
The computer-readable storage medium of claim 31 wherein said data structure identifies plural libraries to be loaded.
Claim 37
Dependent Claim 28 words
The computer-readable storage medium of claim 25 wherein said mechanism comprises a method in said first program language which requests a class to specify functions to be loaded.
Claim 38
Dependent Claim 17 words
The computer-readable storage medium system of claim 25 wherein said mechanism is contained within said program itself.
Claim 39
Dependent Claim 17 words
The computer-readable storage medium of claim 25 wherein said second program language comprises a compiled programming language.

References Cited (Backward Citations)

US5414854A Cited
US5379432A Cited
US5675804A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-23 2003-11-22 2004-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-23 2007-11-22 2008-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-23 2011-11-22 2012-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag