Patents Examined by Kevin Dothager
  • Patent number: 8336026
    Abstract: A method, system, and computer-readable medium for aiding a user who is servicing a work packet request in a software factory. A full work packet-aware Integrated Development Environment (IDE) is created and sent to the user. This full work packet-aware IDE provides specifically tailored access to all hardware, software, licenses, normative guidance and other resources that are needed by the user to service the work packet request.
    Type: Grant
    Filed: July 31, 2008
    Date of Patent: December 18, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jarir K. Chaar, Joseph P. Huchel, Thomas A. Jobson, Jr.
  • Patent number: 8327339
    Abstract: A method for detecting user input dependence in software code. The method including representing the software code with a reachability graph having: a plurality of nodes, where a root node of the plurality of nodes represents an input controlled by a user; a first directed edge connecting a first node of the plurality of nodes and a second node of the plurality of nodes, where the first directed edge represents a data dependency; and a second directed edge connecting a third node of the plurality of nodes and a fourth node of the plurality of nodes, wherein the second directed edge represents a data dependency. The method also includes identifying a fifth node of the plurality of nodes as a reachable node from the root node by traversing the reachability graph from the root node to the reachable node; and marking a portion of the software code represented by the reachable node as user input dependant.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: December 4, 2012
    Assignee: Oracle America, Inc.
    Inventors: Bernhard F. Scholz, Chenyi Zhang, Cristina N. Cifuentes
  • Patent number: 8327342
    Abstract: A computing system for reducing logging code includes a virtual machine configured to control the flow of operations in the computing system and a compiler configured to receive bytecode instructions from the virtual machine and convert the bytecode instructions into machine instructions. The computing system also includes a compilation store configured to receive and store the machine instructions from the compiler and a recompilation store configured to receive and store recompiled machine instructions from the compiler. The system also includes a software transactional memory engine configured to receive instructions from the compilation store or, in the event that the recompilation store has recompiled machine instructions stored therein, from the recompilation store.
    Type: Grant
    Filed: July 7, 2008
    Date of Patent: December 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Hideaki Komatsu, Takuya Nakaike, Rei Odaira
  • Patent number: 8321849
    Abstract: A virtual architecture and instruction set support explicit parallel-thread computing. The virtual architecture defines a virtual processor that supports concurrent execution of multiple virtual threads with multiple levels of data sharing and coordination (e.g., synchronization) between different virtual threads, as well as a virtual execution driver that controls the virtual processor. A virtual instruction set architecture for the virtual processor is used to define behavior of a virtual thread and includes instructions related to parallel thread behavior, e.g., data sharing and synchronization. Using the virtual platform, programmers can develop application programs in which virtual threads execute concurrently to process data; virtual translators and drivers adapt the application code to particular hardware on which it is to execute, transparently to the programmer.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: November 27, 2012
    Assignee: NVIDIA Corporation
    Inventors: John R. Nickolls, Henry P. Moreton, Lars S. Nyland, Ian A. Buck, Richard C. Johnson, Robert S. Glanville, Jayant B. Kolhe
  • Patent number: 8307333
    Abstract: A system and computer program product for assisting a user in creating software code. In one implementation, the system includes a display; and a code editor configured to permit a user to edit software code that is displayable on the display. The software code is associated with a programming language having a plurality of software constructs. The code editor comprises a code assistant that is invokable by the user, in which the code assistant comprises a plurality of panels that correspond to the plurality of software constructs. One or more of the plurality of panels contain a set of user-selectable options associated with a given software construct to assist the user in editing the software code.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: November 6, 2012
    Assignee: International Business Machines Corporation
    Inventor: Trenten Peterson
  • Patent number: 8307334
    Abstract: A method for assisting a user in creating software code. In one implementation, the method includes receiving user input editing software code through a code editor, in which the software code is associated with a programming language having a plurality of software constructs. The method further includes receiving user input invoking a code assistant associated with the code editor. The code assistant comprises a plurality of panels that correspond to the plurality of software constructs. One or more of the plurality of panels contain a set of user-selectable options associated with a given software construct to assist the user in editing the software code.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: November 6, 2012
    Assignee: International Business Machines Corporation
    Inventor: Trenten Peterson
  • Patent number: 8296743
    Abstract: Presented are embodiments of methods and systems for library-based compilation and dispatch to automatically spread computations of a program across heterogeneous cores in a processing system. The source program contains a parallel-programming keyword, such as mapreduce, from a high-level, library-oriented parallel programming language. The compiler inserts one or more calls for a generic function, associated with the parallel-programming keyword, into the compiled code. A runtime library provides a predicate-based library system that includes multiple hardware specific implementations (“variants”) of the generic function. A runtime dispatch engine dynamically selects the best-available (e.g., most specific) variant, from a bundle of hardware-specific variants, for a given input and machine configuration.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: October 23, 2012
    Assignee: Intel Corporation
    Inventors: Michael D. Linderman, Jamison D. Collins, Perry Wang, Hong Wang
  • Patent number: 8209678
    Abstract: A method and apparatus for obtaining and installing software updates on consumer electronics devices is described. In one embodiment, the method may include obtaining a software update for a consumer electronics (CE) device and a communications protocol for installing the software update on the CE device. The method may also include a portable device installing the software update on the CE device utilizing the communications protocol, in response to the portable device detecting a communications link between the portable device and the CE device.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: June 26, 2012
    Assignees: Sony Corporation, Sony Electronics Inc.
    Inventors: Aran Sadja, Eric Holcomb
  • Patent number: 8185875
    Abstract: A system and method for race warning generation for computer program verification includes determining shared variables and determining context-sensitive points-to sets for lock pointers by focusing on pointers that may affect aliases of lock pointers, and by leveraging function summarization. Locksets are determined at locations where shared variables are accessed using the points-to sets for lock pointers. Warnings are based on disjointness of locksets.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: May 22, 2012
    Assignee: NEC Laboratories America, Inc.
    Inventors: Vineet Kahlon, Yu Yang, Sriram Sankaranarayanan, Aarti Gupta
  • Patent number: 8185610
    Abstract: A method, system, and computer program product for efficiently fulfilling java server page (JSP) requests for dynamic web content, in a computer network system. An asynchronous processing (AP) utility pre-defines a number of custom classes to enable the asynchronous processing of requests. A JSP which contains a custom “async:include” tag indicates an asynchronous request for dynamic content. When a set of asynchronous requests are received by an application server, an “AsyncRequestDispatcher” is called to handle the asynchronous processing of each associated request dispatcher include fragment. For each fragment, a separate request thread is initiated. A placeholder corresponding to each “async:include” request is written to a servlet response buffer. HyperText Markup Language (HTML) content, which includes the placeholders, and a number of javascripts are then written to the client browser. The original thread is closed.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventors: Robert E. Goff, Scott D. Johnson, Erinn E. Koonce, Todd E. Kaplinger, Stephen J. Kenna, Maxim A. Moldenhauer
  • Patent number: 8176466
    Abstract: Methods, systems, and apparatus, including computer program products, for storing an application fragment. In one aspect, a method includes presenting a component in a donor application window corresponding to a donor application, wherein the donor application is executing in a computing system; receiving input selecting the component in the donor application window for insertion into a file system associated with the computing system; generating an application fragment corresponding to the component; and storing the application fragment in the file system. Further, the method can include inserting the application fragment into a recipient application window associated with a recipient application and activating functionality of the recipient application based on the application fragment. Additionally, the application fragment can be activated in the file system and an application including at least a component based on the application fragment can be generated in response to the activating.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: May 8, 2012
    Assignee: Adobe Systems Incorporated
    Inventor: David Tristram
  • Patent number: 8156467
    Abstract: Methods, systems, and apparatus, including computer program products, for reusing a component. In one aspect, a method includes executing a source application in an application environment; presenting a reusable component in a source application window corresponding to the source application, wherein the reusable component is visibly distinguishable from one or more non-reusable components displayed in the source application window; receiving input selecting the reusable component in the source application window and adding the reusable component to a target application window corresponding to a target application; and inserting one or more computer-readable instructions associated with the reusable component into the target application. Further, input can be received to activate a reuse function associated with the source application.
    Type: Grant
    Filed: August 27, 2007
    Date of Patent: April 10, 2012
    Assignee: Adobe Systems Incorporated
    Inventor: Roger Webster
  • Patent number: 8146061
    Abstract: Disclosed are systems and methods for debugging and analyzing graphics hardware designs. Hardware designs are represented by a software model implemented in a programming language. Graphics operations can be executed in the software model as well as in reference software models to allow a user to analyze the accuracy of a graphics hardware design and/or a device driver implementation.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: March 27, 2012
    Assignee: Via Technologies, Inc.
    Inventors: Jim Xu, Minjie Huang, Dong Zhou
  • Patent number: 8146071
    Abstract: A mechanism for folding all the data dependencies in a loop into a single, conservative dependence. This mechanism leads to one pair of synchronization primitives per loop. This mechanism does not require complicated, multi-stage compile time analysis. This mechanism considers only the data dependence information in the loop. The low synchronization cost balances the loss in parallelism due to the reduced overlap between iterations. Additionally, a novel scheme is presented to implement required synchronization to enforce data dependences in a DOACROSS loop. The synchronization is based on an iteration vector, which identifies a spatial position in the iteration space of the loop. Multiple iterations executing in parallel have their own iteration vector for synchronization where they update their position in the iteration space. As no sequential updates to the synchronization variable exist, this method exploits a greater degree of parallelism.
    Type: Grant
    Filed: September 18, 2007
    Date of Patent: March 27, 2012
    Assignee: International Business Machines Corporation
    Inventors: Raul Esteban Silvera, Priya Unnikrishnan
  • Patent number: 8086997
    Abstract: Illustrative embodiments disclose detecting aspectual behavior in unified modeling language artifacts. A computer represents static and dynamic properties of the unified modeling language artifacts in a set of production rules. The computer also creates a set of bit representations of method invocations found in the set of production rules and determines whether common sub-sequences exist in the set of bit representations. The computer identifies a set of aspects within the production rules responsive to a determination that the common sub-sequences exist. Finally, the computer modifies the unified modeling language artifacts.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventor: Amir Abdollahi Foumani