Patents Examined by Andre R. Fowlkes
  • Patent number: 7257808
    Abstract: A system and method to reduce the size of source code in a processing system are described. Multiple subgraph structures are identified within a graph structure constructed for multiple source code instructions in a program. Unifiable variables that are not simultaneously used in the source code instructions are identified within each subgraph structure. Finally, one or more unifiable instructions from a tine of a corresponding subgraph structure are transferred to a handle of the corresponding subgraph structure, each unifiable instruction containing one or more unifiable variables.
    Type: Grant
    Filed: January 3, 2002
    Date of Patent: August 14, 2007
    Assignee: Intel Corporation
    Inventor: Arch D. Robison
  • Patent number: 7257810
    Abstract: One embodiment of the present invention provides a system that generates code to perform anticipatory prefetching for data references. During operation, the system receives code to be executed on a computer system. Next, the system analyzes the code to identify data references to be prefetched. This analysis can involve: using a two-phase marking process in which blocks that are certain to execute are considered before other blocks; and analyzing complex array subscripts. Next, the system inserts prefetch instructions into the code in advance of the identified data references. This insertion can involve: dealing with non-constant or unknown stride values; moving prefetch instructions into preceding basic blocks; and issuing multiple prefetches for the same data reference.
    Type: Grant
    Filed: November 2, 2001
    Date of Patent: August 14, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Partha P Tirumalai, Spiros Kalogeropulos, Mahadevan Rajagopalan, Yonghong Song, Vikram Rao
  • Patent number: 7251812
    Abstract: A system and method for dynamically updating software on one or more installation media for installation on at least one destination machine. The invention obtains update content from one or more update media and merges the update content with the software on the installation media prior to installing the software on the destination machine. The software to be installed includes application programs and operating system software.
    Type: Grant
    Filed: January 11, 2002
    Date of Patent: July 31, 2007
    Assignee: Microsoft Corporation
    Inventors: Raj Jhanwar, Tom Yaryan, David Hennessey, Ovidiu G. Temereanca, Seetharaman Harikrishnan
  • Patent number: 7240336
    Abstract: The present invention is a method and system designed to be used in a manufacturing environment to ensure the integrity of a manufacturing tool that downloads customer ordered software to personal computers. The present invention creates a computer environment in a lab setting that mimics the computer environment created in the manufacturing arena. The system and method then simulates the steps employed to download the software to a personal computer in a controlled environment to predetermine errors that may be encountered when the process is implemented in the manufacturing arena. This invention dynamically generates a file that contains instructions that when executed download and install customer ordered software to a target computer on the manufacturing floor. This invention then interprets the generated file in accordance with a set of evaluation rules such that the outcome of the execution of the file is determined.
    Type: Grant
    Filed: July 25, 2000
    Date of Patent: July 3, 2007
    Assignee: SCI Systems, Inc.
    Inventor: Steven E. Baker
  • Patent number: 7234136
    Abstract: One embodiment of the present invention provides a system that generates code to perform anticipatory prefetching for data references. During operation, the system receives code to be executed on a computer system. Next, the system analyzes the code to identify data references to be prefetched. This analysis can involve: using a two-phase marking process in which blocks that are certain to execute are considered before other blocks; and analyzing complex array subscripts. Next, the system inserts prefetch instructions into the code in advance of the identified data references. This insertion can involve: dealing with non-constant or unknown stride values; moving prefetch instructions into preceding basic blocks; and issuing multiple prefetches for the same data reference.
    Type: Grant
    Filed: November 2, 2001
    Date of Patent: June 19, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Partha P Tirumalai, Spiros Kalogeropulos, Mahadevan Rajagopalan, Yonghong Song, Vikram Rao
  • Patent number: 7231630
    Abstract: A method and system are provided for controlling a computer, data, or media system in response to state changes in the computer system. At least one state table having a first dimension and a second dimension is created. At least one programming element is listed along the first dimension and a plurality of states of the computer system are listed along the second dimension. At each intersection of the first dimension and the second dimension is a cell in which an operand is specified for the programming element at each state. For each state change of the computer system, each programming element listed along the first dimension is executed according to the operand listed for a current state.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: June 12, 2007
    Assignee: Ensequence Inc.
    Inventors: Troy Steven Acott, Joanna Mason, Michael W. Wallace, Larry Alan Westerman
  • Patent number: 7228529
    Abstract: Existing program is restructured based on a set of tasks that the existing program executes. A set of tasks is used, in conjunction with related test cases, to verify the correct functioning of the restructured program, and also to restructure the program. The restructuring process involves information about: (i) the tasks for which the original computer program is used, (ii) the inputs (including their valid ranges) to be provided to the program to accomplish the tasks, and (iii) the outputs generated by the program, known but unfixed bugs, etc. Legacy computer programs or applications for which reliable documentation is either not available or inadequate is desirably restructured for improved understanding and maintenance.
    Type: Grant
    Filed: August 27, 2002
    Date of Patent: June 5, 2007
    Assignee: International Business Machines Corporation
    Inventor: Rajendra K Bera
  • Patent number: 7216334
    Abstract: A system and method for creating a graphical program utilizing one or more self-determining behavior (SDB) nodes. An SDB node may include associated generation code for programmatically generating execution-time code associated with the SDB node. The generation code associated with the SDB node may programmatically generate or modify the execution-time code based on or in response to any of various factors.
    Type: Grant
    Filed: March 8, 2002
    Date of Patent: May 8, 2007
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Adam Gabbert, Steven W. Rogers
  • Patent number: 7213236
    Abstract: The invention is a method for allowing Java objects to communicate with .Net Remoting objects, with a first step of receiving metadata information from a .Net Remoting server on a Java client. Then, Java proxies are generated from said metadata information, using a Java development tool, with the Java proxies generated by a one-to-one mapping of .Net classes to Java classes. Finally, the Java proxies are implemented on the Java client, with the method provided solely in Java. Therefore, the Java client does not require any .Net components. The method can also be used to allow .Net Remoting objects to communicate with Java objects in a similar manner.
    Type: Grant
    Filed: November 30, 2001
    Date of Patent: May 1, 2007
    Assignee: Intrinsyc Software International, Inc.
    Inventor: Mark Philip Gibbons
  • Patent number: 7213231
    Abstract: Dynamic Computing Environments (DCEs) are used throughout phases of a software lifecycle. The DCE is configured through a remote user for a phase in the lifecycle. The DCE is then configured according to the command. The user then uses the DCE to fulfill the requirements of the phase. When the phase is completed, a command from the remote user is sent to configure the DCE for another phase. Once the DCE is re-configured, the user uses the DCE to fulfill the requirements of the phase.
    Type: Grant
    Filed: January 11, 2002
    Date of Patent: May 1, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Jagadish Bandhole, Sekaran Nanja, Shan Balasubramaniam
  • Patent number: 7213240
    Abstract: Methods and systems for platform-independent selective ahead-of-time compilation are herein described. A method selector comprising a profiling tool and heuristic selects a subset of methods for ahead-of-time compilation. The profiling tool ranks a set of methods according to predetermined criteria, and the heuristic identifies the subset of methods from the set of methods. An ahead-of-time compiler comprises a first unit and a second unit. The first unit converts, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation. The second unit optimizes the platform-independent intermediate representation of each selected method, wherein each optimized intermediate representation is stored with a corresponding selected method. A virtual machine on a device converts an optimized intermediate representation associated with a selected method loaded onto the device to platform-dependent machine code.
    Type: Grant
    Filed: October 5, 2001
    Date of Patent: May 1, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Hinkmond Wong, Nedim Fresko, Mark Lam
  • Patent number: 7213238
    Abstract: The invention provides a compiler for compiling source code files to generate corresponding object code files, the source code files including a first source code file and a second source code file, the first source code file having an initial occurrence of a unit of source code, and the second source code file having a subsequent occurrence of the unit of source code, the compiler including means for compiling the first source code file to generate the first object code file having a first unit of object code representing the initial occurrence of the unit of source code, and means for compiling the second source code file to generate the second object code file having a pointer to the first unit of object code, whereby the pointer supplants a second unit of object code representing the subsequent occurrence of the unit of source code.
    Type: Grant
    Filed: July 18, 2002
    Date of Patent: May 1, 2007
    Assignee: International Business Machines Corporation
    Inventors: Robert M. N. Klarer, Sandor C. A. Mathe
  • Patent number: 7210131
    Abstract: A system and method for migrating state data from a source computing platform to a destination platform, such as for migrating state data from one computer to another computer. Pluggable modules collect state on a source platform and transport it to temporary storage as state objects that are independent of any particular destination platform. For example, a state object may contain the information that represents a file on a source machine, while another state object may contain a piece of registry data on that machine. At the source platform, modules provide state data gathering and analysis that collect the data into the state objects. A transport module transports the data to storage accessible to the destination. At the destination, the state objects are applied by pluggable modules to the destination platform. The object data can be adjusted, translated and/or merged with destination state data as appropriate for the destination platform.
    Type: Grant
    Filed: October 1, 2001
    Date of Patent: April 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Jim Schmidt, Calin Negreanu
  • Patent number: 7191430
    Abstract: A computer system with mechanisms for providing hint instructions to a processor without altering object code instruction sequences. A computer system according to the present teachings includes elements for generating a hint instruction in response to a set of object code to be executed by the processor and for inserting a break instruction into the object code such that the break instruction causes the processor to obtain and execute the hint instruction. The present techniques for providing hint instructions to a processor may be used to adapt object code to a micro-architecture of the processor.
    Type: Grant
    Filed: September 24, 2001
    Date of Patent: March 13, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Alan H. Karp, Rajiv Gupta
  • Patent number: 7181732
    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: Grant
    Filed: April 12, 2002
    Date of Patent: February 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Kasper V. Lund
  • Patent number: 7152228
    Abstract: A method for generating source code objects has steps of generating a translation file containing translation logic; inputting the translation file into a code generator; and generating translation source code as a function of the translation file. A system for accessing a database through a translation layer comprising a first database; a translation layer, defined by translation source code; and an application for accessing the first database through the translation layer.
    Type: Grant
    Filed: July 27, 2001
    Date of Patent: December 19, 2006
    Assignee: Science Applications International Corporation
    Inventors: Richard Glenn Goodwin, Michael Andrew Farrar, Marvin Messina, Jason Steele
  • Patent number: 7150001
    Abstract: A system and method for discovering the design time attributes of a component are provided. The invention includes a type descriptor that can access metadata associated with a component and report the metadata to a development tool. The invention further includes a custom type descriptor interface that can be implemented on a component in order to dynamically provide information regarding the component to the type descriptor. The invention further includes a type descriptor filter service interface that can be implemented by the development tool to facilitate filtering of design time information regarding components in order to simulate a run time environment. The invention further comprises methodologies and tools for facilitating application development.
    Type: Grant
    Filed: March 19, 2001
    Date of Patent: December 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, Shawn P. Burke
  • Patent number: 7120900
    Abstract: A bidirectional text display method embodied in a functional programming language which first assigns bidirectional attributes to a logical character stream. Next, through explicit processing, level numbers are assigned, honoring any directional overrides present in the logical character stream. Subsequent weak and neutral type processing potentially causes attribute types to change based upon surrounding attribute types. Then, implicit processing assigns final level numbers to the stream which control reordering. Finally, reordering processing produces a sequence of characters in display order. By separating the facets of layout dealing with reordering from those that are concerned with rendering, such as line breaking, glyph selection, and shaping, the Haskell-based method is more discernible and comprehendable, thereby allowing it to be more useful as a model upon which others may base bidirectional implementations.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: October 10, 2006
    Assignee: International Business Machines
    Inventor: Steven Edward Atkin
  • Patent number: 7107583
    Abstract: A method for compiling a program to reduce the possibility of cache thrashing is provided. The method comprises identifying a loop in a program, identifying each vector memory reference in the loop, and determining dependencies between the vector memory references in the loop. Determining the dependencies includes determining unidirectional and circular dependencies. Thereafter, the vector memory references are distributed into a plurality of detail loops, wherein the vector memory references that have circular dependencies therebetween are included in a common detail loop, and the detail loops are ordered according to the unidirectional dependencies between the memory references.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: September 12, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Steven Orodon Hobbs, Erin Elizabeth Chapyak
  • Patent number: 7093231
    Abstract: The grammar of this invention is an approach to regular expressions which introduces advantages to programmers who use regular expressions for scanning, searching, and tokenizing text: Allowing composition of regular expressions (patterns) through the standard C/C++ operators (using C/C++ precedence and associativity), thus appealing to a huge audience of programmers already familiar with that style of grammar. Generalizing the negated character-class (so familiar to Perl programmers) in a way that quite dramatically allows ANY pattern composition to be used for searching (the “subjunctive” binary composition). Integrating into an elegantly simple grammar form (“do-pattern”) the ability to create arbitrary side-effects of tokenization, accomplished in prior art through a cumbersome combination of tokenizing expressions and parse trees, such as in the grammar style of Lex-Yacc.
    Type: Grant
    Filed: October 22, 2003
    Date of Patent: August 15, 2006
    Inventor: Andrew Nuss