Bytecode (e.g., Java) Patents (Class 717/118)
  • Patent number: 6658647
    Abstract: A system for accessing resources, such as bitmaps, fonts and sound files is provided. Typically, resources of this type are accessed as files from Java code. The data is read into dynamic (RAM) memory as a byte array in a Java object, and at least one other copy of the byte array is made in order to process the resource data, such as rendering an image to a display. The invention provides a mechanism for accessing the resource data directly from ROM, without making intermediate copies in RAM. Each resource can have a unique key or string in a logical table. Values associated with the keys are pointers to the data stored in ROM. The pointers are passed directly to the methods for processing the data on the hardware, bypassing the need to have the data become a temporary Java object. The saving in memory use is particularly advantageous for constrained memory devices.
    Type: Grant
    Filed: August 12, 1999
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Carolyn Ruth MacLeod, Patrick James Mueller, Philip Charles Rubesin
  • Publication number: 20030221184
    Abstract: A system and method is provided defining a standard software application development framework that can be customized and linked to building blocks by various utilities and project layers, to implement standard business rules in an assembled code. Application developers can set programming standards through a template. By setting these standards, application developers use the system and method to define the naming convention, appearance of the code, reserve places for the comments, and ensure that specific types of code appear at a predefined locations in the code. The template is used while assembling the code.
    Type: Application
    Filed: May 22, 2002
    Publication date: November 27, 2003
    Inventors: Atul Narayan Gunjal, Abhijeet Ashok Pendharkar
  • Patent number: 6654778
    Abstract: A method and apparatus for a process in a computer for processing a method that performs a function. A determination is made as to whether the method is to be executed normally when the method is loaded. Responsive to an absence of a determination that the method is a method to be executed normally, instructions native to the computer are associated with the method, wherein the instructions perform the function.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Bentley John Hargrave
  • Patent number: 6651140
    Abstract: A caching pattern and associated method for caching in a programming environment are disclosed. The caching pattern includes an extensible cache entry component that includes methods for retrieving, updating, and setting expiration parameters for a cache entry. A cache store component includes methods for reading and writing objects to cache entries. A cache manager component includes methods implementing a first interface to the cache store component to cause the cache store component to read and write objects to the data store and includes methods implementing a second interface to the cache entry component for adding, removing, getting and committing data to the cache entry. The cache store component may also include instantiating a virtual machine and the caching pattern may be used, in one embodiment, in a JAVA programming environment.
    Type: Grant
    Filed: September 1, 2000
    Date of Patent: November 18, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Subbarao Ravi Kumar
  • Patent number: 6643842
    Abstract: Instrumenting a computer program to provide instrumented byte code includes examining the byte code, selecting portions of the byte code for instrumentation, and instrumenting the portions to provide instrumented byte code. Selecting the portions may include choosing portions of the byte code corresponding to method entry, method exit, a throw, a method call, or a new line number. Instrumenting a portion of the byte code corresponding to a method call may include instrumenting a local line number of source code corresponding to the byte code being instrumented. Instrumenting the portions may include adding calls to instrumentation runtime functions that pass parameters indicative of the portions being instrumented. At least one of the parameters that is passed may include a line number of the source code corresponding to the portion being instrumented or a thispointer for the method corresponding to the portion being instrumented.
    Type: Grant
    Filed: September 12, 2001
    Date of Patent: November 4, 2003
    Assignee: Compuware Corporation
    Inventors: David J. Angel, James R. Kumorek, Farokh Morshed, David A. Seidel
  • Patent number: 6638315
    Abstract: A method of controlling the existence of a Java object associated with a Web page in order to reuse the object, rather than create a new one when the Web page is revisited. The invention provides a method for allowing an object to register with a persistence manager upon creation, which maintains objects registered with it while the Web page is no longer being viewed. A Web browser translates instructions to create a Web page and invokes any Java objects resident on the page. The objects then check with the persistence manager to determine if the objects are present in the persistence manager. The objects in the persistence manager are then used, rather than creating new objects. The object remains registered until such time as it no longer needs to persist or until the Web browser is completely shut down.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: October 28, 2003
    Assignee: Wall Data Incorporated
    Inventors: Karl A. Uppiano, Vaughn H. Wine, Joseph C. Younger
  • Publication number: 20030200530
    Abstract: Method and apparatus are disclosed for the intensive use of garbage collection in order to determine the exact amount of memory that is consumed by a running application at any point of its execution. A garbage collector executes immediately prior to allocations of memory during execution of a program. The amount of memory used by the application is known after each such allocation of memory, and is very close to or equal to its theoretical requirement. A developer is also enabled to determine whether a specified memory allotment for an application is ever exceeded.
    Type: Application
    Filed: December 10, 2002
    Publication date: October 23, 2003
    Inventor: Moshe Sayag
  • Patent number: 6636863
    Abstract: Persistence of information and programming from one web page to another is gained by loading an applet or an Active X object repeatedly by addition of applet or Active X object code to the HTML code of a plurality of web pages. The persistence is also spread, beyond the web pages that repeatedly load the said applet or Active X object, by forming a pseudo-constructor with which an object, such as a graphical user interface, is generated by the initial loading and execution of the applet or Active X object, and persists even after the web page which loaded the applet or Active X object has been closed. In an exemplary application of the techniques, a shopping cart is generated that keeps track of the quantity and prices of items selected from a plurality of web pages. The cart operates without any interaction with the host server or other source of the web pages, apart from initial downloading of the applet or Active X object and final presentation of purchased items.
    Type: Grant
    Filed: September 13, 2000
    Date of Patent: October 21, 2003
    Inventor: E. Lane Friesen
  • Patent number: 6634022
    Abstract: A method for optimizing and enhancing Java programs to run more efficiently on specific hardware platforms, with a focus on increased execution performance and a reduction of the amount of memory the Java program ultimately requires for its functionality, includes steps for using new classes which define constants and specialization functions to identify and modify existing classes associated with a Java program. The method depends on the evaluation and analysis of the constants, with the results of such evaluation and analysis determining what kind of code specialization occurs. As an optional step, the resulting platform enhanced Java classes overwrite the original Java classes, which permits the modified classes to be utilized by the same Java program or other Java programs running on the same hardware platform when the Java programs are run in the future. A software product is also described.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: October 14, 2003
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Rene Leermakers
  • Patent number: 6625805
    Abstract: Broadly speaking, the present invention provides apparatus and methods for determining whether a byte code formatted computer program handles pointer device events. It is determined whether the computer program includes byte codes that process a pointer device event, and a tag is associated with the examined byte code that has been determined to process a pointer device event. In still another embodiment, the invention pertains to a computer-implemented method for examining a computer program having byte codes. The computer program may contain code for displaying a graphical user interface (GUI) component on a display device. The byte codes of the GUI component are examined to determine whether the GUI component is associated with a pointer device event. If it is determined that the GUI component is associated with a pointer device event, a tag is associated with the GUI component. The tag indicates that the GUI component responds to pointer device events.
    Type: Grant
    Filed: June 8, 1999
    Date of Patent: September 23, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Ioi K. Lam, Kuldipsingh Pabla
  • Publication number: 20030149960
    Abstract: Code can be injected into a compiled application through the use of probes comprised of instrumentation code. Probes can be implemented in a custom high level language that hides low level instruction details. A directive file contains instructions on injecting a probe into a compiled application. An instrumentation engine reads these instructions and injects the probe into the compiled application at the appropriate injection points. Multiple probes can be used, and can be stored in a probe library. Each probe can inject code into the application at, for example, a package, class, method, or line of the compiled application. Calls can also be made to external runtime libraries.
    Type: Application
    Filed: November 4, 2002
    Publication date: August 7, 2003
    Inventor: Rajendra Inamdar
  • Patent number: 6604182
    Abstract: Methods for managing memory in a run-time environment are described, in which an object is activated by both initializing the object and registering a routine to deallocate or deactivate the object at the end of a call (e.g. by setting it to null to unreference the object), which prevents the object, which may be a large object, from being migrated into session memory. This deactivation routine is called after the finalization of garbage collected objects that may use the object. In a subsequent call, the object is checked before use to determine if the object is already activated and re-initialized if the object is not activated.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: August 5, 2003
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, Peter Benson, Jerry Schwarz
  • Publication number: 20030145309
    Abstract: A high-level language can be used to abstract away programming language complexity from a user. The high-level language can be based upon and utilize some of the semantics of the programming language, but utilize keywords to call programming language functionality transparent to the user. This provides for a shorter learning curve for people who are somewhat familiar with the programming language, but might lack the knowledge or desire to personally code an entire application or method in the program language.
    Type: Application
    Filed: November 4, 2002
    Publication date: July 31, 2003
    Inventor: Rajendra Inamdar
  • Publication number: 20030135792
    Abstract: A method for language subset validation includes validating multiple program modules that comprise a program. Each of the program modules includes multiple bytecodes defined for a first computer language that is a hardware-dependent subset of a second computer language. The validation includes indicating an error condition for each item in the multiple program modules that is not defined for the first computer language, indicating an error condition for each item in the multiple program modules that is not supported by an execution environment of the first computer language and indicating an error condition for each item in the plurality of program modules that is defined for the first computer language but used in a manner inconsistent with the first computer language. An apparatus for language subset validation includes at least one memory having program instructions and at least one processor configured to use the program instructions to validate multiple program modules that together form a program.
    Type: Application
    Filed: January 30, 2003
    Publication date: July 17, 2003
    Inventor: Zhiqun Chen
  • Publication number: 20030131348
    Abstract: A mutability mechanism is provided for parsing an object at loading time. The mutability mechanism inserts a property into the object that indicates whether or not the object is immutable. The mutability mechanism looks at the code for the object and determines whether any other objects can modify the object. If the object cannot be modified after it is created, then the new property is set to indicate that the object is immutable; otherwise, the property is set to indicate that the object is mutable. This property can be inspected at runtime when a call is made to a program object. If an object passed as an argument is marked mutable, a clone of this object must be passed to the callee. However, if an object passed as an argument is marked immutable, a simple reference to the object may be passed as an argument to the callee.
    Type: Application
    Filed: January 8, 2002
    Publication date: July 10, 2003
    Applicant: International Business Machines Corporation
    Inventors: Matt Richard Hogstrom, Robert W. St. John
  • Publication number: 20030126584
    Abstract: A method for visually generating a service component can include specifying at least one service building block, wherein the specification includes visually selecting a plurality of event handlers for inclusion in the at least one service building block. The method can also include exporting the at least one service building block. The exporting step can produce a deployment descriptor which describes events for which the at least one service building block has been configured to handle. The at least one service block can be visually arranged, wherein the arrangement can form the service component. Finally, the service component produced by the visual arrangement can be configured for insertion in a SLEE in an advanced intelligent network. Notably, in one aspect of the method, the method can further include the step of encapsulating the service component in a service application container.
    Type: Application
    Filed: January 3, 2002
    Publication date: July 3, 2003
    Applicant: International Business Machines Corporation
    Inventors: Thomas E. Creamer, Zygmunt A. Lozinski, Joseph H. McIntyre, Victor S. Moore, Glen R. Walters
  • Patent number: 6584612
    Abstract: A method, system, and computer program product for transparently loading resources (such as stored bitmaps, images, fonts, and sound files) from read-only memory (“ROM”) for an application program executing on a Java Virtual Machine (“JVM”). Typically, the invention will be used on an embedded computing device which has no disk storage and no file system software. A novel class loader is described, which loads resources from ROM and returns an input stream object as is expected by the existing application program. Therefore, when using the present invention, no change is required to existing application code to use resources stored in ROM. (In addition, no change to existing applications is required in order to invoke the code of the present invention.) The invention may be used with programs written in the Java programming language, or with programs written in other languages that execute on a JVM.
    Type: Grant
    Filed: July 15, 1999
    Date of Patent: June 24, 2003
    Assignee: International Business Machines Corporation
    Inventors: Patrick James Mueller, Eric Christopher Smith, Timothy James Wolf
  • Publication number: 20030110469
    Abstract: An interactive graphical user interface (GUI) based system is described for the development, creation, and management of Java resource bundles. Furthermore, the GUI provides an application that works across platforms to eliminate repetitive tasks and errors that often occur in an internationalized development process. The resource bundle files are presented to the user in a tree-based GUI component, and users are provided with the ability to make a single change to resources that is then applied across all applicable resource bundle files. The GUI also allows for exporting, importing, and merging of resource files.
    Type: Application
    Filed: November 12, 2002
    Publication date: June 12, 2003
    Inventor: Jared Joseph Jackson
  • Patent number: 6578193
    Abstract: A method is disclosed for a endian correction at load time, thereby eliminating the need to perform multiple endian correction routines during execution. The method comprises obtaining a platform endian context corresponding to the processor; obtaining a operand endian context indicating the ordering of operands contained in the set of instructions to be loaded; reading an instruction in the set of instructions; determining whether an operational code for the instruction is endian antithetical to the platform endian context; if the operational code for the instruction is endian antithetical, reversing the endian order of the instruction; loading the instruction into an appropriate memory location; and repeating the above steps as required for each instruction until all of the instructions have been loaded into memory.
    Type: Grant
    Filed: July 17, 1998
    Date of Patent: June 10, 2003
    Assignee: Novell, Inc.
    Inventor: Phillip M. Adams
  • Patent number: 6571388
    Abstract: A system for creating a custom environment for executing application programs in a target device. The system broadens the applicability of software environments like Java by providing custom pre-loaded classes for application programs and by customizing the procedures for class loading to the available resources in the target device. The system includes tools for generating a pre-load class list that specifies a set of classes needed to support the application program. The tools build the custom environment including a set of code for a virtual machine and a set of code for each of a set of pre-loaded classes specified in the pre-load class list. The virtual machine loads classes from the pre-loaded classes, a file system class library, and/or a networked class library using widely available network protocols.
    Type: Grant
    Filed: March 9, 1999
    Date of Patent: May 27, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Chandrasekar Venkatraman, Venkatesh Krishnan, Geetha Manjunath, Kommarahalli S. Venugopal, Devaraj Das, Arunachalam Venkataramani
  • Patent number: 6567974
    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.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: May 20, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Grzegorz J. Czajkowski
  • Publication number: 20030093781
    Abstract: A smart card which includes a non-volatile read/write memory, a processor connected to the memory, and an installer module configured to cause the processor to receive computer code having method bodies into the memory, and further configured to cause the processor to perform a method for determining the instruction boundaries of the method bodies and resolving unresolved references within the method bodies.
    Type: Application
    Filed: November 14, 2001
    Publication date: May 15, 2003
    Inventors: Ksheerabdhi Krishna, Tim Wilkinson, Sylvain Prevost, Yannick Burianne
  • Publication number: 20030093779
    Abstract: One embodiment of the present invention provides a system that dynamically compiles byte codes into native code to facilitate faster execution. This method operates in a mixed-mode system that supports execution of both compiled code and interpreter code. During operation, the system periodically determines if a currently executing thread is executing through the interpreter. If so, the system locates the method being executed by the thread and compiles the byte codes of the method into native code. Subsequent executions of the method utilize the faster-executing native code.
    Type: Application
    Filed: April 12, 2002
    Publication date: May 15, 2003
    Inventor: Lars Bak
  • Publication number: 20030093770
    Abstract: A method and apparatus for receiving persistent data into a running system. Metadata comprising a description of the known and/or unknown data model structure of the persistent data is used to establish a storage format and location for the persistent data, during runtime of the system. New transforms are created for data structures unknown to a running system.
    Type: Application
    Filed: November 14, 2001
    Publication date: May 15, 2003
    Inventor: Jose Fernandez
  • Publication number: 20030093778
    Abstract: One embodiment of the present invention provides a system for type tagging values in a compiled activation frame in a lazy manner to facilitate garbage collection. This system operates in a mixed-mode environment that supports both interpretation of byte codes and execution of compiled native code. Upon receiving an invocation of a method, the system creates an activation frame for the method on the execution stack. If the method is executing in interpreted mode, the interpreter maintains a tag for each value in the activation frame during execution. The tag indicates whether the value is a reference type or a primitive type. However, if the method is executing in compiled mode, the system allocates space for tags for each value in the activation frame, but does not fill in the tags during execution. This allows the tags to be filled in at a future time when needed.
    Type: Application
    Filed: April 12, 2002
    Publication date: May 15, 2003
    Inventors: Lars Bak, Kasper V. Lund
  • Publication number: 20030093777
    Abstract: One embodiment of the present invention provides a system that gathers code usage information to facilitate removing compiled code that has not been recently used. This method operates in a mixed-mode system that supports execution of both compiled code and interpreter code. During operation, the system gathers usage information for compiled methods within an application while the application is executing. Next, the system identifies compiled methods to be removed based on this usage information, and removes identified compiled methods so that interpreter code is executed for the compiled methods instead of compiled code. In this way, the system frees up the memory space used to store the compiled methods.
    Type: Application
    Filed: April 12, 2002
    Publication date: May 15, 2003
    Inventors: Lars Bak, Jacob R. Andersen, Kasper V. Lund
  • Publication number: 20030088851
    Abstract: Method and system for global constant management. A method of operating a computer is described in which, for data structures and a set of data structures, the date structure is received from a first memory. The data structure includes one or more sets of instructions and a set of one or more constants. The data structure is stored in a second memory. If constants from the data structure have not been stored in other data structures in the second memory, other than the first data structure, then constants in the data structures are stored in data structures in second memory. The constants from the first data structure in the second memory are replaced with links to respective other data structures in the second memory. In one example system, the data structure from the first memory comprises a Java class, and the sets of instructions comprise Java methods. The constants from the data structure in the first memory may comprise a constant pool.
    Type: Application
    Filed: December 19, 2002
    Publication date: May 8, 2003
    Inventor: Philippe Harscoet
  • Patent number: 6560769
    Abstract: A computer-implemented method for representing JAVA in UML in a computer system executing a repository program. The method comprises the steps of determining if a file is a JAVA package or project. If it is, then determining if there is a JAVA subpackage not represented in UML, and if so; recursively creating UML subpackages representing each nested JAVA subpackage. If it is determined that the file is not a JAVA package or project, then the method creates UML files representing each JAVA source file.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: May 6, 2003
    Assignee: Unisys Corporation
    Inventors: Jeffrey Allen Moore, Joseph Peter Stefaniak, Lonnie Dale Sulgrove
  • Patent number: 6560771
    Abstract: An Information Processing System includes a method display unit that displays the methods belonging to a class, a method selection unit that selects the desired method from among the methods displayed, a new class creation unit that creates program source code that indicates the new class using the selected methods, a compiling unit that compiles the above discussed program source code and creates the execution file, and an information processing unit that executes the above discussed execution file and conducts the information processing defined by the method within the new class. By this system, it is possible to construct a highly productive and highly maintainable information processing system.
    Type: Grant
    Filed: May 10, 2000
    Date of Patent: May 6, 2003
    Assignee: Class Technology Co., Ltd.
    Inventor: Mikio Yotsukura
  • Patent number: 6557023
    Abstract: Embodiments of the invention comprise a method and apparatus for avoiding array class creation in, for example, virtual machines for object-oriented programming languages. Embodiments of the invention reduce the internal structures created for arrays at runtime, thereby reducing memory consumption. Unlike in a traditional implementation, where a separate array class is created for each array of different type, in an embodiment of the invention the type information is stored in array instances instead. Array classes are not created at all. Rather, the root class of the class hierarchy (e.g., “java.lang.Object”) is used as the class of each array instance. When an array instance is instantiated, a reference to the “java.lang.Object” class is created in the class field of the array instance and the type information is stored in the instance itself. In one embodiment of the invention, an integer type value is stored in a special type field of the array instance.
    Type: Grant
    Filed: May 28, 1999
    Date of Patent: April 29, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Antero Taivalsaari
  • Patent number: 6557100
    Abstract: A system, method, and software program for a fastpath redeployment of an Enterprise Java Bean (EJB). When an EJB is deployed, a copy of it is cached on the server. Thereafter, if the EJB is redeployed, it is compared to the cached copy to determine if the deployment descriptors or remote interfaces have changed. If there has been no change, then the previously deployed EJB is installed on the server, without the need to regenerate and recompile the EJB code.
    Type: Grant
    Filed: October 21, 1999
    Date of Patent: April 29, 2003
    Assignee: International Business Machines Corporation
    Inventor: James Irwin Knutson
  • Publication number: 20030079202
    Abstract: Techniques for handling exceptions raised during the execution of Java computer programs are disclosed. The techniques can be used by a Java virtual machine to efficiently handle exceptions. A method descriptor is implemented in a Java method frame which is stored in the Java execution stack. The method descriptor provides one or more references to exception handlers associated with the Java method. The references can be used to quickly identify and invoke the appropriate exception handler. This can be achieved without having to use a native language execution stack. As a result, the overhead associated with several returns from native functions (routines or methods) can be avoided since the information needed to invoke the appropriate exception handler can be obtained efficiently from the Java execution stack. Accordingly, the performance of Java virtual machines, especially those operating with limited resources, can be significantly enhanced.
    Type: Application
    Filed: October 24, 2001
    Publication date: April 24, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Publication number: 20030079203
    Abstract: Techniques for executing synchronized Java methods are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, monitors (e.g., locks) associated with Java objects for which the synchronized method are being performed are accessed quickly. In other words, the monitors can be quickly released without having to repeat several time-consuming operations which have to be performed in conventional systems. This, in turn, reduces the number of operations that need to be performed to execute synchronized Java methods. As a result, the performance of virtual machines, especially those operating with limited resources, is improved.
    Type: Application
    Filed: October 24, 2001
    Publication date: April 24, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Publication number: 20030079208
    Abstract: A method of compiling byte code into native code disclosed together with a server (100) and a receiving terminal (101) for the same. The method comprises the steps of transmitting byte code files containing byte code from a server to a receiving terminal; transmitting grouping information relating to the grouping of byte code files to the receiving terminal; and compiling byte code files received at the receiving terminal to native code. The byte code files are selected for compilation as a function of the grouping of byte code files.
    Type: Application
    Filed: September 20, 2002
    Publication date: April 24, 2003
    Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V.
    Inventor: Ian Willis
  • Publication number: 20030079201
    Abstract: Techniques for type checking in Java computing environments are disclosed. As will be appreciated, the techniques can be used by a Java virtual machine to efficiently perform type checking. In one embodiment, a Java class hierarchy is implemented in an internal class representation. The Java class hierarchy represents the hierarchical relationship of the parent classes for the Java class. The Java class hierarchy can be implemented, for example, as an array of class references. The array of class references can be used to efficiently perform type checking in Java computing environments. As a result, the performance of Java virtual machines, especially those operating with limited resources, can be significantly enhanced.
    Type: Application
    Filed: October 24, 2001
    Publication date: April 24, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Patent number: 6539383
    Abstract: A method, apparatus, and article of manufacture for accessing a database management system. A database management system (DBMS), executed by a server computer, manages one or more datastores stored on the computer. The DBMS includes an Open Transaction Manager Access (OTMA) that provides a high level application programming interface (API) for an application program to access the DBMS and its datastores, wherein the OTMA allows the application program to create an authorized connection with the DBMS. The server computer also executes a TCP/IP OTMA Connection (TOC) that establishes and manages connections between the DBMS and the application program. In the preferred embodiment, the application comprises a Java servlet or applet executed by a Java Virtual Machine JVM).
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: March 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Kyle Jeffrey Charlet, Haley Hoi Lee Fung, Judith Eleanor Hill, Gerald Dean Hughes, Steve T. Kuo, Wai-Yee Doris Ling, Moncrief Rowe-Anderson, Jack Chiu-Chiu Yuan
  • Patent number: 6523168
    Abstract: Reduction of object creation during string concatenation and like operations that utilize temporary data storage during translating a first computer program into a second computer program in which program code is generated to utilize a reusable temporary object in the performance of multiple operations that require the use of temporary storage, e.g., string concatenation operations. As such, the reusable temporary object need only be allocated once, in contrast with conventional implementations where multiple temporary objects would otherwise need to be allocated in the performance of such operations. Consequently, the additional overhead associated with allocating memory for additional objects, as well as collecting such objects once they are no longer in use, is eliminated, thereby improving overall performance while handling such multiple operations.
    Type: Grant
    Filed: July 1, 1999
    Date of Patent: February 18, 2003
    Assignee: International Business Machines Corporation
    Inventors: Jeremy Alan Arnold, Eric Lawrence Barsness, John Matthew Santosuosso
  • Publication number: 20030023954
    Abstract: An integrated circuit card is used with a terminal. The integrated circuit card includes a memory that stores an interpreter and an application that has a high level programming language format. A processor of the card is configured to use the interpreter to interpret the application for execution and to use a communicator of the card to communicate with the terminal.
    Type: Application
    Filed: October 23, 2001
    Publication date: January 30, 2003
    Inventors: Timothy J. Wilkinson, Scott B. Guthery, Ksheerabdhi Krishna, Michael A. Montgomery
  • Patent number: 6473894
    Abstract: A test/run program receives as input a list of identifiers for source pages referencing applets to be tested or run. The test/run program creates an array of the identifiers, together with parameters for each identifier, web browser to run the test under, and a number of times the source page is to be reloaded and the applets re-run. For each source page, and for each reload of a given source page, the test/run program starts the specified web browser process, loads the designated source page, and starts a fresh runtime environment for the applet. Support for a test class within the test/run program allows the applets to write success, failure, or informational results to an output file and to exit the web browser process when complete. Where a native implementation of the test class is employed, special security permissions need not be specified and the test/run program need not necessarily be run locally.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: October 29, 2002
    Assignee: International Business Machines Corporation
    Inventors: Theodore Jack London Shrader, Bruce Arland Rich, Julianne Yarsa, Donna Skibbie
  • Patent number: 6463521
    Abstract: A method for including opcode information in an opcode includes numbering the opcode such that a property of the opcode is represented by at least one bit of the opcode. According to one aspect, the number of data units required to advance to the next opcode is encoded into the opcode value itself. According to another aspect, opcodes are numbered such that opcodes having the same properties have opcode values in the same opcode range.
    Type: Grant
    Filed: June 23, 1999
    Date of Patent: October 8, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Dean R. E. Long
  • Patent number: 6460178
    Abstract: A shared library optimization process relocates a code block in a platform-neutral intermediate representation (IR) of a library into the IR of another library. The shared library optimization process preserves the original control flow that passed through the relocated code block using forwarding pointers and address substitution. The shared library optimization process can also relocate code blocks from multiple shared libraries into an existing shared library, or from one shared library into an empty shared library. The shared libraries to be optimized are specified by a user, as is the type of optimization to be performed.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: October 1, 2002
    Assignee: Microsoft Corporation
    Inventors: Hon Keat W. Chan, Andrew J. Edwards, Amitabh Srivastava, Hoi H. Vo
  • Patent number: 6446192
    Abstract: A single integrated circuit chip interfaces device control circuitry of a device to a client machine via a computer network. The chip comprises an internal data bus; a central processing unit connected to the internal data bus; an internal memory connected to the internal data bus; a device interface connected to the internal data bus, wherein the device interface comprises circuit blocks for communicating digital information between the integrated circuit and the device control circuitry; and a network interface connected to the internal data bus, wherein the network interface comprises circuit blocks for communicating digital information between the integrated circuit and the computer network.
    Type: Grant
    Filed: June 4, 1999
    Date of Patent: September 3, 2002
    Assignee: Embrace Networks, Inc.
    Inventors: Subram Narasimhan, Curtis Allred, Mark Stemm, Hari Balakrishnan
  • Patent number: 6446254
    Abstract: In typical Java and other interpreted programming language environments, the code is stored in ROM in a semi-processed state, .class files containing byte codes. When the device is turned on, a virtual machine resolves references and links the .class file in RAM to permit desired applications to be run. In the invention, the .class files are further pre-processed to select the data which will not change or require updating. This data is packaged into memory image files containing internal data pre-linking this data. The memory image files are stored in ROM and are accessible from ROM by the virtual machine at runtime. Only elements that will be updated, such as the objects themselves, must be instantiated in RAM at runtime. This reduces the amount of RAM needed to run the application. In an environment with memory constraints, the reduction in RAM requirements permits more RAM to be made available for application use.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: September 3, 2002
    Assignee: International Business Machines Corporation
    Inventors: Graham Chapman, John Duimovich, Trent Gray-Donald, Graeme Johnson, Andrew Low, Peter Wiebe Burka, Patrick James Mueller, Ryan Andrew Sciampancone, Peter Duncan Shipton
  • Patent number: 6438677
    Abstract: One embodiment of the present invention provides a system that supports space and time dimensional program execution by facilitating accesses to different versions of a memory element. The system supports a head thread that executes program instructions and a speculative thread that executes program instructions in advance of the head thread. The head thread accesses a primary version of the memory element, and the speculative thread accesses a space-time dimensioned version of the memory element. During a reference to the memory element by the head thread, the system accesses the primary version of the memory element. During a reference to the memory element by the speculative thread, the speculative thread accesses a pointer associated with the primary version of the memory element, and accesses a version of the memory element through the pointer. Note that the pointer points to the space-time dimensioned version of the memory element if the space-time dimensioned version of the memory element exists.
    Type: Grant
    Filed: October 20, 1999
    Date of Patent: August 20, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay
  • Patent number: 6438744
    Abstract: The dynamic mapping from an ActiveX component model to a JavaBean model is disclosed. In one embodiment, an ActiveX compatible object is created at run-time for those JavaBean components that an ActiveX client application wishes to utilize. In another embodiment, upon a call to CoGetClassObject or related methods using class identifiers, a COM-callable wrapper is generated and a mapping table containing COM dispatch identifiers is scanned to ensure the dispatch identifiers are unique. If they are not, the dispatch identifiers associated with JavaBean component interfaces are adjusted to make them unique.
    Type: Grant
    Filed: July 15, 1998
    Date of Patent: August 20, 2002
    Assignee: Microsoft Corporation
    Inventors: Michael J. Toutonghi, Tracy C. Sharpe
  • Patent number: 6438738
    Abstract: System and method for configuring a programmable logic device (PLD) using an automatically generated configuration control file. A control file contains directives for configuring a PLD with a configuration bitstream, wherein the directives are in a selected language. A configuration control file generator is programmed to automatically create the control file with the directives in the selected language. In another embodiment, the particular directives and sequence of the directives that are generated are dependent on a selected configuration mode for the PLD. In performing the directives, configuration control signals are applied to the PLD, and the configuration bitstream is provided to the PLD.
    Type: Grant
    Filed: September 19, 2000
    Date of Patent: August 20, 2002
    Assignee: Xilinx, Inc.
    Inventor: Bernardo Elayda
  • Publication number: 20020095659
    Abstract: Method and system aspects for allowing interfaces to have the functionality of constructors in a JAVA coding environment are described. The aspects include specifying a public interface to include an inner class with at least one static function, and encapsulating data to implement the at least one static function. The public interface and at least one static function are then implemented without exposing implementation details.
    Type: Application
    Filed: January 16, 2001
    Publication date: July 18, 2002
    Inventors: Ronald Michael Jacobs, Suresh Bathini
  • Publication number: 20020095664
    Abstract: A pre-interpretation and execution method of Java computer program language is disclosed. In an embedded type device, a pointer lookup table is built for mapping a running code of each bytecode to a respective subroutine. When the embedded type device downloads a Java program from a network, the received running code is converted into the pointer data of the respective subroutine entrance point according to the pointer lookup table. The operator is converted from a network format into a machine format. An adjusting step is performed for maintaining a correction of corresponding addressing. The converted result is stored into the embedded type device. A pointer data representing a respective subroutine and the operator of machine format are read sequentially for being executed, so as to complete an execution of the Java computer program language.
    Type: Application
    Filed: January 18, 2001
    Publication date: July 18, 2002
    Inventor: Wangtun Chou