Patents Examined by Zhan Chen
  • Patent number: 9268573
    Abstract: Methods for encoding a program. Each program instruction in a program has one or more possible encodings, and each instruction encoding may have a different length. The instruction encodings are selected such that the resulting encoding of the program as a whole minimizes the number of program cycles used in a decoding stage of a processor. Instruction padding or program padding may be used to create instruction encodings of lengths.
    Type: Grant
    Filed: November 2, 2012
    Date of Patent: February 23, 2016
    Inventors: Michael Rolle, Stanley Goldberg
  • Patent number: 9256442
    Abstract: A user trusted device and a software update method for updating the device. The device includes: a connection interface enabling connection with a host computer; a persistent memory storing a boot enabling data structure and a network updater, wherein: the network updater is configured to interact with firmware of the host computer to initiate communication over a network; and the boot enabling data structure: is detectable by the firmware upon connection of the user trusted device with the host computer; is such that host computer can boot from the user trusted device, as per the data structure of the boot enabling data structure; and includes instructions for the firmware to initiate a transfer of the network updater on the host computer for subsequent execution, upon the host computer booting from the user trusted device.
    Type: Grant
    Filed: March 3, 2014
    Date of Patent: February 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Thomas Gschwind, Frank Hoering, Michael P Kuyper-Hammond
  • Patent number: 9256515
    Abstract: Exemplary methods, apparatuses, and systems generate a plurality of possible stack traces for a computer program. Each possible stack trace represents functions that may be active while the computer program is running. Each function has a corresponding function identifier. A value for at least one of the plurality of possible stack traces is generated. Generating the value for each stack trace includes performing a series of one or more mathematical or logical operations between the function identifiers of the possible stack trace. A stack trace is generated as an output based upon a match between a run-time stack trace value and the at least one generated stack trace value.
    Type: Grant
    Filed: August 21, 2013
    Date of Patent: February 9, 2016
    Assignee: VMWARE, INC.
    Inventor: Rajiv Madampath
  • Patent number: 9244701
    Abstract: Methods are disclosed for system scenario-based design for an embedded platform whereon a dynamic application is implemented. The application meets at least one guaranteed constraint. Temporal correlations are assumed in the behavior of internal data variables used in the application, with the internal data variables representing parameters used for executing a portion of the application. An example method includes determining a distribution over time of an N-dimensional cost function, with N an integer number N?1, corresponding to the implementation on the platform for a set of combinations of the internal data variables. The method also includes partitioning an N-dimensional cost space in at least two bounded regions, each bounded region containing cost combinations corresponding to combinations of values of the internal data variables of the set that have similar cost and frequency of occurrence, whereby one bounded region is provided for rarely occurring cost combinations.
    Type: Grant
    Filed: July 11, 2013
    Date of Patent: January 26, 2016
    Assignees: IMEC, Stichting IMEC Nederland, Katholieke Universiteit Leuven, KU Leuven R&D
    Inventors: Francky Catthoor, Evangelos Bempelis, Wim Van Thillo, Praveen Raghavan, Robert Fasthuber, Elena Hammari, Per Gunnar Kjeldsberg, Jos Huisken
  • Patent number: 9198039
    Abstract: An electronic device includes a memory including a first storage area in an active state and a second storage area in an inactive state, and a first controller configured to execute a first operating system stored in the first storage area, and execute a management command for firmware update on the first operating system, wherein the first controller receives the management command from a management serer, receives update data based on the management command, store the update data in the second storage area, activates the second storage area, deactivates the first storage area, and executes an updated first operating system within the update data.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: November 24, 2015
    Assignee: LG Electronics Inc.
    Inventors: Jonghoon Shim, Hyoungjun Park
  • Patent number: 9098450
    Abstract: A system and machine-implemented method for handling an unexpected error associated with an application are disclosed. The subject disclosure provides for sending, from a client running a client application, an instruction to an application server hosting a server application associated with the client application, detecting an unexpected error in response to the sent instruction, automatically requesting, from the application server, an updated version of application code for the client application in response to the detected unexpected error, receiving the updated version of application code and updating the client application using the updated version of application code.
    Type: Grant
    Filed: May 18, 2012
    Date of Patent: August 4, 2015
    Assignee: Google Inc.
    Inventors: Gregory Matthew Marra, Christopher J. Marra
  • Patent number: 9098366
    Abstract: A mobile communication device comprises a processor, a memory, a plurality of stub applications comprising updateable version numbers, and a widget stored in the memory that, when executed by the processor, configures the processor to: determine a plurality of the stub applications to present, present the stub applications on a display of the mobile communication device, and elicit, in response to selection of a first stub application, retrieval and installation of a first full application in place of the first stub application.
    Type: Grant
    Filed: July 11, 2013
    Date of Patent: August 4, 2015
    Assignee: Sprint Communications Company L.P.
    Inventors: Fared A. Adib, Robert H. Burcham, Jason R. Delker, Jason Salge, M. Jeffrey Stone
  • Patent number: 9098299
    Abstract: Scripts are incrementally compiled at runtime to generate executable code. The incremental compilation generates executable code corresponding to a basic block of the script. The executable code for a basic block of script is generated for a set of types of variables of the basic block resulting from execution of the script in response to a request. The generated executable code is stored and executed for subsequent requests if these requests result in the same types of variables for the basic block. The incremental compilation of the script is performed in a lazy fashion, such that executable code is not generated for combinations of types of variables of the script code that are not obtained from requests received at runtime. The script may dynamically generate portions of a web page that is returned in response to a request for execution of the script.
    Type: Grant
    Filed: July 11, 2012
    Date of Patent: August 4, 2015
    Assignee: Facebook, Inc.
    Inventors: Keith Adams, Andrew John Paroski, Jason Owen Evans
  • Patent number: 9092291
    Abstract: A method of renaming stub applications on a mobile communication device comprises installing a plurality of stub applications, wherein each of the stub applications comprises a generic file name. The method further comprises determining a plurality of interactive thumbnail images to present on a display, wherein the determining is done by a widget, displaying the plurality of interactive thumbnail images within a graphical user interface frame of the widget in response to the determining, wherein each of the interactive thumbnail images is linked to one of the stub applications, identifying that the generic file names of the stub applications do not match the file names of the interactive thumbnail images to which they are linked, and replacing the generic file names of the stub applications linked to the interactive thumbnail images with file names that match the file names of the interactive thumbnail images in response to the identifying.
    Type: Grant
    Filed: July 11, 2013
    Date of Patent: July 28, 2015
    Assignee: Sprint Communications Company L.P.
    Inventors: Fared A. Adib, Robert H. Burcham, Jason R. Delker, Jason Salge, M. Jeffrey Stone
  • Patent number: 9092237
    Abstract: An illustrative embodiment for serialization of pre-initialized objects receives a source code definition of a class, identifies a set of constants associated with the class in the source code to form a set of identified constants, creates a result object corresponding to each constant in the set of identified constants, and compiles the source code into a compiled form of the class. The illustrative embodiment further serializes each result object into a resource file associated with the class to form a set of serialized objects and replaces, in the compiled form of the class, each reference to a respective constant associated with the class from the set of identified constants with a corresponding dynamic instruction using a respective serialized object in the set of serialized objects.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: July 28, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Daniel J. Heidinga, Karl M. Taylor, Olivier P. Thomann
  • Patent number: 9081892
    Abstract: A method of verifying software includes receiving at least a portion of a software program. The portion of the software program may include a software function within a class. The method may also include generating a proxy class based on the class where the proxy class includes a proxy function that includes a call to the software function and analyzing the proxy function. The analysis of the proxy function may include analyzing the software function based on a proxy condition used by the proxy function, the proxy condition based on the software program and configured to apply conditions to parameters and/or variables in the software function.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 14, 2015
    Assignee: FUJITSU LIMITED
    Inventors: Hiroaki Yoshida, Maarten H. Wiggers
  • Patent number: 9021449
    Abstract: A method of testing software may include accessing first software that includes multiple execution paths and concretely executing the first software using a test case associated with second software to traverse at least a first execution path of the execution paths. The method may also include capturing concrete execution results produced from concretely executing the first software to record the first execution path and symbolically executing the first software using a symbolic input based on the recorded first execution path.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: April 28, 2015
    Assignee: Fujitsu Limited
    Inventors: Maarten H. Wiggers, Mukul R. Prasad, Indradeep Ghosh
  • Patent number: 9015666
    Abstract: Techniques are disclosed for generating and updating product documentation. The techniques include monitoring a script being executed to test the functionality of an application. The script may have one or more tags associated with corresponding tags in documentation associated with the application. The techniques further include capturing, during execution of the script, content items from the application based on the one or more tags of the script and inserting the captured content items into the documentation at locations indicated by the corresponding tags of the documentation.
    Type: Grant
    Filed: July 11, 2012
    Date of Patent: April 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: Adam T. Clark, John E. Petri
  • Patent number: 8997064
    Abstract: A method of testing software may include accessing software that includes multiple execution paths that each include one or more branching points. The method may also include concretely executing the software using multiple concrete inputs to traverse at least two of the execution paths of the software. The method may also include capturing concrete execution results produced from executing the software using the concrete inputs. The method may also include symbolically executing the software using one or more symbolic inputs based on the concrete execution results.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: March 31, 2015
    Assignee: Fujitsu Limited
    Inventors: Mukul R. Prasad, Maarten H. Wiggers
  • Patent number: 8938719
    Abstract: A method for assuring performance of applications is described herein. According to an implementation, the method includes obtaining at least one performance requirement associated with an application in a pre-development phase of a development lifecycle of the application. The performance requirement is mapped with one or more of functional requirements associated with the application and the performance requirement is analyzed based at least on an operational load expected to be handled by the application during operation. Further, the application is developed based on the performance requirement and the mapping. At least one performance characteristic associated with the application is determined, to compare against the performance requirement assuring performance of the application during operation.
    Type: Grant
    Filed: May 17, 2012
    Date of Patent: January 20, 2015
    Assignee: Tata Consultancy Services Limited
    Inventors: Gururaj Anjan, Harish Sivasubramanian Iyer
  • Patent number: 8914778
    Abstract: According to one embodiment, a method for a compiler to produce an executable module to be executed by a computer system including a main processor and active memory devices includes dividing source code into code sections, identifying a first code section to be executed by the active memory devices, wherein the first code section is one of the code sections and identifying data structures that are used by the first code section. The method also includes classifying the data structures based on pre-defined attributes, formulating, by the compiler, a storage mapping plan for the data structures based on the classifying and generating, by the compiler, mapping code that implements the storage mapping plan, wherein the mapping code is part of the executable module and wherein the mapping code maps storing of the data structures to storage locations in the active memory devices.
    Type: Grant
    Filed: November 5, 2012
    Date of Patent: December 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, John K. O'Brien, Zehra Sura
  • Patent number: 8914779
    Abstract: According to one embodiment, a system including a compiler to produce an executable module to be executed by a computer system including a main processor and active memory devices is provided. The system configured to perform a method including dividing source code into code sections, identifying a first code section to be executed by the active memory devices and identifying data structures that are used by the first code section. The method also includes classifying the data structures based on pre-defined attributes, formulating, by the compiler, a storage mapping plan for the data structures based on the classifying and generating, by the compiler, mapping code that implements the storage mapping plan, wherein the mapping code is part of the executable module and wherein the mapping code maps storing of the data structures to storage locations in the active memory devices.
    Type: Grant
    Filed: November 26, 2012
    Date of Patent: December 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, John K. O'Brien, Zehra Sura
  • Patent number: 8881125
    Abstract: Performance impact of a computing system component on a transient end-to-end system operation is estimated by profiling an overall characteristic for a transient end-to-end system operation, and simultaneously profiling a program code component for a second characteristic, thereby collecting a first pair of data points, repeating the operational period while introducing a known artificial delay into the program code component, and while profiling the overall performance characteristic for the system and for the program code component, thereby collecting pairs of data points for each repetition of the operational period for each of the artificial delays; curve fitting and analyzing intercepts of the collected data points to estimate the effect of the artificial delays in the program code component on the transient end-to-end system operation; and reporting the estimate correlated to potential optimal transient end-to-end system operation.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: November 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marc Alan Dickenson, Andrew Geissler, Adriana Kobylak, Aditya Kumar
  • Patent number: 8850407
    Abstract: Disclosed herein are techniques for generating an automated testing script. A request for a performance evaluation of a computer program is accessed. Predetermined rules are used to determine which objects defined in the computer program should be triggered by a script executable by a testing application. The script is generated in accordance with the predetermined rules.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: September 30, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Nir Hemed, Anna Leiba, Moshe Eran Kraus, Ofra Pavlovitz
  • Patent number: 8843900
    Abstract: Systems, methods, and computer program products for facilitating a serial debugging experience for programs running in a distributed, non-deterministic, out-of-order (i.e., parallel) fashion are disclosed. Such systems, methods, and computer program products provide a modified combination of breakpoints, stepping, and call stacks that facilitate the ability to improve the debugging experience for out-of-order program execution. In an embodiment, a task scheduler provides a distributed task graph. Then, the user may hit breakpoints sequentially within the graph's execution and use deterministic stepping (i.e., step-in, step-out, and step-over functions) to create a logical call stack from a distributed task graph. Such embodiments allow the program to execute in a distributed and parallel manner, while presenting the user a sequential execution experience in the debugger.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: September 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael Stall, Marko Radmilac, Krishan Varadarajan