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

Combining multiple class files into run-time image Download PDF

Info

Publication number
CA2306118C
CA2306118C CA002306118A CA2306118A CA2306118C CA 2306118 C CA2306118 C CA 2306118C CA 002306118 A CA002306118 A CA 002306118A CA 2306118 A CA2306118 A CA 2306118A CA 2306118 C CA2306118 C CA 2306118C
Authority
CA
Canada
Prior art keywords
java
run
time image
loaded
parsed
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.)
Expired - Fee Related
Application number
CA002306118A
Other languages
English (en)
French (fr)
Other versions
CA2306118A1 (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 Corp
Original Assignee
Microsoft Corp
Microsoft Technology Licensing LLC
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(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp, Microsoft Technology Licensing LLC filed Critical Microsoft Corp
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 OR CALCULATING; 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Time-Division Multiplex Systems (AREA)
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 1997-12-16
US08/991,500 US6349344B1 (en) 1997-12-16 1997-12-16 Combining multiple java class files into a run-time image
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 CA2306118A1 (en) 1999-06-24
CA2306118C true 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 (enExample)
EP (1) EP1040409B1 (enExample)
JP (1) JP4372348B2 (enExample)
AT (1) ATE237836T1 (enExample)
CA (1) CA2306118C (enExample)
DE (1) DE69813618T2 (enExample)
WO (1) WO1999031576A1 (enExample)

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
US6658492B1 (en) * 1998-03-20 2003-12-02 Sun Microsystems, Inc. System and method for reducing the footprint of preloaded classes
US6493870B1 (en) * 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging a program for remote execution
JP2000122876A (ja) * 1998-10-16 2000-04-28 Matsushita Electric Ind Co Ltd 情報処理装置
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
US7200842B1 (en) 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
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 (ko) * 1999-12-02 2002-01-05 오길록 내장형 자바가상머신을 위한 바이트코드 압축 방법
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 (ja) * 2000-03-13 2001-09-21 Omron Corp インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置
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
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
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
EP1374046B1 (en) * 2001-02-23 2012-02-22 Microsoft Corporation System and method for transforming object code
US20020170047A1 (en) 2001-02-23 2002-11-14 Brian Swetland 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
BRPI0209761B1 (pt) * 2001-05-30 2018-04-03 Blackberry Limited Sistema de tempo de execução de dispositivo de comunicação móvel para executar uma aplicação, método de manusear um módulo ligado ao principal em um sistema alvo e produto de programa de computador
US6986148B2 (en) * 2001-07-17 2006-01-10 Appforge, Inc. Methods and systems for providing platform-independent shared software components for mobile devices
US7039904B2 (en) 2001-08-24 2006-05-02 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for storing values into local variables
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
US7058934B2 (en) 2001-08-24 2006-06-06 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for instantiating Java objects
GB0125176D0 (en) * 2001-10-19 2001-12-12 Koninkl Philips Electronics Nv A method of compiling bytecode to native code
NL1019876C2 (nl) * 2002-01-31 2003-08-04 Chess Embedded Technology B V Systeem en werkwijze voor het laden van een programmacode in een inrichting alsmede een werkwijze voor het voeden van een programmacode aan een inrichting.
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
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
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
AU2003241885A1 (en) * 2002-06-18 2003-12-31 Matsushita Electric Industrial 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 (ko) * 2003-02-07 2005-06-10 삼성전자주식회사 자바 프로그램에서 클래스 로딩 과정을 단축시키는 시스템및 방법
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
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
CN1777868A (zh) * 2003-04-24 2006-05-24 国际商业机器公司 可执行文件的创建
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 (ko) * 2004-01-17 2006-11-10 삼성전자주식회사 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템
FR2871590B1 (fr) * 2004-06-15 2006-08-04 Gemplus Sa Procede de chargement d'un logiciel en langage intermediaire oriente objet dans un appareil portatif.
US7555746B2 (en) * 2004-12-09 2009-06-30 Sap Ag System and method for registering native libraries with non-native enterprise program code
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US7593930B2 (en) * 2004-12-14 2009-09-22 Sap Ag Fast channel architecture
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 (ko) 2005-01-03 2007-08-14 에스케이 텔레콤주식회사 클래스 파일 롬 이미지화 방법 및 그 롬 이미지화된클래스 파일 실행 방법
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 (zh) * 2007-07-02 2011-06-15 国际商业机器公司 用于监控和自适应地预载入关键动态连接库的方法和系统
JP2009099185A (ja) * 2007-10-16 2009-05-07 Dainippon Printing Co Ltd メモリをリフレッシュする機能を備えたストレージデバイス
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
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
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
US8813041B2 (en) * 2008-02-14 2014-08-19 Yahoo! Inc. Efficient compression of applications
KR20130010911A (ko) * 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
KR101249739B1 (ko) * 2010-07-13 2013-04-03 주식회사 인프라웨어테크놀러지 달빅 가상머신이 탑재된 단말기에서 자바 클래스 로딩 방법, 그리고 이를 수행하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
WO2012118917A2 (en) 2011-03-03 2012-09-07 Social Communications Company Realtime communications and network browsing client
CN107193629A (zh) * 2017-04-07 2017-09-22 上海交通大学 基于非易失性内存与Java虚拟机的新型数据管理方法
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
ATE237836T1 (de) 2003-05-15
US6349344B1 (en) 2002-02-19
WO1999031576A1 (en) 1999-06-24
DE69813618D1 (de) 2003-05-22
DE69813618T2 (de) 2003-10-23
EP1040409A1 (en) 2000-10-04
CA2306118A1 (en) 1999-06-24
JP4372348B2 (ja) 2009-11-25
EP1040409B1 (en) 2003-04-16
JP2002508560A (ja) 2002-03-19

Similar Documents

Publication Publication Date Title
CA2306118C (en) Combining multiple class files into run-time image
US6381737B1 (en) Automatic adapter/stub generator
US6339841B1 (en) Class loading model
US6460178B1 (en) Shared library optimization for heterogeneous programs
US8327328B2 (en) System and method for creating target byte code
US6609248B1 (en) Cross module representation of heterogeneous programs
US8850416B1 (en) System and method for creating target byte code
US6795962B1 (en) Machine independent debugger
US6003095A (en) Apparatus and method for demand loading a dynamic link library
JP4562918B2 (ja) インタプリティブ・ランタイム環境のためのコンパイル・プログラムの生成
US7584462B2 (en) System for optimizing application start-up
US20040003377A1 (en) Converting byte code instructions to a new instruction set
CA2255035C (en) Archiving tool
JP2000047874A (ja) プレロ―ドクラスのフットプリント低減装置及び方法
WO2007090817A1 (en) Collaborative classloader system and method
US10795704B2 (en) Serialization of objects to java bytecode
US8438468B2 (en) Annotation management
US8042103B2 (en) Pre-translated files used in a virtual machine
US20060101412A1 (en) Method to bridge between unmanaged code and managed code
Duffy Professional. net framework 2.0
Okafor et al. Transforming SQLITE to Run on a Bare PC.
Hookway DIGITAL FX! 32 running 32-Bit x86 applications on Alpha NT
Thiruvathukal Java at middle age: Enabling Java for computational science
US6961933B2 (en) Representation of Java data types in virtual machines
Almajed et al. Binary transformation of applications to run on bare PCs

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20171218