Patents Examined by Xi D Chen
  • Patent number: 8898627
    Abstract: The present application is directed towards systems and methods for applying one or more rules that transform objects of an application from a previous instance of the application. Customized functions, objects, databases, and code of the instance of the application may be analyzed by an application transformation tool to identify one or more objects that have been modified. The modified objects may be further analyzed to detect if they are permissibly alterable. The application transformation tool may determine whether each of the permissibly alterable objects reference a standard interface of the application. The application transformation tool may apply one or more rules that transform objects to those permissibly alterable objects that do not reference the standard interface of the application.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: November 25, 2014
    Assignee: Smartshift GmbH
    Inventors: Albrecht Gass, Nikolaos Faradouris, Oliver Flach, Stefan Hetges
  • Patent number: 8893075
    Abstract: A graphical editor or the like, and methods thereof, may be provided that can represent actors associated with use cases via screens, screen flows. The actors, use cases and intermediary screens, screen flows may be all simultaneously and explicitly represented in a diagram referred to as a screen-use diagram.
    Type: Grant
    Filed: January 26, 2011
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter K. Malkin, Stanley M. Sutton
  • Patent number: 8887136
    Abstract: Some embodiments provide a system that facilitates the evaluation of an equation. During operation, the system obtains one or more data-access functions to be used in the equation. Next, the system obtains an analysis context for the equation separately from the data-access functions. The analysis context may include one or more analysis parameters that specify one or more data sources and/or types of analysis to be used in evaluating the equation. Finally, the system evaluates the equation using the data-access functions and the data sources.
    Type: Grant
    Filed: May 4, 2010
    Date of Patent: November 11, 2014
    Assignee: Synopsys, Inc.
    Inventors: Christian M. R. Delbaere, Anil P. Balaram
  • Patent number: 8875098
    Abstract: A software-implemented workflow engine is described that executes a Web mashup within the context of a Web browser running on a computer. The workflow engine is configured to parse a Web mashup definition obtained from a remote server to identify distinct units of execution within the Web mashup, referred to as components. The workflow engine is further configured to obtain programming logic and metadata associated with each type of component identified in the Web mashup definition from the remote server and to use such information to generate executable versions of the identified components. Finally, the workflow engine is configured to run each of the executable components, thereby executing the Web mashup. The workflow engine is configured to manage the order of execution of each of the executable components so that the Web mashup runs in an optimized and reliable fashion.
    Type: Grant
    Filed: November 18, 2008
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Timothy S. Rice, Andrew R. Sterland, Patrick Chi Wai Wong, Adam D. Nathan
  • Patent number: 8875115
    Abstract: An apparatus, process, and computer program product to merge types in an object-oriented program is disclosed herein. In one embodiment, a process may include analyzing a method within an object-oriented program to identify merge candidates. These merge candidates may then be recorded in a merge candidate list. The process may further include identifying at least two code paths in the method that merge into a single code path and that operate on different types. The types in these code paths may then be merged to a nearest common superclass listed in the merge candidate list. In selected embodiments, the types may be merged to the java.lang.Object class in the event the merge candidate list is empty.
    Type: Grant
    Filed: November 29, 2008
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Thomas Mark Walter Bottomley
  • Patent number: 8856764
    Abstract: A method for distributed static analysis of computer software applications, includes: statically analyzing instructions of a computer software application; identifying at least one entry point in the computer software application; assigning a primary agent to statically analyze the computer software application from the entry point; assigning a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site; and presenting results of any of the static analyses via a computer-controlled output device.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: October 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp, Omri Weisman
  • Patent number: 8850406
    Abstract: A client device may install an application. The client device may also maintain a shared set of contact information separate from the application. If the client device determines that, within a fixed time period, the application has read from the shared set of contact information, but has not written a threshold extent of data to the shared set of contact information, the client device may indicate to at least one of the user interface of client device and a server device that the application is exhibiting anomalous behavior. If the server device receives such indications from at least a threshold number of client devices, the server device may instruct the client device to disable or uninstall the application.
    Type: Grant
    Filed: April 5, 2012
    Date of Patent: September 30, 2014
    Assignee: Google Inc.
    Inventors: Daniel L. Morrill, Stuart Teng
  • Patent number: 8832657
    Abstract: Systems and methods for objective Deployment Failure risk assessments are provided, which may include fault trees. Systems and methods for the analysis of fault trees are provided as well. The risk assessments system may involve the development of a fault tree, assigning initial values and weights to the events within that fault tree, and the subsequent revision of those values and weights in an iterative fashion, including comparison to historical data. The systems for analysis may involve the assignment of well-ordered values to some events in a fault tree, and then the combination those values through the application of specialized, defined gates. The system may further involve the revision of specific gates by comparison to historical or empirical data.
    Type: Grant
    Filed: January 12, 2009
    Date of Patent: September 9, 2014
    Assignee: Bank of America Corporation
    Inventors: John Lawton Cowan, Rachel Nemecek
  • Patent number: 8826260
    Abstract: A technique for facilitating customization of a software application is described. During this customization technique, an indicator, which indicates that a software application for an electronic device has been discovered by a user, is provided to a publisher of the software application. In response to the indicator, the publisher provides a token to the user. This token identifies a customized application-delivery service for the software application and/or a user-specific customization of the software application. Note that the customized application-delivery service and the user-specific customization are based on information about the user associated with the user's pre-existing or just-established relationship with the publisher. Next, the token is provided to an application-delivery service, and the application-delivery service provides the customized software application to the electronic device or a computer, for example, using the customized application-delivery service.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: September 2, 2014
    Assignee: Intuit Inc.
    Inventors: Alexander S. Ran, Daniel C. McGloin, Desiree D. G. Gosby, Troy D. Otillio
  • Patent number: 8826254
    Abstract: A function may be memoized when a side effect is a read only side effect. Provided that the read only side effect does not mutate a memory object, the side effect may be considered as an input to a function for purity and memoization analysis. When a read only side effect may be encountered during memoization analysis, the read only side effect may be treated as an input to a function for memoization analysis. In some cases, such side effects may enable an impure function to behave as a pure function for the purposes of memoization.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: September 2, 2014
    Assignee: Concurix Corporation
    Inventors: Alexadner G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8826255
    Abstract: A control flow graph may be generated from a model. The control flow graph may be restructured by converting at least one cyclical unstructured region of a control flow graph into a structured region. The restructuring may involve introducing loop head and/or bottom nodes, serving as incident nodes for loop entry or exit, correspondingly. Loop back-edges may be re-routed to loop entry nodes, while all exit nodes may be re-rerouted to loop exit nodes, as long as the control flow within the loop is properly directed using control flow constructs.
    Type: Grant
    Filed: June 18, 2007
    Date of Patent: September 2, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Srinath Avadhanula, Vijay Raghavan
  • Patent number: 8819647
    Abstract: Nested virtual machines cooperate with one another to improve system performance. In particular, an outer virtual machine performs tasks on behalf of an inner virtual machine to improve system performance. One such task includes translation of instructions for the inner virtual machine.
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: August 26, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marcel Mitran, Ali I. Sheikh
  • Patent number: 8819631
    Abstract: A method for web automation includes providing a self dependent automation script. The self dependent automation script includes a script model that includes instructions to be executed by a processor, and an incorporated runtime engine configured to execute the script model on the processor. The method further includes applying a runtime engine selected from a set of at least one runtime engine, the set including at least the incorporated runtime engine, so as to execute the script model. A computer program product and data processing system are also disclosed.
    Type: Grant
    Filed: January 13, 2011
    Date of Patent: August 26, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Sagi Monza, Moshe Eran Kraus, Svetlana Aronov, Dror Schwartz
  • Patent number: 8819630
    Abstract: Architecture that provides a convenient and effective test tool for testing and ensuring that webpages using micro-browsers are sufficiently designed and operational. A task library is developed for manipulating browsers on a handheld device, and includes one or more seamless methods that operate the different browsers in the same way. Seamless virtual functions that manipulate different micro-browsers include, but are not limited to browser launch, exiting a browser, navigating to a home page, clearing a cache, navigating to a webpage, reloading a webpage, getting the current info for a webpage, navigating back to a webpage, checking a page title, and capturing a screen, for example. Device features can also be manipulated to ensure consistency across the testing process.
    Type: Grant
    Filed: December 8, 2008
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Chih-Yung Chen, Shu-Fong Huang, Ellen Huang
  • Patent number: 8819660
    Abstract: Techniques are described to allow substation of blocks into a virtual machine image of an executing virtual machine. A patch may be applied to a first virtual machine image. One or more blocks modified by the patch are identified and copied to a host having a virtual machine executing from a virtual machine image that is based on the first virtual machine image (prior to the patch). While the virtual machine is executing, the substitution blocks are applied (supersede) corresponding original blocks in the virtual machine image. A guest operating system in the virtual machine may either begin using an executable file in a substitution block. In addition, the guest operating system may be forced to flush from memory and cache executable code replaced by the substitution block.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Robert Fries, Srivatsan Parthasarathy
  • Patent number: 8813066
    Abstract: A method is presented for installing a software application on a data processing system that may include multiple data processing entities. The software application may include multiple components for installation on one or more of the entities. The method may include providing input information for each of the components designated for installation. Each component may then be installed according to its corresponding input information, and output information corresponding to each component may be generated. This output information may be provided to one or more data processing entities identified for installation of a subsequent component. The input information corresponding to the subsequent component may be at least partially determined from this output information.
    Type: Grant
    Filed: March 25, 2009
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: Danilo Allocca, Claudio De Ingeniis, Pietro Marella, Gianluca Mariani, Martha Pinelo, Riccardo Rossi, Gianluca Seghetti, Ignazio Trovato, Massimo Marra, Mario Noioso
  • Patent number: 8813061
    Abstract: An automobile, vehicle, vessel or other device may include a plurality of modules, software applications, computer program products, controllers or other logically executing entities to facilitate controlling, implementing or otherwise enabling various operations according to computer-readable instructions, code or other information stored within a memory, such as within a file or other memory construct. A controller having capabilities sufficient to facilitate updating, modifying, creating or otherwise manipulating such stored files and/or corresponding instructions is contemplated.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: August 19, 2014
    Assignee: Movimento Group
    Inventors: Benjamin J. Hoffman, Dan Umbach, Walter A. Dorfstatter
  • Patent number: 8813025
    Abstract: Systems and methods for objective Deployment Failure risk assessments are provided, which may include fault trees. Systems and methods for the analysis of fault trees are provided as well. The risk assessments system may involve the development of a fault tree, assigning initial values and weights to the events within that fault tree, and the subsequent revision of those values and weights in an iterative fashion, including comparison to historical data. The systems for analysis may involve the assignment of well-ordered values to some events in a fault tree, and then the combination those values through the application of specialized, defined gates. The system may further involve the revision of specific gates by comparison to historical or empirical data.
    Type: Grant
    Filed: January 12, 2009
    Date of Patent: August 19, 2014
    Assignee: Bank of America Corporation
    Inventors: Claudia P. Hammet, David H. Ulmer, John Cowan, Rachel Nemecek, Edward M. Dunlap, Jr., Thomas R. Williams
  • Patent number: 8813041
    Abstract: In one embodiment, a method for inserting advertising into an application includes removing first application code from a first input executable file and placing it into an output executable file, wherein the first application code represents code part of the application. Then a first set of proxies is inserted into the first input executable file, wherein the first set of proxies, when run, makes calls to the first application code. Second application code is added into the output executable file, wherein the second application code represents code executable to display the advertising. The output executable file is compressed. Then, the first input executable file and the output executable file are provided to a device such that the device may load and execute the files.
    Type: Grant
    Filed: February 14, 2008
    Date of Patent: August 19, 2014
    Assignee: Yahoo! Inc.
    Inventor: Thomas Lopatic
  • Patent number: 8813028
    Abstract: A computer implemented method and system for creating a mobile application provides a mobile application development software (MADS) and pre-coded software components (PCSCs) encapsulated in a mobile application creation interface (MACI). The MADS dynamically maps data to be rendered in the mobile application with one or more data sources and launches the MACI. The MADS creates one or more composite software components (CSCs) by combining more than one of distinct software components selected from component sources and/or the PCSCs. The MADS inserts one or more PCSCs and/or CSCs into the MACI. The MADS generates one or more recommendations for adding one or more characteristic objects associated with the mobile application.
    Type: Grant
    Filed: July 19, 2013
    Date of Patent: August 19, 2014
    Inventor: Arshad Farooqi