Bytecode (e.g., Java) Patents (Class 717/118)
  • Patent number: 6851111
    Abstract: 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: Grant
    Filed: December 15, 2000
    Date of Patent: February 1, 2005
    Assignee: International Business Machines Corporation
    Inventors: Richard Kenneth McGuire, Edward John Slattery, Matthew Alexander Webster
  • Patent number: 6851108
    Abstract: 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: Grant
    Filed: November 16, 2000
    Date of Patent: February 1, 2005
    Assignee: Microsoft Corporation
    Inventors: Don Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
  • Patent number: 6845376
    Abstract: 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: Grant
    Filed: October 30, 2001
    Date of Patent: January 18, 2005
    Assignee: Unisys Corporation
    Inventor: Peter Johnson
  • Patent number: 6842905
    Abstract: 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: Grant
    Filed: March 29, 2001
    Date of Patent: January 11, 2005
    Assignee: International Business Machines Corporation
    Inventors: James I. Knutson, Gregory L. Truty, James L. Van Oosten
  • Publication number: 20040268301
    Abstract: 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: Application
    Filed: June 16, 2003
    Publication date: December 30, 2004
    Inventor: Yaakov Kaston
  • Publication number: 20040261069
    Abstract: 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: Application
    Filed: June 20, 2003
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Jerome M. Verbeke, Neelakanth M. Nadgir
  • Publication number: 20040250240
    Abstract: 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: Application
    Filed: May 27, 2004
    Publication date: December 9, 2004
    Applicant: International Business Machines Corporation
    Inventors: Mark Graham Stoodley, Vijay Sundaresan
  • Publication number: 20040250239
    Abstract: 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: Application
    Filed: June 9, 2003
    Publication date: December 9, 2004
    Applicant: International Business Machines Corporation
    Inventors: James E. Fox, Jordan T. Liggitt, Erich S. Magee, Robert C. Sizemore
  • Publication number: 20040250241
    Abstract: 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: Application
    Filed: February 17, 2004
    Publication date: December 9, 2004
    Inventors: Edward K. O'Neil, Daryl B. Olander
  • Publication number: 20040243989
    Abstract: 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: Application
    Filed: June 29, 2004
    Publication date: December 2, 2004
    Inventors: Howard Dewey Owens, Viatcheslav Alexeyevich Kirillin, Mikhail Andreevich Kutuzov, Dmitry Sergeevich Preobrazhensky
  • Patent number: 6826749
    Abstract: 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: Grant
    Filed: May 25, 2001
    Date of Patent: November 30, 2004
    Assignee: Nazomi Communications, Inc.
    Inventors: Mukesh K. Patel, Udaykumar R. Raval, Harihar J. Vyas
  • Publication number: 20040237073
    Abstract: 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: Application
    Filed: May 20, 2003
    Publication date: November 25, 2004
    Inventors: Gansha Wu, Guei-Yuan Lueh, Xiaohua Shi
  • Publication number: 20040230949
    Abstract: 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: Application
    Filed: May 14, 2003
    Publication date: November 18, 2004
    Inventors: Vanish Talwar, Dongni Chen
  • Publication number: 20040230958
    Abstract: 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: Application
    Filed: May 14, 2003
    Publication date: November 18, 2004
    Inventor: Eyal Alaluf
  • Publication number: 20040230950
    Abstract: 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: Application
    Filed: May 16, 2003
    Publication date: November 18, 2004
    Inventors: Ilja Bedner, Venkatesh Krishnan
  • Publication number: 20040221272
    Abstract: 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: Application
    Filed: April 30, 2003
    Publication date: November 4, 2004
    Inventors: Gansha Wu, Guei-Yuan Lueh, Xiaohua Shi
  • Publication number: 20040221268
    Abstract: 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: Application
    Filed: April 29, 2003
    Publication date: November 4, 2004
    Inventors: Paul H. Nichols, Jian Li, Jeremy Roth
  • Publication number: 20040221264
    Abstract: 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: Application
    Filed: September 22, 2003
    Publication date: November 4, 2004
    Inventor: John Phenix
  • Patent number: 6813764
    Abstract: 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: Grant
    Filed: May 29, 2001
    Date of Patent: November 2, 2004
    Assignee: International Business Machines Corporation
    Inventor: Kevin A. Stoodley
  • Publication number: 20040210870
    Abstract: 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: Application
    Filed: April 17, 2003
    Publication date: October 21, 2004
    Inventors: Richard Friedman, Joseph J. Snyder, Jason A. Kinner
  • Publication number: 20040205713
    Abstract: 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: Application
    Filed: April 8, 2003
    Publication date: October 14, 2004
    Inventors: Dale O. Keim, Shahram Rahmani
  • Publication number: 20040205714
    Abstract: 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: Application
    Filed: April 29, 2004
    Publication date: October 14, 2004
    Inventors: Gilad Odinak, David Milstein, Eric C. Perlin, Vinay Deo, Scott B. Guthery
  • Publication number: 20040205712
    Abstract: 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: Application
    Filed: April 18, 2001
    Publication date: October 14, 2004
    Inventors: Urs Holzle, Robert Griesemer, David Griswold
  • Publication number: 20040194076
    Abstract: 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: Application
    Filed: March 25, 2003
    Publication date: September 30, 2004
    Inventors: Lynn A. Comp, Anthony Jebson
  • Publication number: 20040194066
    Abstract: 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: Application
    Filed: December 30, 2003
    Publication date: September 30, 2004
    Inventors: Gregor K. Frey, Joerg Weller, Reinhold Kautzleben, Miroslav R. Petrov
  • Publication number: 20040194059
    Abstract: 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: Application
    Filed: March 27, 2003
    Publication date: September 30, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Raji Lakshmi Akella, Scott James Bennett, Richard T. Slade
  • Patent number: 6789253
    Abstract: 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: Grant
    Filed: July 28, 1999
    Date of Patent: September 7, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark Streich, Salil Pradhan, Eric Caspole
  • Publication number: 20040172614
    Abstract: 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: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventor: William John Gallagher
  • Publication number: 20040172627
    Abstract: 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: Application
    Filed: February 28, 2003
    Publication date: September 2, 2004
    Applicant: Microsoft Corporation
    Inventor: Sundaram Ramani
  • Publication number: 20040172620
    Abstract: 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: Application
    Filed: February 28, 2003
    Publication date: September 2, 2004
    Applicant: MOTOROLA, INC.
    Inventor: Ricardo Martinez Perez
  • Publication number: 20040172613
    Abstract: 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: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventor: William John Gallagher
  • Publication number: 20040172625
    Abstract: 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: Application
    Filed: February 24, 2004
    Publication date: September 2, 2004
    Inventors: Matthew Shinn, Seth White, Rob Woollen
  • Publication number: 20040172619
    Abstract: 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: Application
    Filed: February 25, 2004
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventors: Rob Woollen, Mark Griffith
  • Publication number: 20040168163
    Abstract: 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: Application
    Filed: February 9, 2004
    Publication date: August 26, 2004
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Ji-young Choi, Hyo-jung Song, Jung-gyu Park
  • Publication number: 20040168160
    Abstract: 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: Application
    Filed: February 19, 2004
    Publication date: August 26, 2004
    Applicant: BEA Systems, Inc.
    Inventor: Kevin Zatloukal
  • Patent number: 6782540
    Abstract: 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: Grant
    Filed: July 31, 2000
    Date of Patent: August 24, 2004
    Assignee: Sprint Communications Company, L.P.
    Inventors: Ivan Chow, Wing Lee, Jiangxiang Yang, Denis Tsai
  • Patent number: 6779172
    Abstract: 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: Grant
    Filed: October 22, 1999
    Date of Patent: August 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Sanjiva Weerawarana, Matthew J. Duftler
  • Publication number: 20040158810
    Abstract: 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: Application
    Filed: February 3, 2004
    Publication date: August 12, 2004
    Applicant: FISHER-ROSEMOUNT SYSTEMS INC.
    Inventors: Andrew P. Dove, Larry O. Jundt, Trevor D. Schleiss
  • Publication number: 20040158813
    Abstract: 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: Application
    Filed: June 9, 2003
    Publication date: August 12, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Bing Xia, Singyun Brian Chu
  • Patent number: 6775820
    Abstract: 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: Grant
    Filed: November 29, 2000
    Date of Patent: August 10, 2004
    Assignee: International Business Machines Corporation
    Inventors: Gregory Lee Harrington, Keith Raymond Walker
  • Publication number: 20040153996
    Abstract: 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: Application
    Filed: January 30, 2003
    Publication date: August 5, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
  • Publication number: 20040143826
    Abstract: 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: Application
    Filed: January 16, 2003
    Publication date: July 22, 2004
    Applicant: International Business Machines Corporation
    Inventors: Thomas R. Gissel, Michael Levi Fraenkel, Brian Keith Martin
  • Publication number: 20040143820
    Abstract: 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: Application
    Filed: January 16, 2003
    Publication date: July 22, 2004
    Applicant: Sun Microsystems, Inc., a Delaware Corporation
    Inventor: Eduard de Jong
  • Publication number: 20040139424
    Abstract: 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: Application
    Filed: January 13, 2003
    Publication date: July 15, 2004
    Applicant: Velare Technologies Inc.
    Inventor: Serguei Mourachov
  • Patent number: 6760907
    Abstract: 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: Grant
    Filed: June 30, 1998
    Date of Patent: July 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Nicholas Shaylor
  • Patent number: 6757891
    Abstract: 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: Grant
    Filed: July 12, 2000
    Date of Patent: June 29, 2004
    Assignee: International Business Machines Corporation
    Inventors: Alain Azagury, Elliott Karl Kolodner, Michael Factor, Avi Teperman, Martin John Trotter
  • Publication number: 20040123270
    Abstract: 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: Application
    Filed: December 23, 2002
    Publication date: June 24, 2004
    Applicant: Motorola, Inc.
    Inventors: Ruiqiang Zhuang, Jyh-Han Lin, Biren Patel
  • Patent number: 6754889
    Abstract: 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: Grant
    Filed: October 4, 2000
    Date of Patent: June 22, 2004
    Assignee: Compuware Corporation
    Inventor: Neal T. Leverenz
  • Patent number: 6754887
    Abstract: 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: Grant
    Filed: October 22, 1999
    Date of Patent: June 22, 2004
    Assignee: International Business Machines Corporation
    Inventors: Joseph Gil, Peter F. Sweeney
  • Publication number: 20040117769
    Abstract: 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: Application
    Filed: June 10, 2003
    Publication date: June 17, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Martin Lauzon, Christina P. Lau