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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program 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.
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.
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)
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)
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 |
-
1999
- 1999-07-15 US US09/353,880 patent/US6584612B1/en not_active Expired - Lifetime
-
2000
- 2000-03-08 CA CA002300240A patent/CA2300240C/en not_active Expired - Lifetime
- 2000-04-17 TW TW089107151A patent/TW459202B/en not_active IP Right Cessation
- 2000-07-14 CN CN00120239.1A patent/CN1113290C/en not_active Expired - Lifetime
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 |