Patents Examined by Duy Khuong Nguyen
  • Patent number: 9342274
    Abstract: Dynamic code generation and memory management techniques are provided for component object model (COM) objects with corresponding representations in script code and native code. A browser component can receive script code including the code representing the COM object and a marshaling component is provided that marshals, based on a request for native code representing the COM object, the code representing the COM object to the native code based on a pre-constructed intermediate data structure. The pre-constructed intermediate data structure, such as a virtual table, is pre-constructed based on a dynamic type representation associated with a prototype of the COM object and cached for re-use by the marshaling component. Other embodiments provide finalizer support for memory management of COM objects having script and native world representations including an implementation of a two-phase commit protocol that enables efficient and conservative recycling of objects and associated memory.
    Type: Grant
    Filed: May 19, 2011
    Date of Patent: May 17, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Steven Lucco, Louis Lafreniere, Yong Qu
  • Patent number: 9342295
    Abstract: A method, and a corresponding system, for dynamically updating software while the software is running by automatically dividing a patch into a plurality of micro-updates using compiler analysis. The method includes providing the patch which includes updates to several variable units of the software, including functions, type definitions, and data stores. Next, an interference graph of the patch is generated by creating a node corresponding to each variable unit of the patch and creating connected components by adding edges connecting variable units having an impact expression with a non-zero intersection. The patch is divided into the micro-updates, where each micro-update corresponds to a connected component. The micro-updates are then applied to the software when the variable units of the micro-update are at a safepoint, and at least two of the micro-updates are applied at different times while the software is running.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: May 17, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sandya Srivilliputtur Mannarswamy, Sujoy Saraswati
  • Patent number: 9298453
    Abstract: In one embodiment, a code analytic platform may use a novel combination of information retrieval and program analysis techniques to develop a code relationship graph 514 to perform various code applications, such as intent based searches on a source code set, the documentation of undocumented code, risk analyses, natural language semantic searches, and others. A source code analytics platform may perform a code analysis of a source code set 410. The source code analytics platform may perform a metadata analysis of a code production data set 430 associated with the source code set 410. The source code analytics platform may create a code relationship graph 514 associating the source code set 410 with a descriptive metadata set.
    Type: Grant
    Filed: July 3, 2012
    Date of Patent: March 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vipindeep Vangala, Pankaj Madhukar
  • Patent number: 9292280
    Abstract: Systems and methods are disclosed for multi-tiered registration of file formats for applications. A processor receives a registration request from a developer of an application to register an application with a list of primary formats and a list of secondary formats. The processor associates the list of primary formats and the list of secondary formats with the application, and the processor receives an open request from a user to open a file having a file format. The application is determined to be associated with a primary format corresponding to the file format, and the application is selected to open the file.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 22, 2016
    Assignee: Google Inc.
    Inventors: Brian Lewis Cairns, Michael Jeffrey Procopio
  • Patent number: 9292421
    Abstract: A method includes generating a test model based on at least one of test group dependencies and test group constraints and generating a resource base. the method includes generating a cost model and generating a resource allocation plan based on the test model, the resource base, and the cost model.
    Type: Grant
    Filed: October 16, 2014
    Date of Patent: March 22, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kathryn A. Bassin, Howard M. Hess, Sheng Huang, Steven M. Kagan, Shao C. Li, Zhong J. Li, He H. Liu, Susan E. Smith, Hua F. Tan, Li Wang, Jun Zhu
  • Patent number: 9292266
    Abstract: A method for updating a computer the includes converting a first computer the to executable byte code and receiving a second computer the that includes a change that distinguishes the second computer file from the first computer file. The method also includes converting the second computer the to executable byte code and comparing at least a portion of the executable byte code of the second computer file with at least a portion of the executable byte code of the first computer file. The method further includes inserting, into the executable byte code the first computer file, a modification that causes at least a portion of the executable byte code of the first computer the to resemble the executable byte code of the second computer file.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: March 22, 2016
    Assignee: QUALCOMM INCORPORATE
    Inventors: Giovanni Motta, Sait Can Saydag, Ashish Varma, Fu Jun Wu
  • Patent number: 9286044
    Abstract: Hybrid parallelization strategies for machine learning programs on top of MapReduce are provided. In one embodiment, a method of and computer program product for parallel execution of machine learning programs are provided. Program code is received. The program code contains at least one parallel for statement having a plurality of iterations. A parallel execution plan is determined for the program code. According to the parallel execution plan, the plurality of iterations is partitioned into a plurality of tasks. Each task comprises at least one iteration. The iterations of each task are independent.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: March 15, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthias Boehm, Douglas Burdick, Berthold Reinwald, Prithviraj Sen, Shirish Tatikonda, Yuanyuan Tian, Shivakumar Vaithyanathan
  • Patent number: 9280332
    Abstract: A computer-implemented method, system, and article of manufacture for processing a programming language, which is able to describe data conversion of data input by an iterator. The method includes: converting iterator code of the programming language to a generator code in an intermediate language that includes a generator as an operator; reading a consumer side code; and overwriting code by inline substitution between the consumer side code and the generator code.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 8, 2016
    Assignee: International Business Machines Corporation
    Inventors: Akira Koseki, Akihiko Tozawa
  • Patent number: 9274930
    Abstract: A debugging system for compiled code may include static analysis of the compiled code to determine current values for variables at a paused location within the compiled code. The static analysis may consist of liveness analysis to determine which variables are ‘live’ and in which memory locations those variables are stored. The variables and their values may be presented to a user. The debugging system may include mechanisms for setting stop points, for pausing and continuing execution, as well as stepping through a step or group of steps. Other static analysis may include unwind information that may determine a point in the code from where the current function was called, as well as partial decompilation of the source code to produce a representation of the compiled code that is closer to that of the source code.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Vance P. Morrison
  • Patent number: 9262148
    Abstract: A distributed system manager may identify updates to perform, identify devices to update, and perform the updates while maintaining service availability. The manager may consist of an orchestrator that uses a plug in architecture to interface with different update systems. The plugins may interface with an update system and respond to scan, download, and install commands from the orchestrator. The orchestrator may prepare each device within the distributed system for updating, then cause the updates to be performed via the plugins. In some embodiments, the logic for selecting devices to update and managing the workloads on the devices may be contained in a second type of plugin.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Daniel Thompson, Mallikarjun Chadalapaka
  • Patent number: 9262298
    Abstract: The claimed subject matter provides for systems and/or methods for debugging a computer-executable file. The computer-executable file may be executing in a first runtime environment and located in a first process. The file may further comprise on object having a proxy in that first runtime environment. One method embodiment comprises the steps of debugging said computer-executable file; detecting a proxy for an object called by said file; decoding said proxy to obtain physical information regarding said object; returning said physical object information; and transforming said physical object information into logical object information.
    Type: Grant
    Filed: February 16, 2012
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brent Eugene Rector, Jackson Michael Davis, Saji Abraham, Lin Xu
  • Patent number: 9262248
    Abstract: A method of configuring a logging utility includes generating, by a computer system, at least one message based on a model of logs from at least two software components of a multi-component application and sending, by the computer system, the message to at least one of the two software components for configuring a logging utility of the corresponding software component.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: February 16, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Chatschik Bisdikian, Joel W. Branch
  • Patent number: 9262180
    Abstract: A computer implemented method and apparatus for recommending product features in a software application in real time comprising analyzing an object to detect at least one issue to be addressed in the object; identifying at least one user action taken to address the at least one issue in the object; accessing a recommendations library to find at least one recommendation to address the at least one issue in the object; and displaying the at least one recommendation.
    Type: Grant
    Filed: April 26, 2012
    Date of Patent: February 16, 2016
    Assignee: ADOBE SYSTEMS INCORPORATED
    Inventors: Anand M. Menon, Gaurav Singh, Anuj Mittal
  • Patent number: 9262146
    Abstract: Software is supplied via data storage system. A software image is provided to the data storage system from an external website. It is determined that software needs to be installed on a host. The software image is retrieved from the data storage system. The software is installed on the host using the software image.
    Type: Grant
    Filed: December 19, 2007
    Date of Patent: February 16, 2016
    Assignee: EMC Corporation
    Inventors: Uday K. Gupta, Andreas L. Bauer, Mark A. Parenti, Stephen J. Todd
  • Patent number: 9256398
    Abstract: According to an aspect of an embodiment, a method of increasing efficiency of a software program may include executing a software program that is developed based on a dynamically-typed programming language. The method may also include determining, during execution of the software program, type information for variables included in the software program. Additionally, the method may include generating a modified software program based on the software program and the type information and distributing the modified software program.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: February 9, 2016
    Assignee: FUJITSU LIMITED
    Inventor: Hiroaki Yoshida
  • Patent number: 9256413
    Abstract: In one aspect, a metadata of an application is received. The metadata describes a number of artifacts of the computer application. Based on a reference in the application metadata, at least one service that the application is configured to access is determined. In another aspect, additional metadata describing artifacts associated with the at least one service are identified. The artifacts associated with the at least one service and the artifacts of the computer application are selected for installation of the computer application.
    Type: Grant
    Filed: April 17, 2012
    Date of Patent: February 9, 2016
    Assignee: SAP SE
    Inventors: Radoslav Ivanov, Shenol Yousouf, Georgi Stanev
  • Patent number: 9256514
    Abstract: While an application is still running and using a resource that the application has already allocated, real-time capture is used to allow for a minimal overhead, quick turnaround solution for debugging and performance analysis. Application programming interface interception can be used to construct a database of resource usage that can then be mined for dependencies.
    Type: Grant
    Filed: February 19, 2010
    Date of Patent: February 9, 2016
    Assignee: NVIDIA CORPORATION
    Inventors: Jeffrey Kiel, Derek Cornish, Michael Clifford Strauss
  • Patent number: 9256510
    Abstract: Graphical objects presented by a computer system are captured by monitoring execution of an application on the computer system, and capturing one or more graphical objects of a graphical user image presented by the computer system and associated with the application. The one or more graphical objects are captured automatically in accordance with a pre-defined set of rules for the application.
    Type: Grant
    Filed: June 9, 2011
    Date of Patent: February 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Ger Cunningham, Elaine Hanley, Ronan O'Suilleabhain, Fred Raguillat
  • Patent number: 9256425
    Abstract: Techniques are provided for versioning and refactoring of mashups. During the design phase of a mashup that is operable to access multiple external services, design information that defines or modifies a plurality of design elements included in the mashup is received from a user. Without receiving from the user any input that causes the plurality of design elements to be versioned, current versions of the plurality of design elements are automatically stored in a repository when the plurality of design elements are saved during development of the mashup. The mashup is deployed to one or more servers. Without receiving any input from the user that causes the mashup to be versioned, deploying the mashup comprises automatically storing in the repository a current version of the mashup and versioning information that associates the current version of the mashup with the current versions of the plurality of design elements.
    Type: Grant
    Filed: September 9, 2008
    Date of Patent: February 9, 2016
    Assignee: SERENA SOFTWARE, INC.
    Inventors: Kerstin Baird, Thomas Clement, Rohit Jainendra
  • Patent number: 9256478
    Abstract: Instance properties are defined for instances of an application. During episodes of the instances, the values of the instance properties are populated. Other instances read the values of the instance properties without requiring the instance to run. If the value of an instance property is not populated, then a new episode of the instance is executed to populate the missing values. Instance properties may be grouped into property bags. An instance may populate the values of instance properties in a property bag atomically during one episode using a multi-set message. Other instances may read the values of the property bag instance properties using a multi-get request.
    Type: Grant
    Filed: September 15, 2011
    Date of Patent: February 9, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Justin Brown, John Taylor, Grzegorz Gogolowicz, Kenneth Wolf