CA2300240A1 - Transparent loading resources from read-only memory for an application program - Google Patents

Transparent loading resources from read-only memory for an application program Download PDF

Info

Publication number
CA2300240A1
CA2300240A1 CA002300240A CA2300240A CA2300240A1 CA 2300240 A1 CA2300240 A1 CA 2300240A1 CA 002300240 A CA002300240 A CA 002300240A CA 2300240 A CA2300240 A CA 2300240A CA 2300240 A1 CA2300240 A1 CA 2300240A1
Authority
CA
Canada
Prior art keywords
application program
rom
resources
read
memory
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
CA002300240A
Other languages
French (fr)
Other versions
CA2300240C (en
Inventor
Patrick James Mueller
Eric Christopher Smith
Timothy James Wolf
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CA2300240A1 publication Critical patent/CA2300240A1/en
Application granted granted Critical
Publication of CA2300240C publication Critical patent/CA2300240C/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

Abstract

A method, system, and computer program product for transparently loading resources (such as stored bitmaps, images, fonts, and sound files) from read-only memory ("ROM") for an application program executing on a Java virtual machine ("JVM"). Typically, the invention will be used on an embedded computing device which has no disk storage and no file system software. A novel class loader is described, which loads resources from ROM
and returns an input stream object as is expected by the existing application program.
Therefore, when using the present invention, no change is required to existing application code to use resources stored in ROM. (In addition, no change to existing applications is required in order to invoke the code of the present invention.) The invention may be used with programs written in the Java programming language, or with programs written in other languages that execute on a JVM.
CA002300240A 1999-07-15 2000-03-08 Transparent loading resources from read-only memory for an application program Expired - Lifetime CA2300240C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/353,880 1999-07-15
US09/353,880 US6584612B1 (en) 1999-07-15 1999-07-15 Transparent loading of resources from read-only memory for an application program

Publications (2)

Publication Number Publication Date
CA2300240A1 true CA2300240A1 (en) 2001-01-15
CA2300240C CA2300240C (en) 2004-10-12

Family

ID=23390992

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002300240A Expired - Lifetime CA2300240C (en) 1999-07-15 2000-03-08 Transparent loading resources from read-only memory for an application program

Country Status (4)

Country Link
US (1) US6584612B1 (en)
CN (1) CN1113290C (en)
CA (1) CA2300240C (en)
TW (1) TW459202B (en)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9921720D0 (en) * 1999-09-14 1999-11-17 Tao Group Ltd Loading object-oriented computer programs
US7080382B2 (en) * 2000-02-25 2006-07-18 Oracle International Corporation Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory
US6978456B1 (en) 2000-10-31 2005-12-20 Sun Microsystems, Inc. Methods and apparatus for numeric constant value inlining in virtual machines
US6996813B1 (en) 2000-10-31 2006-02-07 Sun Microsystems, Inc. Frameworks for loading and execution of object-based programs
US6901591B1 (en) 2000-10-31 2005-05-31 Sun Microsystems, Inc. Frameworks for invoking methods in virtual machines
US7096466B2 (en) * 2001-03-26 2006-08-22 Sun Microsystems, Inc. Loading attribute for partial loading of class files into virtual machines
US7020874B2 (en) * 2001-03-26 2006-03-28 Sun Microsystems, Inc. Techniques for loading class files into virtual machines
US7543288B2 (en) * 2001-03-27 2009-06-02 Sun Microsystems, Inc. Reduced instruction set for Java virtual machines
US6957428B2 (en) * 2001-03-27 2005-10-18 Sun Microsystems, Inc. Enhanced virtual machine instructions
US7240101B2 (en) * 2001-04-02 2007-07-03 International Business Machines Corporation Method and apparatus for efficiently reflecting complex systems of objects in XML documents
US7260820B1 (en) * 2001-04-26 2007-08-21 Vm Ware, Inc. Undefeatable transformation for virtual machine I/O operations
US6799185B2 (en) * 2001-05-09 2004-09-28 Sun Microsystems, Inc. Frameworks for accessing Java class files
US7117489B2 (en) * 2001-06-20 2006-10-03 Sun Microsystems, Inc. Optional attribute generator for customized Java programming environments
US6964033B2 (en) * 2001-06-20 2005-11-08 Sun Microsystems, Inc. Object band customization of Java runtime environments
US7228533B2 (en) * 2001-08-24 2007-06-05 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for performing programming loops
US6988261B2 (en) 2001-08-24 2006-01-17 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions in Java computing environments
US7039904B2 (en) 2001-08-24 2006-05-02 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for storing values into local variables
US7058934B2 (en) * 2001-08-24 2006-06-06 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for instantiating Java objects
US6944846B2 (en) * 2001-12-14 2005-09-13 Hewlett-Packard Development Company, L.P. Algorithm for localization of a JAVA application using reflection API and a custom class loader
US20030177484A1 (en) * 2002-03-15 2003-09-18 Bosschaert Allaert J. D. Firewall class loader
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7158995B2 (en) 2002-05-08 2007-01-02 Oracle International Corporation Method for managing pointers to external objects in a run-time environment
US7246347B1 (en) * 2002-06-26 2007-07-17 Sun Microsystems, Inc Method and apparatus for loading class files into non-volatile memory
KR100493893B1 (en) * 2003-02-07 2005-06-10 삼성전자주식회사 System and method of shortening class loading process in java program
US7293267B1 (en) * 2003-12-22 2007-11-06 Sun Microsystems Inc System and method for performing speculative initialization of application models for a cloned runtime system process
US20050289559A1 (en) * 2004-06-08 2005-12-29 Daniel Illowsky Method and system for vertical layering between levels in a processing unit facilitating direct event-structures and event-queues level-to-level communication without translation
US7398523B2 (en) * 2004-08-19 2008-07-08 International Business Machines Corporation Adaptive class loading
US7849459B2 (en) * 2004-11-04 2010-12-07 International Business Machines Corporation Deploying java applications in resource constrained environments
US20060123397A1 (en) * 2004-12-08 2006-06-08 Mcguire James B Apparatus and method for optimization of virtual machine operation
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US7506310B2 (en) * 2005-02-22 2009-03-17 Microsoft Corporation Method and system for caching managed code for efficient execution on resource-constrained devices
US7577761B2 (en) * 2005-08-31 2009-08-18 International Business Machines Corporation Out of user space I/O directly between a host system and a physical adapter using file based linear block address translation
JP4881023B2 (en) * 2006-02-01 2012-02-22 キヤノン株式会社 Information processing apparatus, method for executing object-oriented program in the apparatus, and program therefor
US8225311B1 (en) * 2006-03-30 2012-07-17 Emc Corporation Deploying and distributing content management code
US7814498B2 (en) * 2006-05-01 2010-10-12 Microsoft Corporation Loading application resources
US8127271B2 (en) * 2007-03-02 2012-02-28 International Business Machines Corporation Method and system for accessing a resource implemented in a computer network
US8127284B2 (en) * 2007-10-16 2012-02-28 Microsoft Corporation On-demand loading of types of software code of a program executing on a computing device
US8707287B2 (en) * 2009-12-18 2014-04-22 Syddansk Universitet Method, computer program product, and system for non-blocking dynamic update of statically typed class-based object-oriented software
US8448023B2 (en) 2010-04-30 2013-05-21 Honeywell International Inc. Approach for data integrity in an embedded device environment
CN103176781B (en) * 2011-12-22 2016-03-16 北京东方广视科技股份有限公司 A kind of method and apparatus realizing software product customization
CN103473089A (en) * 2013-09-02 2013-12-25 深圳市华傲数据技术有限公司 Distributed JAVA program running method, device and system
GB2546239A (en) * 2015-11-23 2017-07-19 Acadiant Ltd A Method and system for providing and executing web applications
CN109426506B (en) * 2017-08-22 2022-01-28 佛山市顺德区顺达电脑厂有限公司 Loading method for selecting read-only memory
CN111443989B (en) * 2020-03-23 2023-06-23 武汉轻工大学 Virtual machine placement method, device, equipment and storage medium based on harmony search
CN111625290B (en) * 2020-05-06 2023-03-24 小船出海教育科技(北京)有限公司 Layout file preloading method and device under Android platform and electronic equipment
CN114356439B (en) * 2021-12-21 2023-06-13 四川启睿克科技有限公司 Method for starting WEB application in offline installation-free manner

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167253A (en) * 1995-01-12 2000-12-26 Bell Atlantic Network Services, Inc. Mobile data/message/electronic mail download system utilizing network-centric protocol such as Java
US5761499A (en) * 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5815718A (en) * 1996-05-30 1998-09-29 Sun Microsystems, Inc. Method and system for loading classes in read-only memory
US6092147A (en) * 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
US5966702A (en) * 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files
US6305009B1 (en) * 1997-12-05 2001-10-16 Robert M. Goor Compiler design using object technology with cross platform capability
US6349344B1 (en) * 1997-12-16 2002-02-19 Microsoft Corporation Combining multiple java class files into a run-time image
CA2255042C (en) * 1998-11-30 2004-04-13 Leonard W. Theivendra Class loader

Also Published As

Publication number Publication date
US6584612B1 (en) 2003-06-24
CA2300240C (en) 2004-10-12
TW459202B (en) 2001-10-11
CN1281180A (en) 2001-01-24
CN1113290C (en) 2003-07-02

Similar Documents

Publication Publication Date Title
CA2300240A1 (en) Transparent loading resources from read-only memory for an application program
EP3134808B1 (en) Metadata-driven dynamic specialization
CA2255042C (en) Class loader
US7562349B2 (en) Version adaptation interface for integration of different virtual machines
US6339841B1 (en) Class loading model
EP1600857B1 (en) Thread rendezvous for read-only code in an object-oriented computing enviroment
US7941802B2 (en) Reduced instruction set for java virtual machines
US20050223018A1 (en) Efficient linking and loading for late binding and platform retargeting
US7900202B2 (en) Identification of software execution data
US7822723B2 (en) Method, system, program and data structure for controlling access to sensitive functions
JPH11237990A (en) Mixed execution stack and exception processing
US20100287618A1 (en) Executing Native-Code Applications in a Browser
US20020073097A1 (en) Method and apparatus for lazy instantiation of objects in a virtual machine
US20070198980A1 (en) Apparatus for forcibly terminating thread blocked on input/output operation and method for the same
JP2000347871A (en) Automatic stub/adapter generator
US6584478B1 (en) Transparent garbage collection of resources
US8230407B2 (en) Apparatus and method for accelerating Java translation
US20220383988A1 (en) Data processing system and method
US20030079202A1 (en) Exception handling in java computing environments
US20040123308A1 (en) Hybird of implicit and explicit linkage of windows dynamic link labraries
US6996813B1 (en) Frameworks for loading and execution of object-based programs
US7096467B2 (en) Initialization of Java classes in Java virtual machine environments
US20060107257A1 (en) Executing a native software routine in a virtual machine
McCullough uCLinux for Linux programmers
CA3118057A1 (en) Selective substitution of legacy load module programs with classes for execution in a java virtual machine

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20200309