Patents Examined by Tuan Dam
  • Patent number: 7386838
    Abstract: Program execution profile data is collected by direct measurement of some code paths, and by inferring data for unmeasured paths. The data collection process may cause errors, which are propagated by the inferencing process. The profile data thus constructed is further enhanced by detecting certain data mismatches, and adjusting inferred data to reduce the scope of errors propagated during the inferencing process. Preferably, a control flow graph of the program being measured is constructed. Mismatches in the total weights of input arcs versus output arcs are detected. For certain specific types of mismatches, it can be known or guessed which count is incorrect, and this count is accordingly corrected. Correction of arc counts proceeds recursively until it is no longer possible to correct mismatches. Additionally, certain other conditions are adjusted as presumed inaccuracies.
    Type: Grant
    Filed: April 3, 2003
    Date of Patent: June 10, 2008
    Assignee: International Business Machines Corporation
    Inventor: William Jon Schmidt
  • Patent number: 7386834
    Abstract: An editor or software engineering tool may be configured to represent program code as a doubly-linked list of lexical tokens and to maintain, coincident with an operation that modifies contents of the list, an undo object that identifies opposing end nodes of a sublist of one or more lexical tokens corresponding to a substring that is either inserted into or removed from the list by the operation. In this way, lexical tokens corresponding to an inserted substring can be readily and efficiently excised to restore a pre-insertion tokenized list state. Similarly, lexical tokens corresponding to a removed substring can be readily and efficiently reinstated to restore a pre-deletion tokenized list state. Advantageously, undo support once employed to restore a prior tokenized list state is symmetrically available to support redo operations.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: June 10, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael L. Van De Vanter, Kenneth B. Urquhart
  • Patent number: 7383532
    Abstract: A system and method permits client-side locale specific numeric format handling in a web environment for software applications supported by programming languages. The system and method enable a software application supported by the programming language to perform client-side calculations on locale or user specific numeric data and display the numeric results in a format that is sensitive to the user's locale or specific needs. The system and method remove a locale specific or other numeric format for performing numeric calculations using the programming language and format the numeric data into one or more locale or user specific numeric formats for display.
    Type: Grant
    Filed: April 18, 2003
    Date of Patent: June 3, 2008
    Assignee: Computer Associates Think, Inc.
    Inventor: Mark Asbury
  • Patent number: 7383537
    Abstract: A system debugs a computer application that employs rights-managed (RM) content. A first, non-isolated process has the application and a shell version of the trusted component, where such shell version receives each request by the application for RM services. The shell version is unconcerned whether a debugger is monitoring the first process. A second, isolated process is separate from the first process and has a debugging version of the trusted component. The shell version in the first process forwards the received request to the debugging version in the second process, and such debugging version acts upon same. The debugging version ensures that the debugger is not monitoring the second process, but is unconcerned whether the debugger is monitoring the first process.
    Type: Grant
    Filed: August 20, 2003
    Date of Patent: June 3, 2008
    Assignee: Microsoft Corporation
    Inventors: Michael Joseph Darweesh, Michael David Marr, Octavian Tony Ureche, Philip LaFornara
  • Patent number: 7373643
    Abstract: The present invention comprises apparatus, methods and articles of manufacture for transferring data, comprising one or more update files made available upon distribution media, such as a server, a hash of the update files made available upon the server, as well as versions of the update and hash files upon a target or client. The distribution media then transmits the hash to the target or client, the hashes are compared, and, if they do not match, the update files are downloaded for further review and updating, if desired. If updating is desired, an update mechanism will then edit and/or replace files, modules, data and/or byte sequences on the target, according to the preferred embodiments. Embodiments for various platforms, including Unix® and Windows® NT are disclosed.
    Type: Grant
    Filed: March 6, 2001
    Date of Patent: May 13, 2008
    Assignee: CyberSoft, Inc.
    Inventor: Peter V. Radatti
  • Patent number: 7373642
    Abstract: A method is provided for modifying a program written in a standard programming language so that when the program is compiled both an executable file is produced and an instruction is programmed into a programmable logic device of a processor system. The method includes identifying a critical code segment of a program, rewriting the critical code segment as a function, revising the program, and compiling the program. Revising the program includes designating the function as code to be compiled by an extension compiler and replacing the critical code segment of the program with a statement that calls the function. Compiling the program includes compiling the code with an extension compiler to produce a header file and the instruction for the programmable logic device. Compiling the program also includes using a standard compiler to compile the remainder of the program together with the header file to generate the executable file.
    Type: Grant
    Filed: July 29, 2003
    Date of Patent: May 13, 2008
    Assignee: Stretch, Inc.
    Inventors: Kenneth M Williams, Albert Wang
  • Patent number: 7373638
    Abstract: Translating to a hardware description language (HDL) from an architecture description language (ADL) is disclosed. An architecture description that is written in the ADL and has a hierarchical organization is received. Decoders are generated, described in the HDL, from the architecture description written in the ADL. Control signals are generated, described in the HDL, from the architecture description written in the ADL. The decoders are configured to output the control signals and the control signals are input to functional units in order to preserve the hierarchical organization of the architecture description written in the ADL.
    Type: Grant
    Filed: August 14, 2003
    Date of Patent: May 13, 2008
    Assignee: CoWare, Inc.
    Inventors: Oliver Schliebusch, Andreas Hoffmann, Achim Nohl, Gunnar Braun, Heinrich Meyr
  • Patent number: 7370322
    Abstract: An invention is disclosed for performing online upgrades using a control module, executed as part of an application, that includes application-specific strategies for the application, yet can be coded using the JAVA programming language. An application is executed that includes an original service module and an original control module. The original control module includes application-specific policies for the application. To upgrade the application, an upgraded control module is generated. Then, the upgraded control module is used to create an upgraded service module. Both the upgraded control module and the upgraded service module can be generated using class files for the original modules, which are loaded from a system repository. In this manner, the original control module and the original service module are upgraded.
    Type: Grant
    Filed: April 11, 2001
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Vladimir Matena, Rahul Sharma, Masood Mortazavi, Sanjeev Krishnan
  • Patent number: 7370320
    Abstract: A system and method allows a debugging tool to operate in an environment differently from an expected environment of an application being debugged, yet allows the application to be debugged in an environment in which it is expected to operate. Debugging commands are communicated to an application environment from the debugger running in a different environment and debugging information is communicated from the application environment to the debugger.
    Type: Grant
    Filed: July 23, 2002
    Date of Patent: May 6, 2008
    Assignee: Adobe Systems Incorporated
    Inventors: Gary Grossman, Michael Schroeder
  • Patent number: 7367012
    Abstract: A method includes specifying a model, the model including data having internal pre-defined data storage classes and external custom data storage classes and generating software source code for the model with a code generator using the internal predefined data storage classes and the external custom data storage classes. A system includes an application programming interface (API), the API adapted to receive user input for generating an external custom data storage class and an interpreted programming language process, the interpreted programming language process generating a set of instructions from the user input to an automatic code generator to generate code corresponding to data declared as the external custom data storage class in the automatic code generator.
    Type: Grant
    Filed: June 7, 2001
    Date of Patent: April 29, 2008
    Assignee: The MathWorks, Inc.
    Inventors: Peter Szpak, Matthew Englehart
  • Patent number: 7367025
    Abstract: A method is disclosed that comprises modifying a method's byte code instructions for purposes of testing, debugging and/or monitoring. Additional byte code instructions are inserted into the method's byte code instructions at an entry point of the method and at an exit point of the method. The first additional byte code instruction causes a first output function to be executed for the method as a consequence of the entry point being reached during runtime. The second additional byte code instruction causes a second output function to be executed for the method as a consequence of the exit point being reached during runtime. The Application of the method to Distributed Statistical Record (DSR) keeping is also disclosed.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: April 29, 2008
    Assignee: SAP AG
    Inventors: Nikolai G. Nikolov, Mario Kabadiyski
  • Patent number: 7367028
    Abstract: A system and method for creating and using configuration diagrams for configuring distributed systems. The methods described herein may be used for various types of operations in configuring distributed systems, including creating programs, managing programs in the distributed system, deploying programs to various distributed devices, configuring remote execution or inter-operation of distributed programs, and executing distributed applications. Embodiments of the invention utilize graphical iconic-based techniques for performing the above operations. The configuration diagram may include device icons which represent devices and program icons which represent programs. Device icons and program icons may be associated with each other to accomplish various program creation and deployment operations. Device icons and program icons may also interact with graphical program nodes or icons. Context sensitive device connections and/or program connections are displayed.
    Type: Grant
    Filed: April 1, 2002
    Date of Patent: April 29, 2008
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Darshan Shah, Steven W. Rogers
  • Patent number: 7367023
    Abstract: A compiler has the capability to selectively compile individual portions of a compilable code module for optimum execution performance or for serviceability. In one aspect, individual portions, such as procedures (being less than the entire module) are selectively optimized. In another aspect, debug activity data is used for determining whether or not to optimize compiled code. It is optionally possible to support one or more levels of partial selective optimization.
    Type: Grant
    Filed: July 10, 2003
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: John Michael Adolphson, Cary Lee Bates, Paul Reuben Day, Steven Gene Halverson
  • Patent number: 7367024
    Abstract: A highly predictable, low overhead and yet dynamic, memory allocation methodology for embedded systems with scratch-pad memory is presented. The dynamic memory allocation methodology for global and stack data (i) accounts for changing program requirements at runtime; (ii) has no software-caching tags; (iii) requires no run-time checks; (iv) has extremely low overheads; and (v) yields 100% predictable memory access times. The methodology provides that for data that is about to be accessed frequently is copied into the SRAM using compiler-inserted code at fixed and infrequent points in the program. Earlier data is evicted if necessary.
    Type: Grant
    Filed: September 21, 2004
    Date of Patent: April 29, 2008
    Assignee: University of Maryland
    Inventors: Rajeev Kumar Barua, Sumesh Udayakumaran
  • Patent number: 7363618
    Abstract: A testing tool allowing convenient testing of programs and also classes in general. The tool automatically divides each program into many groups such that if one line (or statement) is executed it may reasonably be assumed that all the lines in the group are also executed. A tester is provided the ability to provide desired arguments (including class instances) and cause all groups to be executed such that all lines of code in the programs of a class are executed at least once. The groups are conveniently further logically combined into hierarchical blocks, with each block at a higher level corresponding to a logical structure such as if structure, for structure, while structure, etc. The blocks at the lowest level may contain a single group. Due to such hierarchy, a tester may visually easily identify the unexecuted blocks/groups. The tester may further define and execute small pieces of code (macros) in the middle of testing.
    Type: Grant
    Filed: February 14, 2001
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Kallol Pal, Sanjeev K. Chaudhary, Vinay Kumar Kolar
  • Patent number: 7363617
    Abstract: An apparatus and method define the concept of a “database breakpoint.” One or more conditions in the database are specified as a database breakpoint in a debug environment for debugging a computer program that accesses the database. When the database conditions exist, one or more debug functions may be performed with respect to the execution of the computer program. Examples of debug functions include halting execution of the computer program and halting operations to the database by other programs. With both the computer program and database halted, the user may then interrogate the database to determine its state, and may interrogate the program to determine its state. Database breakpoints greatly enhance the utility of a debugger by providing additional conditions for debugging a computer program that accesses a database.
    Type: Grant
    Filed: May 23, 2002
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Eric Lawrence Barsness, Michael Brian Brutman, Richard Dean Dettinger, Mahdad Majd, Brian Edward Olson, John Matthew Santosuosso
  • Patent number: 7363621
    Abstract: Program converting methods, apparatus and systems including a code analysis unit for performing lexical and syntactic analyses of a source code of an execution program, an optimization unit for transforming this execution program, and an output code generation unit for converting the transformed execution program into a machine language code. In addition, this optimization unit detects a calling procedure and a called procedure in a procedure call of this execution program analyzed by the code analysis unit, guards an evaluation of an argument described in the called procedure under a predetermined evaluation condition, and transforms the execution program so that the evaluation is performed when referring to this argument.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventor: Mikio Takeuchi
  • Patent number: 7356816
    Abstract: A method and system for migrating a computing environment from a source computing platform to a destination computing platform. A script defines at least one software system or application stored on the source computing platform. The script is parsed by a scripting engine to resolve specific user-selectable settings of each source software system or application. Genetic data is generated to represent the resolved settings of the source software systems and/or applications. The genetic data is then selectively applied to corresponding software systems or applications stored on the destination computing platform to automatically provide similar settings thereon.
    Type: Grant
    Filed: February 13, 2001
    Date of Patent: April 8, 2008
    Assignee: Computer Associates Think, Inc.
    Inventors: Greg Goodman, Jon Walker, Scott Messier
  • Patent number: 7356802
    Abstract: A method and computer readable medium for automatic replacement of object classes in a library with custom classes to improve program efficiency. The method begins with static analysis preformed on a program containing a plurality of objects in order to determine type-correctness constraints and to detect unused functionality in one or more of the objects to be replaced. The plurality of objects is instrumented to detect usage patterns of functionality in one or more objects. Customized classes are generated based upon the static analysis and usage patterns detected. Bytecode is rewritten which is used for generating classes. The present invention provides transparency in the replacement of the objects.
    Type: Grant
    Filed: September 29, 2003
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Bjorn de Sutter, Julian Dolby, Frank Tip
  • Patent number: 7356805
    Abstract: Reuse distance is the number of data which are accessed between accesses of a datum. The computation of reuse distance uses a search tree and is carried out through approximate analysis, pattern recognition, or distance-based sampling. The reuse distance can be used to detect reference affinity, that is, to detect which data are accessed together.
    Type: Grant
    Filed: January 2, 2004
    Date of Patent: April 8, 2008
    Assignee: University of Rochester
    Inventors: Chen Ding, Yutao Zhong