CA2306118A1 - Combining multiple class files into run-time image - Google Patents

Combining multiple class files into run-time image Download PDF

Info

Publication number
CA2306118A1
CA2306118A1 CA002306118A CA2306118A CA2306118A1 CA 2306118 A1 CA2306118 A1 CA 2306118A1 CA 002306118 A CA002306118 A CA 002306118A CA 2306118 A CA2306118 A CA 2306118A CA 2306118 A1 CA2306118 A1 CA 2306118A1
Authority
CA
Canada
Prior art keywords
run
time image
class files
combining multiple
multiple class
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
CA002306118A
Other languages
French (fr)
Other versions
CA2306118C (en
Inventor
David M. Sauntry
Michael E. Markley
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.)
Microsoft Technology Licensing LLC
Original Assignee
Individual
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25537278&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CA2306118(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Publication of CA2306118A1 publication Critical patent/CA2306118A1/en
Application granted granted Critical
Publication of CA2306118C publication Critical patent/CA2306118C/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Combining multiple Java class files into a run-time image is disclosed. The run-time image of the Java class files is such that class files are in a preloaded and preparsed state for a Java virtual machine.
Desirably, the run-time image is a DLL file stored in read-only memory (ROM), and comprises non-redundant data.
CA002306118A 1997-12-16 1998-12-16 Combining multiple class files into run-time image Expired - Fee Related CA2306118C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/991,500 US6349344B1 (en) 1997-12-16 1997-12-16 Combining multiple java class files into a run-time image
US08/991,500 1997-12-16
PCT/US1998/026753 WO1999031576A1 (en) 1997-12-16 1998-12-16 Combining multiple class files into run-time image

Publications (2)

Publication Number Publication Date
CA2306118A1 true CA2306118A1 (en) 1999-06-24
CA2306118C CA2306118C (en) 2009-09-01

Family

ID=25537278

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002306118A Expired - Fee Related CA2306118C (en) 1997-12-16 1998-12-16 Combining multiple class files into run-time image

Country Status (7)

Country Link
US (1) US6349344B1 (en)
EP (1) EP1040409B1 (en)
JP (1) JP4372348B2 (en)
AT (1) ATE237836T1 (en)
CA (1) CA2306118C (en)
DE (1) DE69813618T2 (en)
WO (1) WO1999031576A1 (en)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966702A (en) * 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files
US6493870B1 (en) * 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging a program for remote execution
US6658492B1 (en) * 1998-03-20 2003-12-02 Sun Microsystems, Inc. System and method for reducing the footprint of preloaded classes
JP2000122876A (en) * 1998-10-16 2000-04-28 Matsushita Electric Ind Co Ltd Information processor
US7200842B1 (en) 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
US6848111B1 (en) 1999-02-02 2005-01-25 Sun Microsystems, Inc. Zero overhead exception handling
US6880155B2 (en) 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
CA2267477C (en) * 1999-03-30 2003-10-14 Object Technology International Inc. Packaging memory image files
US7017159B1 (en) * 1999-06-15 2006-03-21 Sun Microsystems, Inc. Smart bookmarks for small footprint device applications
US6584612B1 (en) * 1999-07-15 2003-06-24 International Business Machines Corporation Transparent loading of resources from read-only memory for an application program
GB9920676D0 (en) * 1999-09-01 1999-11-03 Tao Group Ltd Translating and executing object-oriented computer programs
US6829761B1 (en) * 1999-10-21 2004-12-07 Oracle International Corporation Method and apparatus for managing shared memory in a run-time environment
GB9925510D0 (en) * 1999-10-29 1999-12-29 Ibm Incorporating native code in java archive files
US7158993B1 (en) 1999-11-12 2007-01-02 Sun Microsystems, Inc. API representation enabling submerged hierarchy
KR100319755B1 (en) * 1999-12-02 2002-01-05 오길록 Bytecode compression method for embedded java virtual machine
US20010042241A1 (en) * 2000-01-21 2001-11-15 Fujitsu Limited Apparatus and method for executing program using just-in time-compiler system
US7032216B1 (en) * 2000-02-25 2006-04-18 Oracle International Corporation Native compilation and safe deployment of virtual machine code
US6745386B1 (en) * 2000-03-09 2004-06-01 Sun Microsystems, Inc. System and method for preloading classes in a data processing device that does not have a virtual memory manager
JP2001256058A (en) * 2000-03-13 2001-09-21 Omron Corp Executing method of program by interpreter language and information processor using the same method
US6986132B1 (en) 2000-04-28 2006-01-10 Sun Microsytems, Inc. Remote incremental program binary compatibility verification using API definitions
US6651186B1 (en) * 2000-04-28 2003-11-18 Sun Microsystems, Inc. Remote incremental program verification using API definitions
US6883163B1 (en) 2000-04-28 2005-04-19 Sun Microsystems, Inc. Populating resource-constrained devices with content verified using API definitions
US6978448B1 (en) * 2000-06-12 2005-12-20 Sun Microsystems, Inc. Method and apparatus for rewriting bytecodes to minimize runtime checks
US6918106B1 (en) * 2000-07-31 2005-07-12 Sun Microsystems, Inc. Method and apparatus for collocating dynamically loaded program files
US6981245B1 (en) 2000-09-14 2005-12-27 Sun Microsystems, Inc. Populating binary compatible resource-constrained devices with content verified using API definitions
US6901591B1 (en) * 2000-10-31 2005-05-31 Sun Microsystems, Inc. Frameworks for invoking methods in virtual machines
US6996813B1 (en) 2000-10-31 2006-02-07 Sun Microsystems, Inc. Frameworks for loading and execution of object-based programs
US6978456B1 (en) 2000-10-31 2005-12-20 Sun Microsystems, Inc. Methods and apparatus for numeric constant value inlining in virtual machines
US7506175B2 (en) * 2000-11-06 2009-03-17 International Business Machines Corporation File language verification
US20020170047A1 (en) 2001-02-23 2002-11-14 Brian Swetland System and method for transforming object code
AU2002243686A1 (en) * 2001-02-23 2002-09-12 Danger, Inc. System and method for transforming object code
US7080373B2 (en) * 2001-03-07 2006-07-18 Freescale Semiconductor, Inc. Method and device for creating and using pre-internalized program files
US7020874B2 (en) 2001-03-26 2006-03-28 Sun Microsystems, Inc. Techniques for loading class files into virtual machines
US7096466B2 (en) 2001-03-26 2006-08-22 Sun Microsystems, Inc. Loading attribute for partial loading of class files into virtual machines
US7543288B2 (en) 2001-03-27 2009-06-02 Sun Microsystems, Inc. Reduced instruction set for Java virtual machines
US6959430B2 (en) * 2001-05-09 2005-10-25 Sun Microsystems, Inc. Specialized heaps for creation of objects in object-oriented environments
US7389515B1 (en) 2001-05-21 2008-06-17 Microsoft Corporation Application deflation system and method
US7243346B1 (en) * 2001-05-21 2007-07-10 Microsoft Corporation Customized library management system
ATE481677T1 (en) * 2001-05-30 2010-10-15 Research In Motion Ltd SYSTEM FOR PROCESSING AN APPLICATION FOR A MOBILE COMMUNICATIONS DEVICE
US6986148B2 (en) * 2001-07-17 2006-01-10 Appforge, Inc. Methods and systems for providing platform-independent shared software components for mobile devices
US6988261B2 (en) 2001-08-24 2006-01-17 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions in Java computing environments
US7228533B2 (en) 2001-08-24 2007-06-05 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for performing programming loops
US7058934B2 (en) 2001-08-24 2006-06-06 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for instantiating Java objects
US7039904B2 (en) 2001-08-24 2006-05-02 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for storing values into local variables
GB0125176D0 (en) * 2001-10-19 2001-12-12 Koninkl Philips Electronics Nv A method of compiling bytecode to native code
NL1019876C2 (en) * 2002-01-31 2003-08-04 Chess Embedded Technology B V System and method for loading a program code into a device as well as a method for feeding a program code to a device.
US7010783B2 (en) * 2002-03-18 2006-03-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
US7181737B2 (en) * 2002-03-18 2007-02-20 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using static procedure return addresses
US6912633B2 (en) * 2002-03-18 2005-06-28 Sun Microsystems, Inc. Enhanced memory management for portable devices
US6996802B2 (en) * 2002-03-18 2006-02-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using initialization order and calling order constraints
EP1515232A4 (en) * 2002-06-18 2007-09-05 Matsushita Electric Ind Co Ltd Program execution terminal device, program execution method, and program
US6947955B2 (en) * 2002-09-23 2005-09-20 International Business Machines Corporation Run-time augmentation of object code to facilitate object data caching in an application server
US7051323B2 (en) * 2002-10-08 2006-05-23 Sun Microsystems, Inc. Method and apparatus for initializing romized system classes at virtual machine build time
US7055145B2 (en) * 2002-10-30 2006-05-30 Intel Corporation Dynamic management of execute in place applications
KR100493893B1 (en) * 2003-02-07 2005-06-10 삼성전자주식회사 System and method of shortening class loading process in java program
US7478408B2 (en) * 2003-04-04 2009-01-13 Sesma Systems, Inc. System and method for accessing objects in a platform dependent environment from a platform independent environment
US7490332B2 (en) * 2003-04-04 2009-02-10 Sesma Systems, Inc. System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment
CN1777868A (en) * 2003-04-24 2006-05-24 国际商业机器公司 Executable file creation
CA2638965A1 (en) * 2003-05-15 2004-11-15 Ibm Canada Limited - Ibm Canada Limitee Accessing a platform independent input method editor from an underlying operating system
KR100643268B1 (en) * 2004-01-17 2006-11-10 삼성전자주식회사 Method for improving performance of Java virtual machine and system employing the method
FR2871590B1 (en) * 2004-06-15 2006-08-04 Gemplus Sa METHOD FOR LOADING OBJECT-ORIENTED INTERMEDIATE LANGUAGE SOFTWARE IN A PORTABLE DEVICE.
US7555746B2 (en) * 2004-12-09 2009-06-30 Sap Ag System and method for registering native libraries with non-native enterprise program code
US7593930B2 (en) * 2004-12-14 2009-09-22 Sap Ag Fast channel architecture
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US7580915B2 (en) * 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US7552153B2 (en) 2004-12-28 2009-06-23 Sap Ag Virtual machine monitoring using shared memory
KR100749664B1 (en) 2005-01-03 2007-08-14 에스케이 텔레콤주식회사 the romizing method of java class file and the executing method of its romized java class file
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US8250559B2 (en) * 2006-04-12 2012-08-21 Oracle America, Inc. Supporting per-program classpaths with class sharing in a multi-tasking virtual machine
US9183011B2 (en) * 2006-10-31 2015-11-10 Oracle America Inc. Method and system for runtime environment emulation
CN101339511B (en) * 2007-07-02 2011-06-15 国际商业机器公司 Method and system for controlling and self-adaptively preloading dynamic link libraries
JP2009099185A (en) * 2007-10-16 2009-05-07 Dainippon Printing Co Ltd Storage device having function of refreshing memory
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8589788B2 (en) * 2007-12-19 2013-11-19 International Business Machines Corporation Methods, systems, and computer program products for automatic parsing of markup language documents
US8352509B2 (en) * 2007-12-19 2013-01-08 International Business Machines Corporation Methods, systems, and computer program products for accessing a multi-format data object
US8813041B2 (en) * 2008-02-14 2014-08-19 Yahoo! Inc. Efficient compression of applications
CN102362269B (en) * 2008-12-05 2016-08-17 社会传播公司 real-time kernel
KR101249739B1 (en) * 2010-07-13 2013-04-03 주식회사 인프라웨어테크놀러지 Method for loading java class in terminal loading Dalvik Virtual Machine, and Computer-readable recording medium for the same
WO2012118917A2 (en) 2011-03-03 2012-09-07 Social Communications Company Realtime communications and network browsing client
CN107193629A (en) * 2017-04-07 2017-09-22 上海交通大学 New types of data management method based on Nonvolatile memory and Java Virtual Machine
US11809839B2 (en) 2022-01-18 2023-11-07 Robert Lyden Computer language and code for application development and electronic and optical communication

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5734910A (en) * 1995-12-22 1998-03-31 International Business Machines Corporation Integrating multi-modal synchronous interrupt handlers for computer system
US5815718A (en) * 1996-05-30 1998-09-29 Sun Microsystems, Inc. Method and system for loading classes in read-only memory
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6112304A (en) * 1997-08-27 2000-08-29 Zipsoft, Inc. Distributed computing architecture
US5966702A (en) * 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files

Also Published As

Publication number Publication date
DE69813618T2 (en) 2003-10-23
US6349344B1 (en) 2002-02-19
DE69813618D1 (en) 2003-05-22
EP1040409A1 (en) 2000-10-04
EP1040409B1 (en) 2003-04-16
JP2002508560A (en) 2002-03-19
WO1999031576A1 (en) 1999-06-24
JP4372348B2 (en) 2009-11-25
ATE237836T1 (en) 2003-05-15
CA2306118C (en) 2009-09-01

Similar Documents

Publication Publication Date Title
CA2306118A1 (en) Combining multiple class files into run-time image
CA2044119A1 (en) Disk operating system loadable from read only memory using installable file system interface
CA2137492A1 (en) System for and Method of Providing Delta-Versioning of the Contents of PCTE File Objects
AU6162094A (en) Runtime loader
AU1265195A (en) Secure computer memory card
EP0916131A3 (en) Freeing disk space in a file system
AU6151598A (en) File comparison for data backup and file synchronization
AU5597898A (en) File locking within a clustered storage environment
AU6401394A (en) A flash memory system providing both bios and user storage capability
AU3511897A (en) Dynamic nonvolatile memory update in a computer system
USD388072S (en) Portion of a screen of a programmed computer system or programmed facsimile machine
AU7705898A (en) Software loading system for a coin sorter
EP0645701A3 (en) Emulating the memory functions of a first system on a second system.
AU4986096A (en) Executing applications in place from memory
EP0992873A3 (en) Access-right setting system and storage medium
AU7012298A (en) Single-electron memory component
EP0657851A3 (en) File management system for memory card.
EP1016963A3 (en) Run-time addition of interfaces
GB9820178D0 (en) Software file loading
AU6888098A (en) Self-configuring 1.8 and 3.0 volt interface architecture on flash memories
AU8635298A (en) Pesticidal 4-benzyl-1,2,4-triazolin-5-one derivatives
AU1376299A (en) Image selection based on image content
WO2001075815A3 (en) Card terminal and method for operating a card terminal
AU2904897A (en) Multiple active computer generated hologram
USD401229S (en) Data storage disk drive housing

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20171218