WO2001063412A3 - Small memory footprint system and method for separating applications within a single virtual machine - Google Patents

Small memory footprint system and method for separating applications within a single virtual machine Download PDF

Info

Publication number
WO2001063412A3
WO2001063412A3 PCT/US2001/005886 US0105886W WO0163412A3 WO 2001063412 A3 WO2001063412 A3 WO 2001063412A3 US 0105886 W US0105886 W US 0105886W WO 0163412 A3 WO0163412 A3 WO 0163412A3
Authority
WO
WIPO (PCT)
Prior art keywords
fields
static
applications
class
original
Prior art date
Application number
PCT/US2001/005886
Other languages
French (fr)
Other versions
WO2001063412A2 (en
WO2001063412A9 (en
Inventor
Grzegorz J Czajkowski
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AU2001239851A priority Critical patent/AU2001239851A1/en
Priority to GB0220075A priority patent/GB2375641B/en
Publication of WO2001063412A2 publication Critical patent/WO2001063412A2/en
Publication of WO2001063412A9 publication Critical patent/WO2001063412A9/en
Publication of WO2001063412A3 publication Critical patent/WO2001063412A3/en

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/44557Code layout in executable memory
    • G06F9/44563Sharing

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A system and method for isolating the execution of a plurality of applications. The applications may utilize or share one or more 'original' classes. Only one copy of each original class is maintained, regardless of how many applications utilize it. Static fields are extracted from the original classes. A separate copy of the static fields is created for each of the utilizing applications. A static field class which includes instance fields corresponding to the static fields may be created, wherein each instance of the static field class corresponds to one of the utilizing applications. Access methods for the one or more static fields may be created, wherein the access methods are operable to access the corresponding separate copy of the static fields based upon the identity of the utilizing application. A single access methods class may be created for each original class, wherein the single access methods class includes the access methods for accessing the extracted fields from the original class. The method and system may be optimized by exempting from extraction static fields that are classified as secure for utilization by the plurality of applications without inter-application interference. The secure set of static fields may include final static fields of primitive types, final static strings, immutable arrays of primitive types, and/or other appropriate fields.
PCT/US2001/005886 2000-02-25 2001-02-23 Small memory footprint system and method for separating applications within a single virtual machine WO2001063412A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2001239851A AU2001239851A1 (en) 2000-02-25 2001-02-23 Small memory footprint system and method for separating applications within a single virtual machine
GB0220075A GB2375641B (en) 2000-02-25 2001-02-23 Small memory footprint system and method for separating applications within a single virtual machine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/513,291 2000-02-25
US09/513,291 US6567974B1 (en) 2000-02-25 2000-02-25 Small memory footprint system and method for separating applications within a single virtual machine

Publications (3)

Publication Number Publication Date
WO2001063412A2 WO2001063412A2 (en) 2001-08-30
WO2001063412A9 WO2001063412A9 (en) 2002-10-24
WO2001063412A3 true WO2001063412A3 (en) 2003-07-31

Family

ID=24042644

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/005886 WO2001063412A2 (en) 2000-02-25 2001-02-23 Small memory footprint system and method for separating applications within a single virtual machine

Country Status (4)

Country Link
US (2) US6567974B1 (en)
AU (1) AU2001239851A1 (en)
GB (1) GB2375641B (en)
WO (1) WO2001063412A2 (en)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US7996843B2 (en) 1999-08-25 2011-08-09 Qnx Software Systems Gmbh & Co. Kg Symmetric multi-processor system
US6567974B1 (en) * 2000-02-25 2003-05-20 Sun Microsystems, Inc. Small memory footprint system and method for separating applications within a single virtual machine
US6865730B1 (en) * 2000-03-08 2005-03-08 International Business Machines Corporation Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading
WO2001084303A1 (en) * 2000-05-04 2001-11-08 Access Co.,Ltd. Information processing method and system
US6883165B1 (en) * 2000-09-28 2005-04-19 International Business Machines Corporation Apparatus and method for avoiding deadlocks in a multithreaded environment
US6886094B1 (en) 2000-09-28 2005-04-26 International Business Machines Corporation Apparatus and method for detecting and handling exceptions
US6779106B1 (en) 2000-09-28 2004-08-17 International Business Machines Corporation Apparatus and method for an enhanced integer divide in an IA64 architecture
US6912647B1 (en) 2000-09-28 2005-06-28 International Business Machines Corportion Apparatus and method for creating instruction bundles in an explicitly parallel architecture
US6799262B1 (en) 2000-09-28 2004-09-28 International Business Machines Corporation Apparatus and method for creating instruction groups for explicity parallel architectures
US6901586B1 (en) * 2000-11-06 2005-05-31 Sun Microsystems, Inc. Safe language static variables initialization in a multitasking system
US6851114B1 (en) * 2000-11-06 2005-02-01 Sun Microsystems, Inc. Method for improving the performance of safe language multitasking
US7246135B2 (en) * 2001-01-08 2007-07-17 Intel Corporation Sharing classes between programs
US7461148B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with isolation of system components
US7305658B1 (en) * 2001-05-07 2007-12-04 Microsoft Corporation Method and system for application partitions
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
US6918109B2 (en) * 2001-10-24 2005-07-12 Sun Microsystems, Inc. Execution of synchronized Java methods in Java computing environments
CA2365687A1 (en) * 2001-12-19 2003-06-19 Ibm Canada Limited-Ibm Canada Limitee Mechanism for invocation of user-defined routines in a multi-threaded database environment
US7065760B2 (en) * 2002-02-28 2006-06-20 Sun Microsystems, Inc. Reducing the memory footprint of applications executed in a virtual machine
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7162711B2 (en) * 2002-12-12 2007-01-09 Sun Microsystems, Inc. Method of automatically virtualizing core native libraries of a virtual machine
US7210121B2 (en) * 2003-02-07 2007-04-24 Sun Microsystems, Inc. Method and system for generating first class citizen application implementing native software application wrapper
US20040221272A1 (en) * 2003-04-30 2004-11-04 Gansha Wu Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments
JP3879002B2 (en) * 2003-12-26 2007-02-07 国立大学法人宇都宮大学 Self-optimizing arithmetic unit
US7644402B1 (en) * 2004-03-17 2010-01-05 Sun Microsystems, Inc. Method for sharing runtime representation of software components across component loaders
US8607299B2 (en) * 2004-04-27 2013-12-10 Microsoft Corporation Method and system for enforcing a security policy via a security virtual machine
US7603666B2 (en) * 2004-06-16 2009-10-13 International Business Machines Corporation Class loader
US7647586B2 (en) * 2004-08-13 2010-01-12 Sun Microsystems, Inc. System and method for providing exceptional flow control in protected code through watchpoints
US7853947B2 (en) * 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
US8171479B2 (en) * 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US7752600B2 (en) * 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US8117559B2 (en) * 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7882317B2 (en) * 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
JP4717426B2 (en) * 2004-12-07 2011-07-06 キヤノン株式会社 Information processing apparatus and method
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US7779034B2 (en) * 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US20070083620A1 (en) * 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
US8074231B2 (en) * 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US7496613B2 (en) * 2006-01-09 2009-02-24 International Business Machines Corporation Sharing files among different virtual machine images
KR100772867B1 (en) * 2006-02-23 2007-11-02 삼성전자주식회사 Method for offering partially isolated execution environment for applications and digital devices using the same
US20070240166A1 (en) 2006-04-05 2007-10-11 Kumar Marappan System and method of providing inter-application communications
US8250559B2 (en) * 2006-04-12 2012-08-21 Oracle America, Inc. Supporting per-program classpaths with class sharing in a multi-tasking virtual machine
GB0702604D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Handset commissi0ning
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US8176491B1 (en) * 2006-08-04 2012-05-08 Oracle America, Inc. Fast synchronization of simple synchronized methods
US8078972B2 (en) * 2006-09-15 2011-12-13 Citrix Systems, Inc. Methods and interfaces for displaying performance data related to a current remote access session
US7978617B2 (en) * 2006-09-15 2011-07-12 Citrix Systems, Inc. Methods for providing performance improvement recommendations
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US7926035B2 (en) * 2007-04-24 2011-04-12 Microsoft Corporation Testing multi-thread software using prioritized context switch limits
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US7792934B2 (en) * 2008-01-02 2010-09-07 Citrix Systems International Gmbh Loading of server-stored user profile data
US8875115B2 (en) * 2008-11-29 2014-10-28 International Business Machines Corporation Type merging technique to reduce class loading during Java verification
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US9753698B2 (en) * 2009-06-10 2017-09-05 Microsoft Technology Licensing, Llc Language-based model for isolating shared state
US8516450B2 (en) * 2010-03-19 2013-08-20 Oracle International Corporation Detecting real-time invalid memory references
US9075640B1 (en) * 2010-12-21 2015-07-07 Amazon Technologies, Inc. Sharing applications in a java virtual machine
CN102739603B (en) 2011-03-31 2015-10-21 国际商业机器公司 The method and apparatus of single-sign-on
CN102736945B (en) 2011-03-31 2016-05-18 国际商业机器公司 A kind of method and system of the Multi-instance running application
US8813051B2 (en) * 2011-04-14 2014-08-19 International Business Machines Corporation Running multiple copies of native code in a Java Virtual Machine
US8739147B2 (en) 2011-04-15 2014-05-27 International Business Machines Corporation Class isolation to minimize memory usage in a device
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958028A (en) * 1997-07-22 1999-09-28 National Instruments Corporation GPIB system and method which allows multiple thread access to global variables

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US6108754A (en) * 1997-04-03 2000-08-22 Sun Microsystems, Inc. Thread-local synchronization construct cache
US5924098A (en) * 1997-06-30 1999-07-13 Sun Microsystems, Inc. Method and apparatus for managing a linked-list data structure
US6345313B1 (en) * 1997-08-22 2002-02-05 Sun Microsystems, Inc. Recovery of synchronization constructs
US6066181A (en) * 1997-12-08 2000-05-23 Analysis & Technology, Inc. Java native interface code generator
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6141794A (en) * 1998-10-16 2000-10-31 Sun Microsystems, Inc. System and method for synchronizing access to shared variables in a virtual machine in a digital computer system
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
US6453460B1 (en) * 1999-04-26 2002-09-17 Hewlett-Packard Company Computer system with single processing environment for executing multiple application programs
US6567974B1 (en) * 2000-02-25 2003-05-20 Sun Microsystems, Inc. Small memory footprint system and method for separating applications within a single virtual machine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958028A (en) * 1997-07-22 1999-09-28 National Instruments Corporation GPIB system and method which allows multiple thread access to global variables

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CZAJKOWSKI G: "Application isolation in the Java/sup TM/ Virtual Machine", OOPSLA 2000. CONFERENCE ON OBJECT-ORIENTED PROGRAMMING SYSTEMS, LANGUAGES AND APPLICATIONS, MINNEAPOLIS, MN, USA, 15-19 OCT. 2000, vol. 35, no. 10, SIGPLAN Notices, Oct. 2000, ACM, USA, pages 354 - 366, XP002228618, ISSN: 0362-1340 *
KRAUSE, PLATTNER: "Safe Class Sharing among Java Processes", TECHNICAL REPORT RZ 3230 (#93276), 24 April 2000 (2000-04-24), pages 1 - 14, XP002231106 *
MATEU L ET AL: "Safe-threads: a new model for object-oriented multi-threaded languages", PROCEEDINGS. SCCC'99 XIX INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY, PROCEEDINGS. SCCC'99. XIX INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY, TALCA, CHILE, 11-13 NOV. 1999, 1999, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 136 - 143, XP002228617, ISBN: 0-7695-0296-2 *

Also Published As

Publication number Publication date
GB2375641A (en) 2002-11-20
AU2001239851A1 (en) 2001-09-03
US6567974B1 (en) 2003-05-20
US20030191867A1 (en) 2003-10-09
US6938247B2 (en) 2005-08-30
GB0220075D0 (en) 2002-10-09
GB2375641B (en) 2004-11-24
WO2001063412A2 (en) 2001-08-30
WO2001063412A9 (en) 2002-10-24

Similar Documents

Publication Publication Date Title
WO2001063412A3 (en) Small memory footprint system and method for separating applications within a single virtual machine
WO2002025426A3 (en) Lazy compilation of template-generated classes in dynamic compilation execution environments
TW332268B (en) Protected programmable memory cartridge and computer system using same
WO2001063405A3 (en) System and method for minimizing inter-application interference among static synchronized methods
ATE261596T1 (en) MIGRATION OF PROCESSES USING A DATA REPRESENTATION LANGUAGE REPRESENTATION OF THOSE PROCESSES IN A DISTRIBUTED COMPUTING ENVIRONMENT
WO2002048878A3 (en) System and methods for providing compatibility across multiple versions of a software system
WO2000068821A3 (en) Vertically-threaded processor with multi-dimensional storage
WO2001063415A3 (en) Operating system having a system page and method for using same
CA2302264A1 (en) Methods and/or systems for selecting data sets
CA2348261A1 (en) Program product and data processor
CA2317543A1 (en) System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources
ATE250777T1 (en) COMPUTER SYSTEM INITIALIZATION THROUGH URLLOADING CODE STORED IN SEQUENTIAL ACCESS MEMORY
WO2004013772A3 (en) System and method for indexing non-textual data
CN107632832A (en) One kind obscures method towards dalvik bytecode controlling streams
EP1168161A3 (en) System and method of executing hybridized code on a dynamically cofigurable hardware environment
CA2465626A1 (en) Program security through stack segregation
WO2004066115A3 (en) Improved interface for modifying data fields in a mark-up language environment
WO2004006088A3 (en) Making secure downloaded application in particular in a smart card
NO954992L (en) Procedure for avoiding interference between services in a telecommunications system
CA2016396A1 (en) Initial program load (ipl) based on an object abstraction for a data processing system
WO2001033347A3 (en) System and method supporting nonlocal values
WO2001088718A3 (en) Methods and systems for applications to interact with hardware
WO2001071494A3 (en) Method of executing a computer program with an interpreter, computer system and computer program product
US20040019802A1 (en) Method for increasing the security of a CPU
WO2001069391A3 (en) Difference engine method and apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: GB

Ref document number: 200220075

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/11-11/11, DRAWINGS, REPLACED BY NEW PAGES 1/11-11/11

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP