Patents Examined by Insun Kang
  • Patent number: 10025569
    Abstract: A compiler converts a high level language program into a corresponding machine level language program. The compiler forms an initial control flow graph of the high level language program with nodes and edge, the nodes including a starting node, initializing a collapse count to zero, and sets the initial control flow graph as a current control flow graph. The compiler performs iterative collapsing operations on the current control flow graph until only a single node remains. After performing the iterative collapsing operations, data flow analysis is performed on the initial control flow graph for a number of iterations equal to one greater than the collapse count. Then, the machine level language program corresponding to the high level language program is generated based upon the data flow analysis.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: July 17, 2018
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Alan L. Davis, Paul Fuqua, Timothy John Harvey
  • Patent number: 10019342
    Abstract: In various embodiments, a spectral graph partitioner (“SP”) of a graph partitioning system (“GPS”) may partition a data flow graph associated with a program into a plurality of subgraphs to be used to perform analysis or debugging. The SP may generate estimated eigenvectors for a matrix representing the graph through minimization of a function on the vectors. The SP may generate multiple eigenvectors to perform the clustering in a multi-dimensional space described by the eigenvectors. The SP may refine the clustering by repeating generation of eigenvectors to describe higher-dimensional spaces and perform further clustering. The SP may also determine quality metrics for the clusters and may stop refinement based on the quality metrics. The GPS may select between utilizing the SP or utilizing one or more other partitioners based on various factors such as, for example, graph size or quality metrics. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: December 24, 2015
    Date of Patent: July 10, 2018
    Assignee: Intel Corporation
    Inventors: Lawrence J. Sun, Vasanth R. Tovinkere
  • Patent number: 10001983
    Abstract: Methods are disclosed for dynamic node allocation for a server system that can automatically heal on failure—minimizing the need for static configuration—dynamically adjusting server resources to match load, and minimize end user wait times. The disclosed methods dynamically allocate nodes to increase capacity for a platform that accepts data queries. Additionally disclosed is a system for rolling version update deployment: workers maintain org lists of org-task-queues that they service; org-affinities between the workers and the org-task-queues require the workers to have access to local copies of immutable data sets to service org-tasks from the org-task-queues of the orgs that they service. A leader running on a worker implements a healing and balancing service that maintains worker redundancy, manages the workers' org-affinities to accumulate orgs on their respective org-lists. The leader implements messaging to the workers to update to a new software version and monitors completion of updates.
    Type: Grant
    Filed: July 27, 2016
    Date of Patent: June 19, 2018
    Assignee: salesforce.com, Inc.
    Inventors: Saptarshi Roy, Daniel C. Silver, Donovan Schneider, Medha Pradhan, Ryan Lamore, Naveen Purushothama Rao, Nicholas Geh, Srirama Koneru
  • Patent number: 10001974
    Abstract: A virtual technical building block software development tool and a software development interface that speed accurate and quality software design are provided. The tools develop enterprise software architecture designs, and utilize a library of symbols and a virtual template. The library of symbols includes service oriented architecture symbols and enterprise application integration symbols. The template includes multiple sections to be displayed on a computing device screen. Each section includes a blank space bounded by a frame, and all of the sections are vertically aligned with one another to guide design flow. The sections of the template include, from top to bottom vertically, (1) a technical capabilities section; (2) an interaction sequence section; (3) a service topology section; (4) an integration flow section; and (5) a logging section.
    Type: Grant
    Filed: April 21, 2016
    Date of Patent: June 19, 2018
    Assignee: State Farm Mutual Automobile Insurance Company
    Inventors: Jon H. Hayen, Clint Tarpley, Vivek M. Thatte
  • Patent number: 9998323
    Abstract: A system may include a first point of deployment (POD) and a second POD at a data center, where each of the first POD and the second POD may be configured to support a first version of a platform template. The first POD may a first set of servers based on a first hardware platform and the second POD may include a second set of servers based on a second hardware platform. A configuration manager may be configured to determine a difference between the first hardware platform and the second hardware platform and generate a second version of the platform template based on the difference between the first hardware platform associated and the second hardware platform. In some cases, the second version of the platform template may be installed on the second POD as part of an upgrade process.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: June 12, 2018
    Assignee: Bank of America Corporation
    Inventors: Raminder Chhatwal, Suresh Nair, Tal Sadan, Minesh Shah
  • Patent number: 9983983
    Abstract: A computer implemented method of automatically generating tests for COBOL code units, comprises using at least one hardware processor adapted to designate a COBOL source code comprising a plurality of code lines, extract automatically a plurality of code units each comprising a subset of the code lines for executing one or more functionalities of the COBOL source code, the code units are identified by analyzing the plurality of code lines, generate automatically one or more tests for testing each of the code units by generating an input stimulus for each of the code units, and create one or more mock code segments to simulate interaction of each code unit with one or more external code segment comprising code lines not included in the code unit and testing each code unit using the one or more test(s).
    Type: Grant
    Filed: July 31, 2016
    Date of Patent: May 29, 2018
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Yael Dubinsky, Yishai A Feldman
  • Patent number: 9977786
    Abstract: A system for a distributed repository includes an input interface and a processor. The input interface is to receive a request to change a portion of code. The processor is to determine a change reference and an existing reference, indicate to lock one or more repositories, determine whether swapping references is approved by a vote, and in the event that swapping references is approved by a vote, swap the references and indicate to unlock the one or more repositories.
    Type: Grant
    Filed: December 23, 2015
    Date of Patent: May 22, 2018
    Assignee: GitHub, Inc.
    Inventors: Patrick Reynolds, Michael R. Haggerty, Jeffrey King
  • Patent number: 9952902
    Abstract: An application can be tested to determine whether declared resources for the application are deemed to be required for the application. Instructions can be sent to an operating system to launch the application, to simulate user interactions with the application, and to generate a log of resource requests by the application during launch of the application and during the simulated user interactions with the application. For each of the declared resources, a determination can be made whether a sufficient number of resource requests for the resource is in the log. If there are enough instances of resource requests for the resource in the log, the resource can be included in a list of actual resources for the application.
    Type: Grant
    Filed: April 10, 2013
    Date of Patent: April 24, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Sridhar Chellappa, Jacek Stolcman
  • Patent number: 9952915
    Abstract: Embodiments described herein are directed to methods, and systems for generating event processing language code in a development environment using an event processing compiler. A query in event processing language is received in a development environment. The query can be associated with sample data from input files or an input data source. An event processing compiler compiles the query, where the compiler transforms the query from event processing language code to a development environment script language code. In particular, the event processing language code transforms the code based on event processing attributes that are intricately aligned in syntax and semantic between the event processing language and the development environment script language. The query as a development environment script is executed using sample data.
    Type: Grant
    Filed: March 17, 2015
    Date of Patent: April 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Olivier Nano, Ivo Jose Garcia Dos Santos, Dirk Siemer, Laurent Bussard, Clemens A. Szyperski, Ziv Kasperski
  • Patent number: 9952843
    Abstract: A solution is proposed for implementing staging in computer programs and code specialization at runtime. Even when values are not known at compile time, many of the values used as parameters for a code section or a function are constant, and are known prior to starting the computation of the algorithm. Embodiments of the claimed subject matter propagate these values just before execution in the same way a compiler would if they were compile time constant, resulting in improved control flow and significant simplification in the computation involved.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: April 24, 2018
    Assignee: NVIDIA CORPORATION
    Inventors: Vinod Grover, Thibaut Lutz
  • Patent number: 9904533
    Abstract: Techniques are described for managing a plurality of different versions of a software application for set of software deployments. In one embodiment, a reference for a set of one or more target software deployments is maintained on a computing device. The reference is associated with a plurality of versions of a software application. An updated version of the software application is received for the set of one or more target software deployments. In response, a particular version of the software application is replaced with the updated version of the software application. After replacing the particular version of the software application with the updated version of the software application, the reference is associated with the updated version of the software application and not the particular version of the software application.
    Type: Grant
    Filed: March 17, 2015
    Date of Patent: February 27, 2018
    Assignee: Oracle International Corporation
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Kamaldeep Khanuja, Hariprasanna Srinivasan
  • Patent number: 9904529
    Abstract: A method for compact data marshaller generation includes determining a plurality of data types having a same memory layout from data to be marshalled using a processor, each of the plurality of data types being associated with one or more separate data marshallers. The one or more separate data marshallers are unified to provide a single data marshaller for the plurality of data types for compact data marshaller generation.
    Type: Grant
    Filed: April 11, 2016
    Date of Patent: February 27, 2018
    Assignee: International Business Machines Corporation
    Inventor: Yohei Ueda
  • Patent number: 9892022
    Abstract: An article of manufacture comprises a computer readable medium having stored therein a computer program for a method for debugging of a production application, the computer program comprising a first code segment which, when executed on a computer, accesses a context object associated with an application method of the production application, such that the application method is mapped to an application name and execution of the application method can be replaced by a first pre-defined replacement method; a second code segment which, when executed on the computer, accesses a test module containing one or more overrides and a reference to the application method, where the override is associated with the first pre-defined replacement method and is associated with the application name associated with the context object; a third code segment which, when executed on the computer, accesses a debugging user interface for implementing one or user interactions, each interaction associated with a method mapping on the co
    Type: Grant
    Filed: March 25, 2016
    Date of Patent: February 13, 2018
    Assignee: VMware, Inc.
    Inventor: Dave Shanley
  • Patent number: 9892018
    Abstract: Debugging a graphics application executing on a target device. The graphics application may execute CPU instructions to generate graphics commands to graphics hardware for generation of graphics on a display. A breakpoint for the graphics application may be detected at a first time. In response to detecting the breakpoint, one or more graphics commands which were executed by the graphics hardware proximate to the first time may be displayed. Additionally, source code corresponding to CPU instructions which generated the one or more graphics commands may be displayed.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: February 13, 2018
    Assignee: APPLE INC.
    Inventors: Andrew M. Sowerby, Jean-Francois Roy, Filip Iliescu
  • Patent number: 9880832
    Abstract: Automated systems and methods for assessing the urgency of installing a patch for a component of a software application are described. The systems and methods involve identifying a set of defective programming constructs of the component that are altered by the patch, collecting execution traces of programming constructs of the software application and programming constructs of the component in a context of application use, and evaluating the execution traces to determine whether one or more defective programming constructs of the component are invoked in the context of application use.
    Type: Grant
    Filed: March 6, 2015
    Date of Patent: January 30, 2018
    Assignee: SAP SE
    Inventors: Henrik Plate, Serena Ponta, Antonino Sabetta
  • Patent number: 9870240
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: January 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Patent number: 9864671
    Abstract: Techniques for experimentation on live content in a production environment are disclosed. In one embodiment, a method for live experimentation comprises receiving a first request from a client computing device for an instance of content, sending a second request for an instance of content to a content provider, receiving the instance of content from the content provider in response to the second request, associating a test script with the received instance of content, and sending the instance of content with the associated test script to the client computing device. The client computing device is configured to execute the test script on the instance of content without modifying content executed by the content provider.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: January 9, 2018
    Assignee: A9.COM, INC.
    Inventors: Matthew Amacker, Thomas G. Brinck
  • Patent number: 9858071
    Abstract: In a shared change set server, a receiving section receives information on an undetermined change set and information on users sharing the undetermined change set from a terminal device used by a developer who has developed the change set. Subsequently, a shared change set management section prepares a shared change set containing the undetermined change set and information on users sharing the undetermined change set, and stores the shared change set in a shared change set storage section. A transmitting section thereafter transmits information on the shared change set to a terminal device used by a developer sharing the shared change set.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: January 2, 2018
    Assignee: International Business Machines Corporation
    Inventors: Takehiko Amano, Yoshio Horiuchi, Takaaki Kawase, Ken Kumagai
  • Patent number: 9860287
    Abstract: In a shared change set server, a receiving section receives information on an undetermined change set and information on users sharing the undetermined change set from a terminal device used by a developer who has developed the change set. Subsequently, a shared change set management section prepares a shared change set containing the undetermined change set and information on users sharing the undetermined change set, and stores the shared change set in a shared change set storage section. A transmitting section thereafter transmits information on the shared change set to a terminal device used by a developer sharing the shared change set.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: January 2, 2018
    Assignee: International Business Machines Corporation
    Inventors: Takehiko Amano, Yoshio Horiuchi, Takaaki Kawase, Ken Kumagai
  • Patent number: 9858165
    Abstract: The present invention provides a method and apparatus for designing vision based software applications. In one embodiment, a media file generation module (108) automatically generates a plurality of media objects from input media content by applying different values of a set of parameters to the input media content. The plurality of media content contains information representing distinct real life scenarios and distinct environmental conditions. A performance evaluation module (110) processes each of the plurality of media objects using a vision based software application and evaluates performance of the vision based software application for each of the plurality of media objects based on the processing of the plurality of media objects. An application re-designing module (126) re-designs at least one module of the vision based software application based on the evaluated performance so that the vision based software application performs optimally in distinct real life scenarios and environmental conditions.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: January 2, 2018
    Assignee: KPIT CUMMINS INFOSYSTEMS, LTD.
    Inventor: Vinay G. Vaidya