Bytecode (e.g., Java) Patents (Class 717/118)
-
Patent number: 6851111Abstract: A computer system includes multiple class loaders for loading program class files into the system. A constraint checking mechanism is provided wherein a first class file loaded by a first class loader makes a symbolic reference to a second class file loaded by a second class loader, the symbolic reference including a descriptor of a third class file. The constraint mechanism requires that the first and second class files agree on the identity of the third class file and stores a list of constraints as a set of asymmetric relationships between class loaders. Each stored constraint, for a class loader which loaded a class file that contains a symbolic reference to another class file, includes a first parameter denoting the class loader which loaded the class file to which the symbolic references is made; and a second parameter denoting a class file which is identified by a descriptor in said symbolic reference.Type: GrantFiled: December 15, 2000Date of Patent: February 1, 2005Assignee: International Business Machines CorporationInventors: Richard Kenneth McGuire, Edward John Slattery, Matthew Alexander Webster
-
Patent number: 6851108Abstract: A verification module evaluates intermediate language code to verify that the code is type safe before passing the code for execution. Code that is not deemed type safe can cause execution errors, corrupt the runtime environment in which the code is executing, or cause unauthorized access to protected system resources. As such, the verification module protects a computer system from intentional or inadvertent breaches of the computer system's defenses. The verification module verifies the type safety of intermediate language code that supports significant high-level language constructs prohibited by verification modules in the prior art. One exemplary verification module verifies intermediate language code that includes one or more reference-based parameter, such as a pointer (or reference), a value class containing pointers, a RefAny parameter, or a nested pointer.Type: GrantFiled: November 16, 2000Date of Patent: February 1, 2005Assignee: Microsoft CorporationInventors: Don Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
-
Patent number: 6845376Abstract: The method of the present invention is useful in a computer system executing a Java application and a hierarchical database. The program executes a method for providing data access from the Java application to the hierarchical database. The method includes the steps of determining JDBC type, Java class name, and metadata values for the Java application to represent a given column in a result set on the hierarchical database. Next, there is a closing of all embedded result sets for the column.Type: GrantFiled: October 30, 2001Date of Patent: January 18, 2005Assignee: Unisys CorporationInventor: Peter Johnson
-
Patent number: 6842905Abstract: A software wrapper for interfacing to pre-existing software code is provided. The software wrapper is capable of inheriting from a first application program interface (API) and a second API. For calls to the first API, the software wrapper delegates to a pre-existing enumeration of objects. The wrapper creates a vector identifying elements of the enumeration. Iterators provided by the wrapper maintain positional cursors for calls to the second API. A comparison is made between each of the positional cursors and the vector. If a positional cursor exceeds the size of the vector, additional elements are extracted from the enumeration, placed in the vector, and returned on the second API. Otherwise, if the positional cursor is smaller than the vector size, the wrapper delegates directly to the vector. The first API can be a java-based enumeration API and the second API can be a java-based collection API.Type: GrantFiled: March 29, 2001Date of Patent: January 11, 2005Assignee: International Business Machines CorporationInventors: James I. Knutson, Gregory L. Truty, James L. Van Oosten
-
Publication number: 20040268301Abstract: Adding new compilers and methods to an integrated development environment (IDE), such as Microsoft's Visual Studio .Net®, is disclosed. This enables a programmer to develop, build and execute applications written in programming languages supported by new compilers, or new methods thereof, using an IDE such as the Visual Studio .Net framework. The integration of new compilers in the Visual Studio .Net is accomplished by using a COM interface wrapping technique further disclosed by the present invention.Type: ApplicationFiled: June 16, 2003Publication date: December 30, 2004Inventor: Yaakov Kaston
-
Publication number: 20040261069Abstract: System and method for dynamic loading of remote classes. Using embodiments, remote classes may be loaded dynamically by a default class loader without the use of separate, custom class loaders. The remote class loader mechanism may locate on remote systems classes needed by code executing on the local system but not locally stored, and which therefore cannot be located and loaded by the default class loader. After locating the classes, the remote class loader mechanism may obtain copies of the classes and save them to a location indicated by the class path of the default class loader. The default class loader can then locate and load the classes from the location indicated by the class path.Type: ApplicationFiled: June 20, 2003Publication date: December 23, 2004Applicant: Sun Microsystems, Inc.Inventors: Jerome M. Verbeke, Neelakanth M. Nadgir
-
Publication number: 20040250240Abstract: Repetitive synchronization in program code is optimized through lock coarsening that is performed subject to a number of constraints. Using a forward pass over the program code followed by a backward pass, region extent bits may be determined that identify the points in the program where object locking can be coarsened. The program code may then be modified to realize coarsened locking regions determined based on the region extent bits. Alternatively, previously determined value numbers may provide much of the information collected by the two passes. In such a case, a single pass over the program code may locate features that limit lock coarsening opportunities. A set of synchronization operations that can be removed may then be determined and used when modifying the program code to coarsen locking regions.Type: ApplicationFiled: May 27, 2004Publication date: December 9, 2004Applicant: International Business Machines CorporationInventors: Mark Graham Stoodley, Vijay Sundaresan
-
Publication number: 20040250239Abstract: Techniques are disclosed for concurrently maintaining serialized objects that were created from more than one version of a class definition. According to preferred embodiments, a component maps and enforces multiple valid stream-unique version identifiers (“SUIDs”) for a collection of class definitions (such as the classes of a software product that is undergoing change from one version to another). This component programmatically detects when an object's SUID value does not match the code attempting to deserialize the object, and then programmatically determines whether the object is compatible with the code even though the SUID values do not match. Preferably, this determination is made by consulting a stored mapping, in which the SUIDs of compatible versions have been recorded.Type: ApplicationFiled: June 9, 2003Publication date: December 9, 2004Applicant: International Business Machines CorporationInventors: James E. Fox, Jordan T. Liggitt, Erich S. Magee, Robert C. Sizemore
-
Publication number: 20040250241Abstract: A system and method for dynamically binding a user interface to information, comprising specifying with a first language a first action; specifying with a second language a first data source associated with the first action; rendering output with a third language based at least partially on the first action; wherein the second language is embedded in the first language; and wherein the first action can set or get the first data source.Type: ApplicationFiled: February 17, 2004Publication date: December 9, 2004Inventors: Edward K. O'Neil, Daryl B. Olander
-
Publication number: 20040243989Abstract: In one embodiment of the present invention an interpreted language, such as, for example, Java, is selectively optimized by partitioning the interpreted language code (98) into a plurality of blocks (80-83) based on the complexity of each of the interpreted language instructions. In one embodiment of the present invention, each of the plurality of blocks is identified as either a block to be compiled into native code (80-82) if the block is simple, or a block to be interpreted (83) if the block is complex. The compiled and interpreted blocks are appended to form in-line mixed code (99) that contains both native code (90-92) and interpreted language code (93). This mixed code is formed before run-time, so that no further compilation is required at run-time. A processing unit (102) may be used to execute the native code directly without the use of a Java VM (10), while also executing, in-line, the interpreted language code (93) which requires use of the Java VM (10) to interpret the Java bytecodes.Type: ApplicationFiled: June 29, 2004Publication date: December 2, 2004Inventors: Howard Dewey Owens, Viatcheslav Alexeyevich Kirillin, Mikhail Andreevich Kutuzov, Dmitry Sergeevich Preobrazhensky
-
Patent number: 6826749Abstract: A Java accelerator includes a hardware unit associated with the CPU portion, the hardware unit converting stack-based instructions, such as Java bytecodes, into register-based instructions such as the instructions which are native to the CPU. A thread lifetime unit in the hardware unit is used to maintain a count of the number of bytecodes to be executed while an active thread is loaded into the system. Once this count reaches zero or below, the operation of a/the thread in the system is stopped and the Java Virtual Machine loaded into the CPU portion in order to implement its thread manager. Additionally, a single step unit in the hardware unit allows the production of debugger indications after each stack-based instruction.Type: GrantFiled: May 25, 2001Date of Patent: November 30, 2004Assignee: Nazomi Communications, Inc.Inventors: Mukesh K. Patel, Udaykumar R. Raval, Harihar J. Vyas
-
Publication number: 20040237073Abstract: Apparatus and methods for restoring synchronization to object-oriented software applications in managed runtime environments are disclosed. The disclosed apparatus and methods determine if a class object has been dynamically loaded, perform an escape analysis on the program code and determine if assumptions made during an initial escape analysis are valid. Additionally, the disclosed system and methods restore synchronization to at least a portion of the program code affected by loading of the class object if the assumptions made during the initial escape analysis are no longer valid.Type: ApplicationFiled: May 20, 2003Publication date: November 25, 2004Inventors: Gansha Wu, Guei-Yuan Lueh, Xiaohua Shi
-
Publication number: 20040230949Abstract: The present invention includes a native language verification method for verifying native language information associated with an emulation class. Verification information associated with native language code is obtained. The native language code is referred to by an emulation language class. The legitimacy of the verification information is examined to confirm the native language is uncorrupted.Type: ApplicationFiled: May 14, 2003Publication date: November 18, 2004Inventors: Vanish Talwar, Dongni Chen
-
Publication number: 20040230958Abstract: Compiler and software product for compiling intermediate language (IL) bytecodes, such as Microsoft IL (MSIL) instructions into Java bytecodes, are provided. The provided compiler decodes the IL instructions, generates the stack content, and produces Java bytecodes based on the stack content. Furthermore, the compiler is specially designed to allow a programmer to develop software applications using the .Net framework that could be easily executed using a Java runtime environment.Type: ApplicationFiled: May 14, 2003Publication date: November 18, 2004Inventor: Eyal Alaluf
-
Publication number: 20040230950Abstract: Methods and systems for delivering a Java application to a requestor device are described. A request for the Java application is received at a node between the requestor device and a source of the Java application. A request for the Java application is sent to the source. The Java application is received from the source at the Intermediate node, which transforms the Java application according to attributes of the requester device. The transformed Java application is then sent to the requestor device.Type: ApplicationFiled: May 16, 2003Publication date: November 18, 2004Inventors: Ilja Bedner, Venkatesh Krishnan
-
Publication number: 20040221272Abstract: Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments are disclosed. Apparatus and methods for desynchronizing synchronized program code determine a type of the program code during just-in-time compilation of the program code and modify the program code during just-in-time compilation of the program code based on the type of the program code to desynchronize the program code.Type: ApplicationFiled: April 30, 2003Publication date: November 4, 2004Inventors: Gansha Wu, Guei-Yuan Lueh, Xiaohua Shi
-
Publication number: 20040221268Abstract: A Java application is debugged in a Java micro device by selectively loading from a host computer into the device, a subset of Java classes and/or Java resource files that is used during the debugging the Java application in the device, that is automatically selected from a set of Java classes and/or Java resource files in the host computer. Thus, the need to load a potentially huge Java ARchive (JAR) file that contains all classes and/or resources, at the start of debugging, can be reduced or eliminated. The invention also may be used to load modules that are used during debugging an application on a device from a host computer.Type: ApplicationFiled: April 29, 2003Publication date: November 4, 2004Inventors: Paul H. Nichols, Jian Li, Jeremy Roth
-
Publication number: 20040221264Abstract: A utility for comparing two objects in an object-oriented operating system that also records the differences so that they may be put into human-readable form. In one exemplary embodiment of this invention, two Java objects are compared by calling one of the equality methods. If the selected equality method indicates that there is a difference between the two objects, then get . . . ( ) methods of each object are invoked in turn. The results get . . . ( ) methods are compared. If there are differences, the differences are stored in an XML document. The get . . . ( ) method is recursively invoked until the Class of the result has no more get . . . ( ) methods to decompose.Type: ApplicationFiled: September 22, 2003Publication date: November 4, 2004Inventor: John Phenix
-
Patent number: 6813764Abstract: A compiler component for the generation of an optimal instruction sequence, the sequence including a compile-time unresolved reference to be resolved at runtime. The compiler generating a snippet list with entries corresponding to snippets defined for instructions including unresolved compile-time references. A runtime helper routine being defined for resolving references at runtime. For each instruction with an unresolved reference, generating a snippet including data for identifying the reference and for permitting resolution of the reference at runtime by the runtime helper routine. The snippet also including a copy of the instruction containing the unresolved reference. The location in the compiled code for the unresolved instruction being written with a call instruction to the snippet. The runtime helper being invoked by the snippet at runtime to resolve the references and to copy the unresolved code copy to the compiled code, with the references resolved.Type: GrantFiled: May 29, 2001Date of Patent: November 2, 2004Assignee: International Business Machines CorporationInventor: Kevin A. Stoodley
-
Publication number: 20040210870Abstract: The specification may disclose a method of overloading a programming language programs, where a distinction between the overloaded methods are their return parameter types.Type: ApplicationFiled: April 17, 2003Publication date: October 21, 2004Inventors: Richard Friedman, Joseph J. Snyder, Jason A. Kinner
-
Publication number: 20040205713Abstract: Methods and systems consistent with the present invention include, in one embodiment, producing display application software for embedded systems, the architecture of which partitions the display application software into two separate components: a) a Bytecode, which is an organized collection of static and dynamic data elements that define the components and attributes of the display application function within the given system utilizing a User Interface Tool; and b) a Display Virtual Engine which manipulates the information provided by the display data objects of the Bytecode. In particular, the Virtual Engine is a software entity that is executed within an embedded system, and which interprets the Bytecode according to a predefined instruction set. The same Virtual Engine is reusable within several embedded systems that have display components.Type: ApplicationFiled: April 8, 2003Publication date: October 14, 2004Inventors: Dale O. Keim, Shahram Rahmani
-
Publication number: 20040205714Abstract: An integrated circuit card includes a storage device to store one or more code files and one or more data files, and control logic. The control logic implements an ICC runtime environment that executes an applet in response to a command identifying both a code file and a data file received from a host system.Type: ApplicationFiled: April 29, 2004Publication date: October 14, 2004Inventors: Gilad Odinak, David Milstein, Eric C. Perlin, Vinay Deo, Scott B. Guthery
-
Publication number: 20040205712Abstract: Methods and apparatus for dynamically determining whether portions of code should be interpreted or compiled in order to optimize a software application during run-time are disclosed. According to one aspect of the present invention, computer-implemented method for run-time processing of a computer program which includes byte-codes arranged as a plurality of methods includes invoking a first method selected from the plurality of methods. Invoking the first selected method involves interpreting the first selected method. An invocation tracker which is arranged to track the number of invocations of the first selected method is updated, and a determination is made regarding when the invocation tracker indicates that the number of invocations of the first selected method exceeds a threshold value. The first selected method is compiled when it is determined that the invocation tracker indicates that the number of invocations of the first selected method exceeds a threshold value.Type: ApplicationFiled: April 18, 2001Publication date: October 14, 2004Inventors: Urs Holzle, Robert Griesemer, David Griswold
-
Publication number: 20040194076Abstract: In one embodiment of the present invention, a method includes translating instructions of a code portion from a first instruction set to a native instruction set; and disabling of translating the instructions when a compilation process is ready for execution.Type: ApplicationFiled: March 25, 2003Publication date: September 30, 2004Inventors: Lynn A. Comp, Anthony Jebson
-
Publication number: 20040194066Abstract: A method, apparatus, and system are provided for monitoring of system resources. According to one embodiment, a monitor server may be used to monitor system resources, to collect monitoring data associated with the resources, and to provide the monitoring data to a destination. The monitor server may include a Java Management Extensions (JMX)-based monitor server. Further, a managed bean server having a registry of managed beans may be coupled with the monitor server to facilitate the monitor server to monitor the resources.Type: ApplicationFiled: December 30, 2003Publication date: September 30, 2004Inventors: Gregor K. Frey, Joerg Weller, Reinhold Kautzleben, Miroslav R. Petrov
-
Publication number: 20040194059Abstract: Provided is an OSGiInstallBundle class that enables non-OSGi compliant resources, either Java, native code or some other format, to be downloaded from a server and installed on a client system running an OSGi framework. The OSGiInstallBundle class can be executed by a user or another bundle. The OSGiInstallBundle class manages non-OSGi resources by registering with the OSGi framework and evoking a start method. The start method extracts resources from, for example but not limited to, a Java archive, or JAR, file. In one embodiment, the registration of the class and information about the extracted files is broadcast to other installed OSGi bundles so that other OSGi bundles are aware of the newly installed bundle and its resources. In another embodiment, OSGi bundles may register a OSGIInstallBundle “listener” with the framework so that only those bundles that request notification of the installation of the non-OSGI bundle receive the notification.Type: ApplicationFiled: March 27, 2003Publication date: September 30, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Raji Lakshmi Akella, Scott James Bennett, Richard T. Slade
-
Patent number: 6789253Abstract: A method, system, and apparatus for improving performance of multi-threaded computer programs that re-establishes the lock structure that enables access to a portion of the computer memory and thereby reduces contention for computer memory. The present invention analyzes the references to computer memory and re-structures the memory access lock structure and thereby improves the use of regions of computer memory that are found to be mutually exclusive.Type: GrantFiled: July 28, 1999Date of Patent: September 7, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Mark Streich, Salil Pradhan, Eric Caspole
-
Publication number: 20040172614Abstract: A method for high level dynamic hot code generation. A class file container object is first created. Methods and code are then added to the class file container object. Byte code is then generated from the populated class file container object. From the byte code, instances of the new class object can by generated. The program code generator is configured to generate code at a programming language construct level, thereby working at a level of program language statements, expressions, variables, and other constructs.Type: ApplicationFiled: November 12, 2003Publication date: September 2, 2004Applicant: BEA SYSTEMS, INC.Inventor: William John Gallagher
-
Publication number: 20040172627Abstract: Described is a system and method for creating a runtime connection interface for attributes and element tags defined declaratively in a subclass within a markup document. These subclass attributes may define an event, and the element tags scoped inside a subclass may define a resource, and the like, associated with the subclass being defined within the markup document. During runtime, the runtime connection interface allows a parser to make direct calls to connect the subclass attribute with an associated instance of the subclass. The system and method include identifying an attribute or element tag defined within a markup document. The attribute or element tag is associated with a target element being declaratively defined within the markup document. The attribute may define an event, and an element tag resource, and the like, associated with a target element that is also declared within the subclass in the markup. An identifier for the target element is determined.Type: ApplicationFiled: February 28, 2003Publication date: September 2, 2004Applicant: Microsoft CorporationInventor: Sundaram Ramani
-
Method and apparatus for securely enabling native code execution on a JAVA enabled subscriber device
Publication number: 20040172620Abstract: A J2ME application (18) stored in memory (14) of a subscriber device (10) includes a Java Native Framework application program interface (24) for providing execution of Framework native code (21) and subscriber device native code (20). An instantiation process (300) determines if the J2ME application (18) has a primary key and accordingly initializing a registration database (48). A registration process (400) registers the Framework native code (21) in the registration database according to an assigned entry identification and dynamically links the Framework native code (21) with subscriber device native code (20), if needed. An execution process (500) executes the Framework native code (21) when the Java Native Framework application program interface is run by the J2ME application (18).Type: ApplicationFiled: February 28, 2003Publication date: September 2, 2004Applicant: MOTOROLA, INC.Inventor: Ricardo Martinez Perez -
Publication number: 20040172613Abstract: A system for high level dynamic hot code generation. A class file container object is first created. Methods and code are then added to the class file container object. Byte code is then generated from the populated class file container object. From the byte code, instances of the new class object can by generated. The program code generator is configured to generate code at a programming language construct level, thereby working at a level of program language statements, expressions, variables, and other constructs.Type: ApplicationFiled: November 12, 2003Publication date: September 2, 2004Applicant: BEA SYSTEMS, INC.Inventor: William John Gallagher
-
Publication number: 20040172625Abstract: A system for determining when an EJB compiler needs to be executed, comprising: a server, including an EJB or plurality of EJBs and an EJB compiler operating thereon; and, a logic that determines a first snapshot of the EJB at a particular moment in time or for a particular server version, and a second snapshot of said EJB at a later moment in time or a subsequent server version, and compares the first and second snapshots to determine whether the EJB should be recompiled.Type: ApplicationFiled: February 24, 2004Publication date: September 2, 2004Inventors: Matthew Shinn, Seth White, Rob Woollen
-
Publication number: 20040172619Abstract: A development-oriented directory structure that can be used with an application server and which solves a number of the problems associated with traditional EnterpriseArchive (EAR) files, comprising: a source folder that stores source files for use with or as part of a software application; an output folder that stores compiled files for use with or as part of said software application; and, wherein said source folder and said output folder output folder form a split directory for use in deploying said software application.Type: ApplicationFiled: February 25, 2004Publication date: September 2, 2004Applicant: BEA SYSTEMS, INC.Inventors: Rob Woollen, Mark Griffith
-
Publication number: 20040168163Abstract: A system for shortening the class loading process in a Java program according to the present invention includes a class loader unit for loading Java program class files from an auxiliary memory, performing linking and initialization processes and generating runtime data; a first memory unit for maintaining the runtime data generated by the class loader unit in an accessible state; a second memory unit for storing the runtime data, which have been loaded into the first memory unit in an accessible state, in the form of images; a runtime data search unit for loading the runtime data, which have been stored in the second memory unit in the form of images, into the first memory unit upon the request of the class loader unit; and an execution unit for executing the runtime data that have been loaded into the first memory unit in an accessible state.Type: ApplicationFiled: February 9, 2004Publication date: August 26, 2004Applicant: SAMSUNG ELECTRONICS CO., LTD.Inventors: Ji-young Choi, Hyo-jung Song, Jung-gyu Park
-
Publication number: 20040168160Abstract: To meet the current trend in computer programming, a multi-programming-language compiler system is designed to include a compiler framework which creates a general environment in which to carry out compilation and language modules to encapsulate the details of various programming languages. Such a system makes it easy for tool vendors and end users to adapt to a world where computer programs are written in multiple languages. New language modules may be written that add support for new languages to the compiler framework. It may also be possible to extend existing language modules so that a variant on an existing language may be added to the compiler framework. Such a system may also be adapted to permit several different clients to access detailed language information from the compiler framework. These clients may include a standard command-line shell or a sophisticated multi-language integrated development environment.Type: ApplicationFiled: February 19, 2004Publication date: August 26, 2004Applicant: BEA Systems, Inc.Inventor: Kevin Zatloukal
-
Patent number: 6782540Abstract: The present invention, sometimes referred to as an Application Message Wrapper Generation Wizard or Wizard (for short), is a tool to help application developers map Cobol or Natural copybooks into a message command for an ASCII-based text messaging service. In this sense, the Wizard facilitates communication between client applications and server applications by allowing the client to use generic requests and allowing the Wizard generated files providing the correct protocol and syntax for communication with the destination server application. The Wizard generates Java classes that will mine/plant data a runtime between business objects and a message string that corresponds to the copybook's data structure, and vice versa. The Wizard recognizes different data types of copybook fields respectively, and converts them to/from ASCII.Type: GrantFiled: July 31, 2000Date of Patent: August 24, 2004Assignee: Sprint Communications Company, L.P.Inventors: Ivan Chow, Wing Lee, Jiangxiang Yang, Denis Tsai
-
Patent number: 6779172Abstract: This invention provides a system and method that allows object oriented (OOP) applications to incorporate scripting easily and in a uniform manner. The Bean Scripting Framework (BSF) supports scripting on the OOP programming language-side, where the programming language runs and evaluates scripts, and also in cases where scripts run and control objects. The BSFManager provides scripting services for the application program as well as support services for scripting engines to interact with the OOP programming language runtime environment. The BSF also has a registry of known scripting languages which the application program can interact with. The scripting architecture allows OOP programming language applications to be customized and managed further downstream than previously possible.Type: GrantFiled: October 22, 1999Date of Patent: August 17, 2004Assignee: International Business Machines CorporationInventors: Sanjiva Weerawarana, Matthew J. Duftler
-
Publication number: 20040158810Abstract: A uniform resource locator (URL) is embedded in computerized or digital documentation for a physical and/or a software process control element existing within a process control environment to thereby provide an automatic link to documentation or other applications that exist in other processing or data environments, such as in a word processing environment or in a data manipulation environment.Type: ApplicationFiled: February 3, 2004Publication date: August 12, 2004Applicant: FISHER-ROSEMOUNT SYSTEMS INC.Inventors: Andrew P. Dove, Larry O. Jundt, Trevor D. Schleiss
-
Publication number: 20040158813Abstract: A method for camouflaging a non-native application as a native application of a device is provided. The method includes generating a native code wrapper in a device dependent native code to handle a communication between a native operating system and the non-native application. The method further includes applying the native code wrapper to the non-native application generating a wrapped non-native application. The non-native application remains intact while in contact with the native code wrapper.Type: ApplicationFiled: June 9, 2003Publication date: August 12, 2004Applicant: Sun Microsystems, Inc.Inventors: Bing Xia, Singyun Brian Chu
-
Patent number: 6775820Abstract: A Web based application, specifically, HelpNow!®, that is not compatible with browsers of the OS/2 operating system because the Web based application contains JavaScript 1.2 statements is re-coded so that the Web pages of the Web based application will be compatible with the browsers of the OS/2 operating system.Type: GrantFiled: November 29, 2000Date of Patent: August 10, 2004Assignee: International Business Machines CorporationInventors: Gregory Lee Harrington, Keith Raymond Walker
-
Publication number: 20040153996Abstract: A technique is presented for determining the defining ClassLoader class of a Java class as it is being defined within a Java Virtual Machine (JVM) by instrumenting the “java.lang.ClassLoader” class. Within a JVM, all ClassLoader instances call one of the “defineClass” methods of class “java.lang.ClassLoader” in order to pass the raw bytes for loaded a class to the JVM to have it defined as a Java class. Therefore, instrumentation code is inserted into the “defineClass” methods of class “java.lang.ClassLoader”; the instrumentation code stores an identity of the defining ClassLoader prior to the invocation of the class load hook by the JVM, which can use the identity of the defining ClassLoader for various purposes.Type: ApplicationFiled: January 30, 2003Publication date: August 5, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
-
Publication number: 20040143826Abstract: A process and system for externalizing classloader information to non-application modules such as tool modules that do not reside within the same Application server virtual machine such as a J2EE AppServer JVM. Tools that read and display classloader information typically need to co-reside within the AppServer because of the virtual machine security mechanisms that prevent classes outside the virtual machine itself to introspect the classloaders. This presents a problem for tooling vendors because most server owners do not want anything other than their applications running within the AppServer virtual machine. The invention allows tooling vendors to create a classloader tool that is external to the AppServer virtual machine, and which is running in a completely separate virtual machine, thus having minimal overhead on production systems, but which allows classloading through standard or open (e.g. non-proprietary) interfaces.Type: ApplicationFiled: January 16, 2003Publication date: July 22, 2004Applicant: International Business Machines CorporationInventors: Thomas R. Gissel, Michael Levi Fraenkel, Brian Keith Martin
-
Publication number: 20040143820Abstract: A method for program verification comprises receiving a program unit, determining data types used by the program unit, creating a first mapping for the data types and using the first mapping to represent type information in verification information for the program unit. The verification information comprises the data type of entries on an operand stack or in a register file during simulated execution of the program unit.Type: ApplicationFiled: January 16, 2003Publication date: July 22, 2004Applicant: Sun Microsystems, Inc., a Delaware CorporationInventor: Eduard de Jong
-
Publication number: 20040139424Abstract: A method of executing bytecode by means of a secondary interpreter using the services of the primary virtual machine is disclosed. This facilitates the development and execution of long-lived processes that require execution context serialization.Type: ApplicationFiled: January 13, 2003Publication date: July 15, 2004Applicant: Velare Technologies Inc.Inventor: Serguei Mourachov
-
Patent number: 6760907Abstract: A method, system and apparatus for generating and optimizing native code in a runtime compiler from a group of bytecodes presented to the compiler. The compiler accesses information that indicates a likelihood that a class will be a particular type when accessed by the running program. Using the accessed information, the compiler selects a code generation method from a plurality of code generation methods. A code generator generates optimized native code according to the selected code generation method and stores the optimized native code in a code cache for reuse.Type: GrantFiled: June 30, 1998Date of Patent: July 6, 2004Assignee: Sun Microsystems, Inc.Inventor: Nicholas Shaylor
-
Patent number: 6757891Abstract: A computer-implemented method for reducing a computing overhead associated with objects that are local to a particular thread and can be accessed solely by that thread. Dynamically during run-time, an object is determined to be local to a particular thread and can be accessed solely by that thread, whereby a computing overhead associated with that object may be reduced. Likewise, cache locality may be optimized in respect of objects that are determined to be global so as to avoid putting them in the same cache line, whilst thread-local objects are preferably stored in a cache line associated with that thread.Type: GrantFiled: July 12, 2000Date of Patent: June 29, 2004Assignee: International Business Machines CorporationInventors: Alain Azagury, Elliott Karl Kolodner, Michael Factor, Avi Teperman, Martin John Trotter
-
Publication number: 20040123270Abstract: A shared library architecture (iJDL) for sharing libraries among applications. The iJDLs can be added, removed, updated or directly retrieved from the network, and are fully configurable to maximize the usage of limited flash memory space. The iJDL model conforms to the standard sandbox security model defined by the MIDP 1.0 specification. A Java Application Manager (JAM) also may be provided to alert the user of any update to shared libraries available on the network. For security, iJDL can be authenticated such that only authorized vendors are allowed to use it.Type: ApplicationFiled: December 23, 2002Publication date: June 24, 2004Applicant: Motorola, Inc.Inventors: Ruiqiang Zhuang, Jyh-Han Lin, Biren Patel
-
Patent number: 6754889Abstract: A system and method are disclosed for enabling injection of non-native code into a JAVA environment. The method provides a software hook for detecting the loading of a JAVA interpreter, and then creates a connection that communicates with an executing JAVA application. A method is also provided that loads in a customized CLASSLOADER module, wherein the customized CLASSLOADER module identifies a location of non-native code, and then loads in the non-native code identified by the customized CLASSLOADER module.Type: GrantFiled: October 4, 2000Date of Patent: June 22, 2004Assignee: Compuware CorporationInventor: Neal T. Leverenz
-
Patent number: 6754887Abstract: There is provided a method for implementing virtual bases with fixed offsets in a class hierarchy graph corresponding to an object oriented program. The graph has nodes representing object classes and edges representing immediate inheritance therebetween. The method includes the step of determining whether a set N is empty, the set N including all nodes in the graph. A node x is removed from the set N, when the set N is not empty. It is determined whether a set Y is empty, the set Y including nodes that directly and virtually inherit from the node x. A return is made to the step of determining whether the set N is empty, when the set Y is empty. A node y is removed from the set Y, when the set Y is not empty. It is determined whether the node y is duplicated in the graph. A return is made to the step of determining whether the set Y is empty, when the node y is duplicated. An edge e is replaced with an edge e′, when the node y is not duplicated.Type: GrantFiled: October 22, 1999Date of Patent: June 22, 2004Assignee: International Business Machines CorporationInventors: Joseph Gil, Peter F. Sweeney
-
Publication number: 20040117769Abstract: A visual Debugger for stylesheets assists a user of stylesheets debug the stylesheets by: allowing the user to set breakpoints on the stylesheet; running to, and stopping at, the breakpoints; single stepping through each template rule as the rule is fired (both forward and backward); evaluating the template rule on the fly; showing the relationship between each template rule and the source document that provides the data; supporting stylesheets that call external programs written in Java or JavaScript; supporting stylesheets that include or import other stylesheets; supporting XML documents that use the “?xml-stylesheet” processing instruction to include stylesheets; supporting multiple debug sessions; and allowing the user to edit the stylesheet or source document and then allowing the debugger to be relaunched.Type: ApplicationFiled: June 10, 2003Publication date: June 17, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Martin Lauzon, Christina P. Lau