Patents Examined by Hoang-Vu Antony Nguyen-Ba
-
Patent number: 6662356Abstract: An application program interface (API) into an hierarchical intermediate representation (IR) of a heterogeneous program enables the navigation and modification of the IR at all levels of the hierarchy. Additional functions provide information about the IR that can be employed by a user in understanding the logic flow of the program and by an output translator to convert the IR into blocks of platform-specific instructions for a new version of the heterogeneous program. The API functions are also utilized by pre-defined program tools to instrument and optimize the IR, and thus the heterogeneous program created from the IR.Type: GrantFiled: June 30, 1999Date of Patent: December 9, 2003Assignee: Microsoft CorporationInventors: Andrew J. Edwards, Ken B. Pierce, Amitabh Srivastava
-
Patent number: 6658657Abstract: A method including compiling a method bar having a virtual method call. The virtual method call is eliminated. The method bar is inlined without generating checking code, and dynamically loading a class.Type: GrantFiled: March 31, 2000Date of Patent: December 2, 2003Assignee: Intel CorporationInventor: Guei-Yuan Lueh
-
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
-
Patent number: 6654948Abstract: A technique for monitoring events generated by an object-oriented system comprises the steps/operations of: (i) monitoring events which describe executed operations associated with the object-oriented system; and (ii) applying one or more sequencing rules when reporting a subset of the monitored events, the one or more sequencing rules substantially ensuring consistent reporting of the subset of monitored events. Preferably, monitoring continues when event reporting is at least partially disabled. Further, the monitoring step/operation may include dividing the monitored events into categories. One category may include entity events, an entity event defining an existence status of a given event. Another category may include activity events, an activity event defining an operation associated with a given event.Type: GrantFiled: October 12, 1999Date of Patent: November 25, 2003Assignee: International Business Machines CorporationInventors: Ravi B. Konuru, Olivier Gruber, Wim De Pauw
-
Patent number: 6647545Abstract: A processor includes a host interface unit capable of generating at least one branch trace message (BTM), the host interface unit is coupled to a memory so as to store the at least one BTM in the memory and the processor is embodied on an integrated circuit (IC).Type: GrantFiled: February 14, 2000Date of Patent: November 11, 2003Assignee: Intel CorporationInventors: Tsvika Kurts, Roman Surgutchik, Oded Lempel, Ittai Anati, Haim Lustig
-
Patent number: 6634024Abstract: The present invention integrates data prefetching into a modulo scheduling technique to provide for the generation of assembly code having improved performance. Modulo scheduling can produce optimal steady state code for many important cases by sufficiently separating defining instructions (producers) from using instructions (consumers), thereby avoiding machine stall cycles and simultaneously maximizing processor utilization. Integrating data prefetching within modulo scheduling yields high performance assembly code by prefetching data from memory while at the same time using modulo scheduling to efficiently schedule the remaining operations. The invention integrates data prefetching into modulo scheduling by postponing prefetch insertion until after modulo scheduling is complete. Actual insertion of the prefetch instructions occurs in a postpass after the generation of appropriate prologue-kernel-epilogue code.Type: GrantFiled: June 27, 2001Date of Patent: October 14, 2003Assignee: Sun Microsystems, Inc.Inventors: Partha Pal Tirumalai, Rajagopalan Mahadevan
-
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: 6629317Abstract: A method providing for programming reprogramming at least some software into flash memory of a postage machine or other mailing apparatus. The method calls for providing the software to be programmed into the flash memory in at least two builds, with one build providing kernel software that includes the functionality needed for programming/reprogramming (including functionality for linking to a personal computer by which the software to be programmed may be provided), and the other build providing non-kernel software, usually routines providing application-oriented functionality, and not essential to programming the flash memory. The first build, of the at least two builds, is written into sectors of the flash memory that are then locked. The system provides, in some applications, for writing the non-kernel software using a paging algorithm that writes several sectors worth of non-kernel software at a time.Type: GrantFiled: July 30, 1999Date of Patent: September 30, 2003Assignee: Pitney Bowes Inc.Inventors: Wesley A. Kirschner, Louis J. Loglisci, George T. Monroe, Richard A Rudolph
-
Patent number: 6625807Abstract: Apparatus and method are described for register optimization during code translation and utilizes a technique that removes the time overhead for analyzing register usage, and eliminates fixed restraints on the compiler register usage. The present invention for register optimization utilizes a compiler to produce a bit vector for each program unit (i.e., subroutine, function, and/or procedure). Each bit in the bit vector represents a particular caller-saved register. A bit is set if the compiler uses the corresponding register within that program unit. During the translation, the translator examines the bit vector to very quickly determine which registers are free, and therefore can be used during register optimization without having to save and restore the register values.Type: GrantFiled: August 10, 1999Date of Patent: September 23, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventor: Ding-Kai Chen
-
Patent number: 6611955Abstract: A method for on-line monitoring and testing the behavior of middleware based, distributed application software during run-time of such software is disclosed. In order to automatize the monitoring of the behavior of the application software, the monitoring method comprises: defining events capturing the behavior of the software execution, the events being based on an abstraction of the application software, the abstraction being provided by middleware; using code generating means and an instrumentation technique for automatically adding code to the implementation of the software code suitable for generating traces suitable to be sent to an observer, the information carried by the added code including information on the order of occurrence of the events and on the application software part location where each event occurs; and using a monitoring mechanism based on sending of trace reports to the observer, which ensures or takes into account the time order of the reported traces.Type: GrantFiled: June 3, 1999Date of Patent: August 26, 2003Assignees: Swisscom AG, Alcatel, Ecole Polytechnique Federale de Lausanne (EPFL)Inventors: Xavier Logean, Falk Dietrich, Jean-Pierre A. Hubaux, Sylvain Grisouard, Pierre-Alain Etique, Shawn E. Koppenhoefer
-
Patent number: 6609247Abstract: A method and an apparatus for re-creating a trace of instructions from an emulated instruction set when running on hardware optimized for a different instruction set, such as IA-32 instructions running on an IA-64 machine, are disclosed. An execution trace buffer is created that maintains desired information about instructions as they are executed and retired. The invention may be configured such that certain desired information helpful to debugging the system may be written to the buffer as the instructions are retired. This information may include the addresses of sequential or branch instructions, or other relevant information that can be gathered continuously and non-intrusively as instructions are executed. The information may be read from the buffer and output in a machine-visible form at the user's convenience.Type: GrantFiled: February 18, 2000Date of Patent: August 19, 2003Assignee: Hewlett-Packard Development CompanyInventors: Anuj Dua, Russell Clarence Brockmann, Susith Rohana Fernando, Kevin David Safford
-
Patent number: 6564375Abstract: A method for altering a wizard-based application, which is usually created using an object-oriented language with a base class, includes utilizing one or more alternative base classes, one or more alternative base classes derived from one or more base classes and defining a backbone for integrating a hierarchy window, attribute window, and wizard page window; and linking the hierarchy window, the attribute window, and the wizard page window to a database and to each other so that changes made to one window are reflected in all the others and in the database, and so that selecting a particular wizard page in one window acts to select that same page in the others. This approach allows a software developer to easily create and modify a wizard, and allows an intermediate stage user, such as an Internet Service Provider, to easily modify the wizard to skip pages and enter known data so that the end user need not go through unnecessary steps in the installation wizard when installing a software program.Type: GrantFiled: July 23, 1999Date of Patent: May 13, 2003Assignee: Cisco Technology, Inc.Inventor: Yansheng Jiang
-
Patent number: 6557169Abstract: A method and system of changing a current operating system to a new operating system in a workstation connected to a data transmission network interconnecting a plurality of workstations each having a storage device and a plurality of servers providing services to the workstations through the network, at least one of the plurality of servers being a software distribution server providing one of the plurality of workstations with updated application code.Type: GrantFiled: March 23, 1999Date of Patent: April 29, 2003Assignee: International Business Machines CorporationInventor: Bernard Erpeldinger
-
Patent number: 6539540Abstract: A method for optimizing the detection of a change in MIB information, the method including the steps of creating a MIB information request, sending the request to a SNMP agent, receiving a first response to the request from the SNMP agent, wherein the first response includes MIB information encoded as a byte array, and comparing the first response byte array to a comparison byte array to determine a difference therebetween.Type: GrantFiled: May 24, 1999Date of Patent: March 25, 2003Assignee: 3Com CorporationInventors: Ariel Noy, Sharon Barkai, Zeev Vax, Paul Hardak
-
Patent number: 6536040Abstract: The system, method, and program of this invention enables a developer to write a platform independent program that can read, create, modify, delete, and enumerate registry type of information regardless of whether or not a targeted operating system supports a registry or registry equivalent functionality. More specifically, as disclosed herein, there is a global registry object for carrying out, i.e., mapping, registry functions or registry equivalent functions across multiple operating systems. A system independent registry, referred to as a registryDB object, is created for those systems that do not have a registry equivalent. In a preferred embodiment, the registryDB object provides a registry equivalent store for any operating system by using a text file that resembles a Java properties file; although any database or file system could be used to save the registry information.Type: GrantFiled: March 29, 1999Date of Patent: March 18, 2003Assignee: International Business Machines CorporationInventor: Bryce Allen Curtis
-
Patent number: 6536036Abstract: A method and apparatus for code coverage management is provided, wherein code coverage data, which may be stored in a database, is updated or resequenced with the code changes. This resequencing eliminates the need to freeze the program code while collecting the code coverage data. When a code change is incorporated into the system the resequencing routine makes the necessary adjustments to the code coverage data. Furthermore, building a table in a database to store code coverage data for every test case may not be feasible. Thus, in accordance with the present invention, the last column of the table may contain a pointer to a file. The file then contains the list of test cases that exceeded the table.Type: GrantFiled: April 6, 1999Date of Patent: March 18, 2003Assignee: International Business Machines CorporationInventor: Thomas J. Pavela
-
Patent number: 6532588Abstract: A user centric approach to program product distribution, including a complementary multi-vendor code control system (MVCCS) suitable for use to practice the user centric distribution approach is disclosed. Under the user centric approach, versioning control information of the source/object files of various program products to be installed on various user computer systems are maintained on a user computer system by user computer system basis. Each user computer system or its proxy is provided with a portion or an entire MVCCS to facilitate receipt and storage into a common repository for the user computer system versioning control information of different source/object files of different software vendors, and to facilitate retrieval of selective versions of the different source/object files for the user computer system using versioning control information stored in the common repository for the user computer system.Type: GrantFiled: June 1, 1999Date of Patent: March 11, 2003Assignee: Xoucin, Inc.Inventor: Swain W. Porter
-
Patent number: 6530075Abstract: The present invention provides a method and apparatus in a data processing system for optimizing running of bytecode. An application programming interface is called for compilation of bytecode. The bytecode just in time compiling is enabled or disabled using the application programming interface. Compiling the bytecode is optimized by the programmer before compiling using pre-compile keywords. Compiling the bytecode is optimized during compiling using dynamic application programming interface calls. Dynamic runtime APIs enable or disable the just in time compiling of objects based on compiling errors, execution performance and frequency of execution.Type: GrantFiled: December 3, 1998Date of Patent: March 4, 2003Assignee: International Business Machines CorporationInventors: Bruce Anthony Beadle, Michael Wayne Brown, Michael Anthony Paolini, Douglas Scott Rothert
-
Patent number: 6526571Abstract: A method and system for identifying calls in a Java package whose targets are guaranteed to belong to the package. According to the method an inheritance graph and access permissions of respective components in the package are determined, both of which are used in combination with the knowledge that the package is seared and signed to determine whether all the targets of a call are guaranteed to belong to the package. The identification of calls according to the invention can be performed at the time the package is sealed and signed or as a separate phase thereafter and allows for better compiler optimization.Type: GrantFiled: March 16, 1999Date of Patent: February 25, 2003Assignee: International Business Machines CorporationInventors: Nava Aizikowitz, Vitaly Feldman, Ayal Zaks
-
Patent number: 6523173Abstract: Register allocation during computer program code compilation is accomplished by determining a set of spill candidates, by evaluating a cost function for each spill candidate using a plurality of spill strategies, and by selecting the spill candidate having the lowest cost function value. Preferably, the set of possible spill candidates is determined by the Chaitin method of constructing an interference graph of all live ranges of symbolic registers, and iteratively removing nodes and placing them on a stack. Preferably, multiple spill strategies are represented as varying numbers of deaths N of live ranges of other symbolic registers, a spill strategy N signifying that spill code is introduced whenever the number of deaths occurring between two successive uses of a symbolic register equals or exceeds N. In the preferred embodiment, the cost is a function of the number, type and frequency of each operation introduced by the spill, and is divided by a benefit factor represented as the degree of the node.Type: GrantFiled: January 11, 2000Date of Patent: February 18, 2003Assignee: International Business Machines CorporationInventors: Peter Edward Bergner, Edward Curtis Prosser