Bytecode (e.g., Java) Patents (Class 717/118)
-
Patent number: 6658647Abstract: 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: GrantFiled: August 12, 1999Date of Patent: December 2, 2003Assignee: International Business Machines CorporationInventors: Carolyn Ruth MacLeod, Patrick James Mueller, Philip Charles Rubesin
-
Publication number: 20030221184Abstract: 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: ApplicationFiled: May 22, 2002Publication date: November 27, 2003Inventors: Atul Narayan Gunjal, Abhijeet Ashok Pendharkar
-
Patent number: 6654778Abstract: 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: GrantFiled: January 29, 1999Date of Patent: November 25, 2003Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Bentley John Hargrave
-
Patent number: 6651140Abstract: 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: GrantFiled: September 1, 2000Date of Patent: November 18, 2003Assignee: Sun Microsystems, Inc.Inventor: Subbarao Ravi Kumar
-
Patent number: 6643842Abstract: 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: GrantFiled: September 12, 2001Date of Patent: November 4, 2003Assignee: Compuware CorporationInventors: David J. Angel, James R. Kumorek, Farokh Morshed, David A. Seidel
-
Patent number: 6638315Abstract: 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: GrantFiled: September 21, 1998Date of Patent: October 28, 2003Assignee: Wall Data IncorporatedInventors: Karl A. Uppiano, Vaughn H. Wine, Joseph C. Younger
-
Publication number: 20030200530Abstract: 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: ApplicationFiled: December 10, 2002Publication date: October 23, 2003Inventor: Moshe Sayag
-
Patent number: 6636863Abstract: 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: GrantFiled: September 13, 2000Date of Patent: October 21, 2003Inventor: E. Lane Friesen
-
Patent number: 6634022Abstract: 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: GrantFiled: October 28, 1999Date of Patent: October 14, 2003Assignee: Koninklijke Philips Electronics N.V.Inventor: Rene Leermakers
-
Patent number: 6625805Abstract: 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: GrantFiled: June 8, 1999Date of Patent: September 23, 2003Assignee: Sun Microsystems, Inc.Inventors: Ioi K. Lam, Kuldipsingh Pabla
-
Publication number: 20030149960Abstract: 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: ApplicationFiled: November 4, 2002Publication date: August 7, 2003Inventor: Rajendra Inamdar
-
Patent number: 6604182Abstract: 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: GrantFiled: February 25, 2000Date of Patent: August 5, 2003Assignee: Oracle Corp.Inventors: Harlan Sexton, Peter Benson, Jerry Schwarz
-
Publication number: 20030145309Abstract: 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: ApplicationFiled: November 4, 2002Publication date: July 31, 2003Inventor: Rajendra Inamdar
-
Publication number: 20030135792Abstract: 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: ApplicationFiled: January 30, 2003Publication date: July 17, 2003Inventor: Zhiqun Chen
-
Publication number: 20030131348Abstract: 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: ApplicationFiled: January 8, 2002Publication date: July 10, 2003Applicant: International Business Machines CorporationInventors: Matt Richard Hogstrom, Robert W. St. John
-
Publication number: 20030126584Abstract: 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: ApplicationFiled: January 3, 2002Publication date: July 3, 2003Applicant: International Business Machines CorporationInventors: Thomas E. Creamer, Zygmunt A. Lozinski, Joseph H. McIntyre, Victor S. Moore, Glen R. Walters
-
Patent number: 6584612Abstract: 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: GrantFiled: July 15, 1999Date of Patent: June 24, 2003Assignee: International Business Machines CorporationInventors: Patrick James Mueller, Eric Christopher Smith, Timothy James Wolf
-
Publication number: 20030110469Abstract: 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: ApplicationFiled: November 12, 2002Publication date: June 12, 2003Inventor: Jared Joseph Jackson
-
Patent number: 6578193Abstract: 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: GrantFiled: July 17, 1998Date of Patent: June 10, 2003Assignee: Novell, Inc.Inventor: Phillip M. Adams
-
Patent number: 6571388Abstract: 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: GrantFiled: March 9, 1999Date of Patent: May 27, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Chandrasekar Venkatraman, Venkatesh Krishnan, Geetha Manjunath, Kommarahalli S. Venugopal, Devaraj Das, Arunachalam Venkataramani
-
Small memory footprint system and method for separating applications within a single virtual machine
Patent number: 6567974Abstract: 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: GrantFiled: February 25, 2000Date of Patent: May 20, 2003Assignee: Sun Microsystems, Inc.Inventor: Grzegorz J. Czajkowski -
Publication number: 20030093781Abstract: 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: ApplicationFiled: November 14, 2001Publication date: May 15, 2003Inventors: Ksheerabdhi Krishna, Tim Wilkinson, Sylvain Prevost, Yannick Burianne
-
Publication number: 20030093779Abstract: 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: ApplicationFiled: April 12, 2002Publication date: May 15, 2003Inventor: Lars Bak
-
Publication number: 20030093770Abstract: 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: ApplicationFiled: November 14, 2001Publication date: May 15, 2003Inventor: Jose Fernandez
-
Publication number: 20030093778Abstract: 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: ApplicationFiled: April 12, 2002Publication date: May 15, 2003Inventors: Lars Bak, Kasper V. Lund
-
Publication number: 20030093777Abstract: 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: ApplicationFiled: April 12, 2002Publication date: May 15, 2003Inventors: Lars Bak, Jacob R. Andersen, Kasper V. Lund
-
Publication number: 20030088851Abstract: 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: ApplicationFiled: December 19, 2002Publication date: May 8, 2003Inventor: Philippe Harscoet
-
Patent number: 6560769Abstract: 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: GrantFiled: September 28, 2000Date of Patent: May 6, 2003Assignee: Unisys CorporationInventors: Jeffrey Allen Moore, Joseph Peter Stefaniak, Lonnie Dale Sulgrove
-
Patent number: 6560771Abstract: 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: GrantFiled: May 10, 2000Date of Patent: May 6, 2003Assignee: Class Technology Co., Ltd.Inventor: Mikio Yotsukura
-
Patent number: 6557023Abstract: 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: GrantFiled: May 28, 1999Date of Patent: April 29, 2003Assignee: Sun Microsystems, Inc.Inventor: Antero Taivalsaari
-
Patent number: 6557100Abstract: 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: GrantFiled: October 21, 1999Date of Patent: April 29, 2003Assignee: International Business Machines CorporationInventor: James Irwin Knutson
-
Publication number: 20030079202Abstract: 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: ApplicationFiled: October 24, 2001Publication date: April 24, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030079203Abstract: 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: ApplicationFiled: October 24, 2001Publication date: April 24, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Publication number: 20030079208Abstract: 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: ApplicationFiled: September 20, 2002Publication date: April 24, 2003Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V.Inventor: Ian Willis
-
Publication number: 20030079201Abstract: 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: ApplicationFiled: October 24, 2001Publication date: April 24, 2003Applicant: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Patent number: 6539383Abstract: 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: GrantFiled: November 8, 1999Date of Patent: March 25, 2003Assignee: International Business Machines CorporationInventors: 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: 6523168Abstract: 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: GrantFiled: July 1, 1999Date of Patent: February 18, 2003Assignee: International Business Machines CorporationInventors: Jeremy Alan Arnold, Eric Lawrence Barsness, John Matthew Santosuosso
-
Publication number: 20030023954Abstract: 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: ApplicationFiled: October 23, 2001Publication date: January 30, 2003Inventors: Timothy J. Wilkinson, Scott B. Guthery, Ksheerabdhi Krishna, Michael A. Montgomery
-
Patent number: 6473894Abstract: 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: GrantFiled: January 29, 1999Date of Patent: October 29, 2002Assignee: International Business Machines CorporationInventors: Theodore Jack London Shrader, Bruce Arland Rich, Julianne Yarsa, Donna Skibbie
-
Patent number: 6463521Abstract: 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: GrantFiled: June 23, 1999Date of Patent: October 8, 2002Assignee: Sun Microsystems, Inc.Inventor: Dean R. E. Long
-
Patent number: 6460178Abstract: 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: GrantFiled: June 30, 1999Date of Patent: October 1, 2002Assignee: Microsoft CorporationInventors: Hon Keat W. Chan, Andrew J. Edwards, Amitabh Srivastava, Hoi H. Vo
-
Patent number: 6446192Abstract: 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: GrantFiled: June 4, 1999Date of Patent: September 3, 2002Assignee: Embrace Networks, Inc.Inventors: Subram Narasimhan, Curtis Allred, Mark Stemm, Hari Balakrishnan
-
Patent number: 6446254Abstract: 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: GrantFiled: August 13, 1999Date of Patent: September 3, 2002Assignee: International Business Machines CorporationInventors: 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: 6438677Abstract: 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: GrantFiled: October 20, 1999Date of Patent: August 20, 2002Assignee: Sun Microsystems, Inc.Inventors: Shailender Chaudhry, Marc Tremblay
-
Patent number: 6438744Abstract: 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: GrantFiled: July 15, 1998Date of Patent: August 20, 2002Assignee: Microsoft CorporationInventors: Michael J. Toutonghi, Tracy C. Sharpe
-
Patent number: 6438738Abstract: 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: GrantFiled: September 19, 2000Date of Patent: August 20, 2002Assignee: Xilinx, Inc.Inventor: Bernardo Elayda
-
Publication number: 20020095659Abstract: 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: ApplicationFiled: January 16, 2001Publication date: July 18, 2002Inventors: Ronald Michael Jacobs, Suresh Bathini
-
Publication number: 20020095664Abstract: 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: ApplicationFiled: January 18, 2001Publication date: July 18, 2002Inventor: Wangtun Chou