CA2166302A1 - System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers - Google Patents

System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers

Info

Publication number
CA2166302A1
CA2166302A1 CA002166302A CA2166302A CA2166302A1 CA 2166302 A1 CA2166302 A1 CA 2166302A1 CA 002166302 A CA002166302 A CA 002166302A CA 2166302 A CA2166302 A CA 2166302A CA 2166302 A1 CA2166302 A1 CA 2166302A1
Authority
CA
Canada
Prior art keywords
internal memory
catalog
client
function set
particular function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002166302A
Other languages
French (fr)
Other versions
CA2166302C (en
Inventor
George Curtis Cowsar
Christopher Jordan Plummer
Michael John Quinn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
George Curtis Cowsar
Christopher Jordan Plummer
Michael John Quinn
Apple Computer, Inc.
Apple Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by George Curtis Cowsar, Christopher Jordan Plummer, Michael John Quinn, Apple Computer, Inc., Apple Inc. filed Critical George Curtis Cowsar
Publication of CA2166302A1 publication Critical patent/CA2166302A1/en
Application granted granted Critical
Publication of CA2166302C publication Critical patent/CA2166302C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Abstract

A system is provided for managing code resources for use by client applications in a computer, wherein the computer has internal memory storing at least one client application. The apparatus comprises a resource set catalog stored in the internal memory. The resource set catalog identifies a plurality of function sets of functions by respective function set IDs. Further, the resource set catalog includes set records which characterize the functions within me respective sets. A dispatch engine, in the internal memory, linked with a client application, supplies a particular function set ID in response to a call by the client application of a particular function which is a member of a corresponding function set identified by the particular function set ID. A lookup engine in the internal memory, coupled with the resource set catalog and the dispatch engine, is responsive to the particular function set ID to look up a set tad for a corresponding function set in the resource set catalog. Finally, a link engine in the internal memory and coupled with the dispatch engine returns the particular function to the client application in response to the set record. Thus because the link engine is responsive to the set record, which is not linked with the client, the client need not be aware of changes in the structure of the library in which the particular function set resides. Thus, the function set can be moved into and out of internal memory, revised placed in different sections of internal memory, and otherwise handled independently of the client, without requiring re-compilation of the client application.
CA002166302A 1993-06-30 1994-06-30 System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers Expired - Lifetime CA2166302C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/085,187 US5615400A (en) 1993-06-30 1993-06-30 System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US08/085,187 1993-06-30
PCT/US1994/007424 WO1995001598A1 (en) 1993-06-30 1994-06-30 System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers

Publications (2)

Publication Number Publication Date
CA2166302A1 true CA2166302A1 (en) 1995-01-12
CA2166302C CA2166302C (en) 2004-12-07

Family

ID=22190014

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002166302A Expired - Lifetime CA2166302C (en) 1993-06-30 1994-06-30 System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers

Country Status (6)

Country Link
US (1) US5615400A (en)
EP (1) EP0706684B1 (en)
AU (1) AU7253894A (en)
CA (1) CA2166302C (en)
DE (1) DE69414387T2 (en)
WO (1) WO1995001598A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347523B2 (en) 2020-11-05 2022-05-31 International Business Machines Corporation Updated shared library reloading without stopping the execution of an application

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379432A (en) * 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
FR2717280B1 (en) * 1994-03-10 1996-04-05 Bull Sa Method for managing the multiple inheritance of persistent and shared objects.
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
CA2143488C (en) * 1995-02-27 2000-01-11 Robert Paul Duncan Dynamic link libraries without linker or loader support
US6519767B1 (en) * 1995-06-07 2003-02-11 Microsoft Corporation Compiler and method for automatically building version compatible object applications
US5764991A (en) * 1995-06-30 1998-06-09 Canon Kabushiki Kaisha Processing object oriented code and virtual function code
JPH09231156A (en) * 1996-02-28 1997-09-05 Nec Corp Remote execution device with program receiving function
US5805796A (en) * 1996-03-27 1998-09-08 Dell Usa, Lp System architecture for implementing modular diagnostics
US6704802B1 (en) * 1996-03-27 2004-03-09 Dell Usa, Lp Method and system for communicating between independent software modules
US6052778A (en) * 1997-01-13 2000-04-18 International Business Machines Corporation Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs
US5930795A (en) * 1997-01-21 1999-07-27 International Business Machines Corporation Supporting dynamic tables in SQL query compilers
US6363436B1 (en) 1997-01-27 2002-03-26 International Business Machines Corporation Method and system for loading libraries into embedded systems
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US6442753B1 (en) * 1997-08-28 2002-08-27 International Business Machines Corporation Apparatus and method for checking dependencies among classes in an object-oriented program
US6078889A (en) * 1997-09-30 2000-06-20 Pitney Bowes Inc. Method and system of implementing a carrier manager librarian
US6910047B1 (en) 1997-10-01 2005-06-21 Pitney Bowes Inc. Method and system for changing rating data via internet or modem in a carrier management system
US6873978B1 (en) 1997-10-01 2005-03-29 Pitney Bowes Inc. Event interface for a carrier manager system
US6292843B1 (en) 1998-01-16 2001-09-18 International Business Machines Corporation Quick loading of run time dynamic link library for OS/2
JP3284956B2 (en) * 1998-01-26 2002-05-27 日本電気株式会社 Program conversion method, program conversion device, and storage medium storing program conversion program
DE19810675A1 (en) * 1998-03-12 1999-10-14 Giesecke & Devrient Gmbh Disk
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
US6182277B1 (en) * 1998-04-15 2001-01-30 Oracle Corporation Methods and apparatus for declarative programming techniques in an object oriented environment
US6079015A (en) * 1998-04-20 2000-06-20 Motorola, Inc. Data processing system having selectable exception table relocation and method therefor
AUPP365798A0 (en) * 1998-05-22 1998-06-18 Ladd, James Christian Architecture for the execution of program code
US6314566B1 (en) * 1998-09-29 2001-11-06 Apple Computer, Inc. Method and apparatus for “Just-in-Time” dynamic loading and unloading of computer software libraries
JP3837244B2 (en) 1998-10-23 2006-10-25 松下電器産業株式会社 Program linking apparatus and method
US6343294B1 (en) * 1998-12-15 2002-01-29 International Business Machines Corporation Data file editor for multiple data subsets
US6286010B1 (en) * 1999-02-19 2001-09-04 Novell, Inc. Methods and apparatuses for interaction between schemata
US6393491B1 (en) 1999-04-26 2002-05-21 Sun Microsystems, Inc. Method and apparatus for dispatch table construction
US7171673B1 (en) * 1999-08-06 2007-01-30 Honeywell International Inc. System and method for validating interfaces of dynamically linkable components and real-time process control system incorporating the same
US6457170B1 (en) * 1999-08-13 2002-09-24 Intrinsity, Inc. Software system build method and apparatus that supports multiple users in a software development environment
GB9921720D0 (en) * 1999-09-14 1999-11-17 Tao Group Ltd Loading object-oriented computer programs
US7080370B1 (en) * 1999-11-05 2006-07-18 Sun Microsystems, Inc. Method and apparatus for compiling source programs using one or more libraries
US6385722B1 (en) * 2000-01-27 2002-05-07 Sun Microsystems, Inc. Method, system, and article of manufacture for limiting access to program files in a shared library file
US7343421B1 (en) * 2000-02-14 2008-03-11 Digital Asset Enterprises Llc Restricting communication of selected processes to a set of specific network addresses
US7089242B1 (en) * 2000-02-29 2006-08-08 International Business Machines Corporation Method, system, program, and data structure for controlling access to sensitive functions
US6658657B1 (en) * 2000-03-31 2003-12-02 Intel Corporation Method and apparatus for reducing the overhead of virtual method invocations
US6907421B1 (en) 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
US7143024B1 (en) * 2000-07-07 2006-11-28 Ensim Corporation Associating identifiers with virtual processes
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US6877162B1 (en) * 2000-07-31 2005-04-05 Hewlett-Packard Company Method and system for extendable class-based shared data-types
US6625703B2 (en) 2000-11-02 2003-09-23 International Business Machines Corporation Verifying primary and backup copies of vital information for a processing system employing a pseudo-fixed reference identifier
US7219354B1 (en) 2000-12-22 2007-05-15 Ensim Corporation Virtualizing super-user privileges for multiple virtual processes
JP2002373077A (en) * 2001-06-14 2002-12-26 Nec Corp Method and device for retrieving execution time library, dynamic linker and program
US6986148B2 (en) * 2001-07-17 2006-01-10 Appforge, Inc. Methods and systems for providing platform-independent shared software components for mobile devices
US6934943B2 (en) * 2001-10-18 2005-08-23 Hewlett-Packard Development Company Optimization of control transfers to dynamically loaded modules
US7007273B2 (en) * 2001-10-29 2006-02-28 Lenovo (Singapore) Pte Ltd. Object oriented model of preloading software
US6981268B2 (en) * 2001-12-05 2005-12-27 Microsoft Corporation System and method for persisting and resolving application assembly binds
US20030182361A1 (en) * 2002-03-22 2003-09-25 Sun Microsystems, Inc. Business-model agnostic service deployment management service
US7644411B1 (en) * 2002-06-06 2010-01-05 Unisys Corporation Mechanism for implementing different types of services within the same two-phase commit transaction
US7451458B2 (en) * 2002-08-02 2008-11-11 Tuchow Jonathan A Software methods of an optical networking apparatus with multiple multi-protocol optical networking modules having packet filtering resources
CN100407728C (en) * 2002-08-02 2008-07-30 中兴通讯股份有限公司 Board to board communication between distribution system objects
US7844734B2 (en) * 2002-11-18 2010-11-30 Innopath Software, Inc. Dynamic addressing (DA) using a centralized DA manager
US20050091259A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Redmond Wa. Framework to build, deploy, service, and manage customizable and configurable re-usable applications
US7155726B2 (en) * 2003-10-29 2006-12-26 Qualcomm Inc. System for dynamic registration of privileged mode hooks in a device
CN1898615B (en) * 2004-06-28 2012-11-14 西门子工业公司 Method and apparatus for representing a building system enabling facility viewing for maintenance purposes
US8037482B1 (en) * 2004-09-14 2011-10-11 Azul Systems, Inc. Accelerated class check
US7552302B1 (en) * 2004-09-14 2009-06-23 Azul Systems, Inc. Ordering operation
US20060161469A1 (en) * 2005-01-14 2006-07-20 Weatherbank, Inc. Interactive advisory system
US8832121B2 (en) * 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
US7644416B2 (en) * 2005-02-10 2010-01-05 Google Inc. Access to a target object with desired functionality
US7743379B2 (en) * 2005-07-14 2010-06-22 International Business Machines Corporation Variable resource sets
US20070169026A1 (en) * 2005-11-28 2007-07-19 Davis Alan H Software program with alternative function libraries
US8229467B2 (en) 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US8291395B2 (en) * 2006-03-31 2012-10-16 Apple Inc. Fast function call dispatching
US8549544B1 (en) * 2006-04-07 2013-10-01 Intel Corporation System, method and computer program product for preventing the execution of unwanted code
GB0609843D0 (en) * 2006-05-18 2006-06-28 Ibm Launcher for software applications
US8634814B2 (en) 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
US20080222611A1 (en) * 2007-03-09 2008-09-11 Microsoft Corporation Generic validation layer for object properties
US8539480B2 (en) * 2007-04-09 2013-09-17 Sugarcrm Inc. Multi-instance “shadow” system and method for automated resource redundancy reduction across dynamic language applications utilizing application of dynamically generated templates
GB0712654D0 (en) * 2007-06-28 2007-08-08 Symbian Software Ltd Computing device having an embedded rom image
US20090259999A1 (en) * 2008-04-11 2009-10-15 Oracle International Corporation Method and system for applying a patch during application execution
US8327323B2 (en) * 2008-12-08 2012-12-04 International Business Machines Corporation Automatic copying by ancestor in object-oriented languages
US8190587B1 (en) * 2008-12-11 2012-05-29 Network Appliance, Inc. In-place image promotion
KR100892882B1 (en) * 2008-12-24 2009-04-15 고혜선 Management method of article
US9811353B1 (en) * 2010-07-29 2017-11-07 Crimson Corporation Remotely invoking dynamic classes on a computing device
JP5682220B2 (en) * 2010-10-14 2015-03-11 株式会社リコー Information processing apparatus, information processing method, and information processing program
US8321480B2 (en) * 2010-11-24 2012-11-27 Bmc Software, Inc. Full-function to high availability large database conversion
US9665601B1 (en) 2010-12-16 2017-05-30 Crimson Corporation Using a member attribute to perform a database operation on a computing device
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
US8612936B2 (en) 2011-06-02 2013-12-17 Sonatype, Inc. System and method for recommending software artifacts
US9015661B1 (en) * 2011-06-23 2015-04-21 The Mathworks, Inc. Restricting class inheritance relationships
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US8473894B2 (en) 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
US9141378B2 (en) 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9141408B2 (en) * 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
US8984542B2 (en) * 2012-11-30 2015-03-17 Facebook, Inc. Method and system for binding objects in dynamic programming languages using caching techniques
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US9830135B2 (en) 2014-01-29 2017-11-28 Dell Products L.P. Declarative and pluggable business logic for systems management
US9626251B2 (en) 2014-01-31 2017-04-18 Dell Products L.P. Undo configuration transactional compensation
US9459859B2 (en) 2014-01-31 2016-10-04 Dell Products L.P. Template derivation for configuration object management
US10656971B2 (en) 2014-01-31 2020-05-19 Dell Products L.P. Agile framework for vertical application development and delivery
US10114861B2 (en) 2014-01-31 2018-10-30 Dell Products L.P. Expandable ad hoc domain specific query for system management
JP6409514B2 (en) * 2014-11-10 2018-10-24 日本電気株式会社 Information processing apparatus, library loading method, and computer program
US9519468B2 (en) * 2015-02-13 2016-12-13 Oracle International Corporation Modular co-versioning in a dynamically linked runtime environment
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
US11113180B2 (en) * 2020-01-31 2021-09-07 Salesforce.Com, Inc. Efficiently tracking code location of run-time events in system software
CN113625995A (en) * 2020-05-07 2021-11-09 武汉斗鱼网络科技有限公司 Method and device for self-adaptively acquiring data
US11681520B2 (en) * 2021-04-20 2023-06-20 International Business Machines Corporation Software upgrading using dynamic link library injection
US11675593B2 (en) 2021-08-31 2023-06-13 International Business Machines Corporation Dynamically updating a dynamic library
CN115794260B (en) * 2023-02-06 2023-05-05 湖南高至科技有限公司 Simple dynamic loading method for DSP software library

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3788877T2 (en) * 1987-03-24 1994-06-23 Insignia Solutions Ltd DEVICE FOR SOFTWARE EMULATION.
WO1988007718A1 (en) * 1987-03-24 1988-10-06 Insignia Solutions Limited Arrangement for software emulation
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
JP2569092B2 (en) * 1987-12-11 1997-01-08 株式会社日立製作所 Address resolution method for I / O device control program
US5269021A (en) * 1989-10-12 1993-12-07 Texas Instruments Incorporated Multiprocessor software interface for a graphics processor subsystem employing partially linked dynamic load modules which are downloaded and fully linked at run time
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5317703A (en) * 1990-06-29 1994-05-31 Hitachi, Ltd. Information processing apparatus using an advanced pipeline control method
US5297249A (en) * 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US5247681A (en) * 1990-12-18 1993-09-21 International Business Machines Corporation Dynamic link libraries system and method
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
EP0546682A3 (en) * 1991-12-12 1993-12-08 Ibm Parent class shadowing
US5359721A (en) * 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5375241A (en) * 1992-12-21 1994-12-20 Microsoft Corporation Method and system for dynamic-link library
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347523B2 (en) 2020-11-05 2022-05-31 International Business Machines Corporation Updated shared library reloading without stopping the execution of an application

Also Published As

Publication number Publication date
US5615400A (en) 1997-03-25
WO1995001598A1 (en) 1995-01-12
DE69414387T2 (en) 1999-07-15
AU7253894A (en) 1995-01-24
CA2166302C (en) 2004-12-07
DE69414387D1 (en) 1998-12-10
EP0706684B1 (en) 1998-11-04
EP0706684A1 (en) 1996-04-17

Similar Documents

Publication Publication Date Title
CA2166302A1 (en) System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
CA2228210A1 (en) File system interface to a database
US7352279B2 (en) Rule based intelligent alarm management system for digital surveillance system
US6728726B1 (en) Prefetching and caching persistent objects
WO2000029924A3 (en) Extensible distributed enterprise application integration system
CA2124720A1 (en) Integration of systems management services with an underlying system object model
CA2293222A1 (en) System for facilitating drug discovery data and method thereof
US20030023599A1 (en) Dynamic component activation method using a relational database as the repository for registration information
CA2088138A1 (en) Flexible multiprocessor alarm data processing system
EP0889420A3 (en) Media manager for access to multiple media types
CA2049133A1 (en) Methods and apparatus for implementing data bases to provide object-oriented invocation of applications
WO1996018159A3 (en) Implementation independent extensible query architecture for information retrieval systems
WO2001011560A3 (en) System and method for processing knowledge items of a knowledge warehouse
EP0818743A3 (en) Generalized key indexes
EP0304071A3 (en) Data integration by object management
CA2199573A1 (en) Organization chart based call information routing
CA2027779A1 (en) Data retrieval system for relational database
EP0869444A3 (en) Integrated database system and computer-readable recording medium recorded with program for managing database structure thereof
CA2340739A1 (en) Method for handling data items of user-defined data types
CA2253345A1 (en) Relational database compiled/stored on a memory structure
WO2002071269A8 (en) Patent or utility model information retrieval management system using the internet
EP0767434A3 (en) System and method for adding object services to a binary class in an object oriented system
CA2130065A1 (en) Utilizing Pseudotables as a Method and Mechanism for Providing Database Monitor Information
EP0400820A3 (en) Content addressable memory
WO2001016726A3 (en) A system, method and article of manufacture for a constant class component in a business logic services patterns environment

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20140630