Patents Examined by Andre R. Fowlkes
-
Patent number: 7257808Abstract: 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: GrantFiled: January 3, 2002Date of Patent: August 14, 2007Assignee: Intel CorporationInventor: Arch D. Robison
-
Patent number: 7257810Abstract: 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: GrantFiled: November 2, 2001Date of Patent: August 14, 2007Assignee: Sun Microsystems, Inc.Inventors: Partha P Tirumalai, Spiros Kalogeropulos, Mahadevan Rajagopalan, Yonghong Song, Vikram Rao
-
Patent number: 7251812Abstract: 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: GrantFiled: January 11, 2002Date of Patent: July 31, 2007Assignee: Microsoft CorporationInventors: Raj Jhanwar, Tom Yaryan, David Hennessey, Ovidiu G. Temereanca, Seetharaman Harikrishnan
-
Patent number: 7240336Abstract: 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: GrantFiled: July 25, 2000Date of Patent: July 3, 2007Assignee: SCI Systems, Inc.Inventor: Steven E. Baker
-
Patent number: 7234136Abstract: 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: GrantFiled: November 2, 2001Date of Patent: June 19, 2007Assignee: Sun Microsystems, Inc.Inventors: Partha P Tirumalai, Spiros Kalogeropulos, Mahadevan Rajagopalan, Yonghong Song, Vikram Rao
-
Patent number: 7231630Abstract: 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: GrantFiled: April 30, 2003Date of Patent: June 12, 2007Assignee: Ensequence Inc.Inventors: Troy Steven Acott, Joanna Mason, Michael W. Wallace, Larry Alan Westerman
-
Patent number: 7228529Abstract: 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: GrantFiled: August 27, 2002Date of Patent: June 5, 2007Assignee: International Business Machines CorporationInventor: Rajendra K Bera
-
Patent number: 7216334Abstract: 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: GrantFiled: March 8, 2002Date of Patent: May 8, 2007Assignee: National Instruments CorporationInventors: Jeffrey L. Kodosky, Adam Gabbert, Steven W. Rogers
-
Patent number: 7213236Abstract: 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: GrantFiled: November 30, 2001Date of Patent: May 1, 2007Assignee: Intrinsyc Software International, Inc.Inventor: Mark Philip Gibbons
-
Patent number: 7213231Abstract: 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: GrantFiled: January 11, 2002Date of Patent: May 1, 2007Assignee: Cisco Technology, Inc.Inventors: Jagadish Bandhole, Sekaran Nanja, Shan Balasubramaniam
-
Patent number: 7213240Abstract: 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: GrantFiled: October 5, 2001Date of Patent: May 1, 2007Assignee: Sun Microsystems, Inc.Inventors: Hinkmond Wong, Nedim Fresko, Mark Lam
-
Patent number: 7213238Abstract: 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: GrantFiled: July 18, 2002Date of Patent: May 1, 2007Assignee: International Business Machines CorporationInventors: Robert M. N. Klarer, Sandor C. A. Mathe
-
Patent number: 7210131Abstract: 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: GrantFiled: October 1, 2001Date of Patent: April 24, 2007Assignee: Microsoft CorporationInventors: Jim Schmidt, Calin Negreanu
-
Patent number: 7191430Abstract: 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: GrantFiled: September 24, 2001Date of Patent: March 13, 2007Assignee: Hewlett-Packard Development Company, L.P.Inventors: Alan H. Karp, Rajiv Gupta
-
Patent number: 7181732Abstract: 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: GrantFiled: April 12, 2002Date of Patent: February 20, 2007Assignee: Sun Microsystems, Inc.Inventors: Lars Bak, Kasper V. Lund
-
Patent number: 7152228Abstract: 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: GrantFiled: July 27, 2001Date of Patent: December 19, 2006Assignee: Science Applications International CorporationInventors: Richard Glenn Goodwin, Michael Andrew Farrar, Marvin Messina, Jason Steele
-
Patent number: 7150001Abstract: 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: GrantFiled: March 19, 2001Date of Patent: December 12, 2006Assignee: Microsoft CorporationInventors: Brian K. Pepin, Shawn P. Burke
-
Patent number: 7120900Abstract: 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: GrantFiled: April 19, 2001Date of Patent: October 10, 2006Assignee: International Business MachinesInventor: Steven Edward Atkin
-
Patent number: 7107583Abstract: 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: GrantFiled: February 16, 2001Date of Patent: September 12, 2006Assignee: Hewlett-Packard Development Company, L.P.Inventors: Steven Orodon Hobbs, Erin Elizabeth Chapyak
-
Patent number: 7093231Abstract: 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: GrantFiled: October 22, 2003Date of Patent: August 15, 2006Inventor: Andrew Nuss