Patents Examined by Tuan Dam
  • Patent number: 8112430
    Abstract: A system for modifying a rule base for use in processing data, wherein an instance of an entity comprises associated data, for use with a parser for identifying a first instance of an entity in data associated with a document set in accordance with a first rule and for using the first instance of the entity to identify a second instance of the entity in the data associated with the document set. The system comprises an accessor for accessing data associated with the second instance of the entity; and a generator for using the data associated with the second instance of the entity to generate a second rule.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: February 7, 2012
    Assignee: International Business Machines Corporation
    Inventor: Graham Anthony Bent
  • Patent number: 8108826
    Abstract: A method for generating test cases for a program is disclosed. The method combines features of path-oriented and goal-oriented software testing. The illustrative embodiment constructs a control-flow graph with nodes that correspond to invocations of subroutines, and constructs control-flow graphs for the source code of such nodes as well. A metric that is based on the topology of the control-flow graph is evaluated recursively for nodes of the graph and for control-flow graphs that correspond to invoked subroutines. In the illustrative embodiment, the metric employed is the length of a shortest path from the starting node to a particular node. A node n with the highest metric value is then selected as a goal, and a path from the starting node to the ending node that passes through node n is generated via backtracking.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: January 31, 2012
    Assignee: Avaya Inc.
    Inventors: Juan Jenny Li, David Mandel Weiss, Howell Stephen Yee
  • Patent number: 8108838
    Abstract: A method for adaptive runtime reconfiguration of a co-processor instruction set, in a computer system with at least a main processor communicatively connected to at least one reconfigurable co-processor, includes the steps of configuring the co-processor to implement an instruction set comprising one or more co-processor instructions, issuing a co-processor instruction to the co-processor, and determining whether the instruction is implemented in the co-processor. For an instruction not implemented in the co-processor instruction set, raising a stall signal to delay the main processor, determining whether there is enough space in the co-processor for the non-implemented instruction, and if there is enough space for said instruction, reconfiguring the instruction set of the co-processor by adding the non-implemented instruction to the co-processor instruction set. The stall signal is cleared and the instruction is executed.
    Type: Grant
    Filed: May 15, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Richard Gerard Hofmann
  • Patent number: 8099724
    Abstract: A patch-based mechanism is disclosed for providing fast invocations of a target method from a compiled calling method. The code for the calling method is stored into a storage. The code for the calling method comprises an instruction for invoking the target method, where the instruction comprises a parameter. In response to a state change from a current state to a new state that is experienced by the target method, the parameter is modified from a first value to a second value, where the second value indicates the correct address for facilitating the execution of the target method in its new state. Thus, the parameter in the instruction for invoking the target method always reflects the correct state of the target method, which provides for a fast invocation of the target method when the instruction is executed.
    Type: Grant
    Filed: February 28, 2006
    Date of Patent: January 17, 2012
    Assignee: Oracle America, Inc.
    Inventor: Christopher J. Plummer
  • Patent number: 8091075
    Abstract: A conditional breakpoint for debugging computer programming code includes a condition identifying of one or more expected code paths used to reach the breakpoint. The breakpoint is triggered if it is reached during execution using an unexpected code path. Preferably, an expected code path is identified by specifying the expected preceding breakpoint, by specifying basic code blocks which should or should not be encountered before the breakpoint, or some combination thereof. The expected code path condition may be used alone or in conjunction with any conventional breakpoint condition.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: January 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Cary Lee Bates, Paul W. Buenger
  • Patent number: 8087012
    Abstract: A technique is provided for eliminating maximum and minimum expressions within loop bounds are provided. A loop in a code is identified. The loop is determined to meet conditions, which require an upper loop bound and a lower loop bound to contain maximum and minimum expressions, loop-invariant operands, a predetermined size for a code size, and a total number of instructions to be greater than a predetermined constant. A profitability of loop versioning is determined based on a performance gain of a fast version of the loop, a probability of executing the fast version of the loop at runtime, and an overhead for performing loop versioning. A pair of lower loop bound and upper loop bound values resulting in a constant number is identified. A loop iteration value is checked to be a non-zero constant. Branches are identified, and loop versioning is performed to generate a versioned loop.
    Type: Grant
    Filed: August 21, 2007
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventor: Edwin Chan
  • Patent number: 8086994
    Abstract: The present invention provides a standardized way to incorporate any new or legacy application into a templatable solution by using Reusable Asset Specification (RAS) profile features. A method in accordance with an embodiment of the present invention includes: providing a default RAS profile for a templatable RAS asset corresponding to the application; and adding at least one extension to the default RAS profile, the at least one extension including a templatable implementation extension for implementing a templatable interface.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Margaret M. O'Connell, Joyce C. Graham, Dmitri M. Grigoriev, Hanna Russo
  • Patent number: 8086995
    Abstract: A system and method for developing an application for execution on a target device is described. The system comprises: a processor and a memory for storing instructions and data to configure the processor to provide: a development platform interface for developing a presentation component for output by the target device to a user interface in accordance with a target device appearance definition; a plurality of development platform appearance definitions for configuring the appearance of output of the development platform interface; and a mapping mechanism for mapping between the target device appearance definition and a corresponding development platform appearance definition to simulate on the system the output of the presentation component by the target device.
    Type: Grant
    Filed: November 28, 2005
    Date of Patent: December 27, 2011
    Assignee: Research In Motion Limited
    Inventors: Zhong Hai Luo, Bryan Goring, David Debruin, Michael Shenfield
  • Patent number: 8086998
    Abstract: A meta object facility file is parsed into a plurality of schema elements. For each schema element, it is determined that the definition of the schema element is complete. A computing artifact usable in a database description language database table or a JAVA class is created from the schema element. When the schema element is a meta object facility class, a modeling entity is created to store the computing artifacts derived from the meta object facility file wherein the modeling entity is a JAVA class. The meta object facility class is transformed into a JAVA class, and upon determining that an attribute of the meta object facility class has an array of values, an array table is created and identified in the modeling entity, and an array attribute is added to JAVABEAN information in the modeling entity.
    Type: Grant
    Filed: April 27, 2006
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ravi P. Bansal, Robert J. Carney, Timothy J. Carroll, Saravanan Kannappan, Sara H. Waggoner
  • Patent number: 8087013
    Abstract: In assisting migration of data processing resources from a first operating environment to a second operating environment, a migration controller responds to a problem encountered during a migration process by invoking a network-based service to discover migration resources. A service provider makes migration resources available via the network-based service. The migration controller can obtain the latest migration rules and use them to resolve certain migration problems. The cooperation between the migration controller and network-based service can be automated to reduce reliance on manual updating of installed computer programs.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: John Anthony Kelly, Mark Patrick Nuttal, Craig Howard Stirling, Mark Whitlock
  • Patent number: 8074217
    Abstract: Methods and systems for software delivery are described. In one embodiment, an extension definition catalog structure is defined and can be used to select one or more software extensions for incorporation on a computing device. At least one software extension is identified using a uniform resource name and, for the one software extension, at least one instance of the software extension is identified using a uniform resource name. For the one instance of the software extension, a uniform resource locator can be used to select the instance.
    Type: Grant
    Filed: October 29, 2007
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Sarita M. James, Brian J. Syme, Suryanarayanan V. Raman, John A. Licata, Lawrence M. Sanchez
  • Patent number: 8074214
    Abstract: A customized installation, e.g. of Linux software, is created by allowing a user to select packages that the user is interested in installing. During the process, the user is informed if two of the packages that were selected will not be interoperable at run-time. The user is then given an opportunity to resolve the conflict. The user is also informed if selected packages depend on other packages that were not selected in order to run properly, and given the opportunity to include those needed packages in the installation. Once the selected packages have been validated that they will interoperate and all dependencies are satisfied, the system can install the installation.
    Type: Grant
    Filed: May 19, 2005
    Date of Patent: December 6, 2011
    Assignee: Oracle International Corporation
    Inventors: Scott A. Isaacson, Eric W. B. Anderson, Robert Wipfel
  • Patent number: 8074208
    Abstract: A method of detecting recursive instantiation loops in a wireless application. A data model digraph is constructed including a respective node for each data component in the wireless application, and a respective edge for each relationship between a pair of data components. The data model digraph is searched to identify any cycles. For each identified cycle, each data component that participates in the cycle is identified.
    Type: Grant
    Filed: April 18, 2006
    Date of Patent: December 6, 2011
    Assignee: Research In Motion Limited
    Inventors: Cameron Bateman, Bryan R. Goring, Michael Shenfield
  • Patent number: 8065673
    Abstract: A computer system includes an object oriented framework that provides a set of application integration interfaces that support programmatic updating operations for maintaining locally stored copies of resources such as hypertext document pages from remote servers on a computer network. The updating operations continually check for updates to the data at the remote server and download updated versions of the resources to maintain concurrency of the locally stored copy. The updating operations are performed while a connection to the remote network is left idle, to maximize usage of on-line connection time. The updating operations also can be programmatically scheduled by a client program of the updating operations. The updating operations include updating the contents of a folder or directory in a local file system as specified in a file at a remote server on the network, and providing automatically updating and populating groups of sites or document pages organized by category.
    Type: Grant
    Filed: June 1, 2004
    Date of Patent: November 22, 2011
    Assignee: Microsoft Corporation
    Inventors: David J. D'Souza, Sabina Nawaz, Erik Jon Snapper, Darren Mitchell, Raymond Edward Endres, Teresa Martineau, Bharat Shyam, Ian Michael Ellison-Taylor, Mohsin Ahmed
  • Patent number: 8065655
    Abstract: A utility transforms a class diagram representing an ontology, such as a UML class diagram, into a fully-described, standard representation of an ontology such as OWL file. It may be based on Rational Software Architect (RSA) and its model transformation capabilities. The RSA transformation framework uses a Visitor-like pattern for iterating over all of the UML elements in a UML diagram. The framework allows the developer to configure ‘Rule’ classes that are executed when different types of UML elements are encountered. Each UML element is visited once, which causes each rule to be fired for each element type. Rules are configured for just those UML types that are of interest to the transformation, for example classes, primitives, properties, packages and instances. Each rule in the implementation is then written to delegate to a Registrar class, which has a method for building the ontology model from the registered UML elements.
    Type: Grant
    Filed: June 20, 2006
    Date of Patent: November 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Shardul Deo, Aaron Dixon, Matthew Sanchez, Steven Teleki
  • Patent number: 8065672
    Abstract: A patch tool receives multiple patches, with each patch designed to fix a corresponding subset of a set of errors in a system. Some of the patches may require that the files from older patches be removed from the system. In an embodiment of the present invention, a developer of a patch is provided the flexibility to specify that a desired file from an older patch fixing a specific error, not be removed during deployment of a new patch designed to fix the same specific error. Rolling back later to the older version of the patch may be simplified by not removing the desired file.
    Type: Grant
    Filed: January 23, 2007
    Date of Patent: November 22, 2011
    Assignee: Oracle International Corporation
    Inventors: Vijay Nichinbatl Sriram, PhiDien Nguyen, Shamik Ganguly
  • Patent number: 8060855
    Abstract: An identification of a multi-component development artifact to be shared is obtained in a development environment. A remote receiver with whom to share components of the artifact is designated. Components of the artifact are shared with the remote receiver by automatically locating the components and sending the located components in a package with associated type descriptions. After the package is received, a check for conflicts is made, and acceptable components are merged into the local development environment.
    Type: Grant
    Filed: October 9, 2007
    Date of Patent: November 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Rajesh Hegde, Dragos A. Manolescu
  • Patent number: 8056066
    Abstract: A computer implemented method, apparatus, and computer program product for obtaining aliasing information for a target variable in a computer program. A control flow graph representing the computer program is partitioned into an taken address portion that includes all reachable nodes in which an address of the target variable is taken and an untaken address portion that includes all other reachable nodes. All references to the target variable are replaced with a temporary variable in the untaken address portion. The target variable is initialized with the value from the temporary variable at each intermediary node in a set of intermediary nodes in the taken address portion. An intermediary node is a node at which an address of a target variable is taken. The aliasing information for the target variable is generated using the modified computer program.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Edwin Chan, Raul E. Silvera
  • Patent number: 8051405
    Abstract: A system and method for build script generation in a software development environment. An extensible script generator framework allows for one or more script generators to be plugged into the framework. When the framework is subsequently invoked to build a software project or application, each of the plugged-in generators can be evaluated to see if one or more generators should be applied to that project or application. The applicable generators are then used during the build process to automatically generate a build script. In some embodiments, a command line interface allows the generator framework to be invoked outside of the IDE. Additionally, in some embodiments, the framework allows for the plugin of one or more customizers that can be used to further customize or tweak the build script.
    Type: Grant
    Filed: January 3, 2007
    Date of Patent: November 1, 2011
    Assignee: Oracle International Corporation
    Inventors: Konstantin Komissarchik, Theodore Bashor
  • Patent number: 8046738
    Abstract: A development environment tracks code sections which have been copied and pasted into a code module from a source code section which has not been subjected to certain verifications. In one aspect, if an error in a copied section is later found during a verification process, the programmer is allowed to perform a multi-edit operation, whereby an edited change to a single copy is automatically propagated to multiple copies. In another aspect, the programmer is warned when copying and pasting a code section which has not been verified. Preferably, verification is performed in the process of compiling source into executable object code.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: October 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Cary Lee Bates, Paul W. Buenger