Patents Examined by Don Wong
  • Patent number: 9235392
    Abstract: A system, method, and computer program product are provided for compiling a computer program comprising arithmetic operations having different requirements with respect to numeric dynamic range, numeric resolution, or any combination thereof. The method comprises generating a transformed graph representation of the computer program by applying propagation rules that provide for relaxed numeric requirements, where applicable, and generating output code based on the transformed graph representation. Relaxing numeric requirements, such as dynamic range and resolution requirements, may advantageously lower power consumption during execution of the computer program.
    Type: Grant
    Filed: January 22, 2014
    Date of Patent: January 12, 2016
    Assignee: NVIDIA Corporation
    Inventor: William J. Dally
  • Patent number: 9235410
    Abstract: Methods and systems for generating a graph model associated with a software release. The methods and systems are configured to receive a software release including a set of software packages. The software release is parsed to identify modeling information including package information, package dependency information, and function dependency information associated with each software package in the set of software packages. A graph model is generated and stored which represents the modeling information, wherein the graph model comprises a package node for each software package in the set of software packages and a function node for each function in the set of software packages.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: January 12, 2016
    Assignee: Red Hat, Inc.
    Inventor: Shakthi Kannan
  • Patent number: 9235388
    Abstract: Systems and methods of providing a visual output of a compilation phase is provided. An example method includes receiving input source code for compilation by a compiler and displaying a multi-dimensional coordinate system including first and second axes. The method also includes providing a first user interface object associated with the first axis and providing a second user interface object associated with the second axis. The first user interface object enables a user to select one or more compilation phases, and the second user interface object enables the user to select one or more compiler versions. The method further includes receiving via the first user interface object a user selection of a compilation phase and obtaining an output of the input source code compiled in accordance with the selected compilation phase. The method further includes displaying the output between two axes of the multi-dimensional coordinate system.
    Type: Grant
    Filed: February 13, 2014
    Date of Patent: January 12, 2016
    Assignee: Red Hat, Inc.
    Inventor: Shakthi Kannan
  • Patent number: 9235493
    Abstract: Systems and methods for peer-based code quality analysis reporting are provided. In accordance with an embodiment, a system can include a peer-based code quality analysis tool, executing on a computer, which is configured to receive one or more source code files, and perform an analysis of the one or more source code files based on a plurality of rules. The peer-based code quality analysis tool can further compare results of the analysis to peer results data to determine a percentile based score, and create an interactive report which includes the results of the analysis and the percentile based score.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: January 12, 2016
    Assignee: Oracle International Corporation
    Inventor: Kelly Goetsch
  • Patent number: 9235396
    Abstract: A data partitioning plan is automatically generated that—given a data-parallel program and a large input dataset, and without having to first run the program on the input dataset—substantially optimizes performance of the distributed execution system that explicitly measures and infers various properties of both data and computation to perform cost estimation and optimization. Estimation may comprise inferring the cost of a candidate data partitioning plan, and optimization may comprise generating an optimal partitioning plan based on the estimated costs of computation and input/output.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: January 12, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Qifa Ke, Vijayan Prabhakaran, Yinglian Xie, Yuan Yu, Jingyue Wu, Junfeng Yang
  • Patent number: 9235408
    Abstract: Updating software on first and second network controller entities (NCEs), without disrupting traffic processing, comprises resetting the second NCE after it receives a proposed software version from the first NCE. The second NCE runs the proposed software version in a standby role. While the second NCE runs the proposed software version in the standby role, databases of the NCEs stay synchronized. Resetting the first NCE induces the second NCE to assume the master role, and the first NCE to assume the standby role. The second NCE in the master role tests the proposed software version for a predetermined period. If validation succeeds, the second NCE instructs the first NCE to reboot and run the proposed software version in the standby role. Otherwise, the second NCE reverts to running the current software version in the standby role; and the first NCE, running the current software version, reverts to the master role.
    Type: Grant
    Filed: November 5, 2013
    Date of Patent: January 12, 2016
    Assignee: Lenovo Enterprise Solutions (Singapore) PTE. LTD.
    Inventors: Bhalachandra G. Banavalikar, Chidambaram Bhagavathiperumal, Keshav Govind Kamble, Dar-Ren Leu, James Maples
  • Patent number: 9235404
    Abstract: A firmware update system is described that collectively handles firmware updates for hardware resources of a computing device. The firmware update system may be configured to handle firmware updates in a consistent manner across different computing platforms/architectures. A data structure is defined to associate each updateable resource with a corresponding identifier to enumerate the updateable resources to the firmware update system. The firmware update system may reference the data structure to produce representations of the each individual resource that provide an operating system level abstraction through which detection, analysis, acquisition, deployment, installation, and tracking of firmware updates is managed. Using the representations, the firmware update system operates to discover available firmware updates collectively for the enumerated resources, match the updates to appropriate resources, and initiate installation of the updates.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James G. Cavalaris, Adam Lenart, James A. Schwartz, Jr., Eric F. Nelson
  • Patent number: 9229717
    Abstract: A method for allocating registers within a processing unit. A compiler assigns a plurality of instructions to a plurality of processing clusters. Each instruction is configured to access a first virtual register within a live range. The compiler determines which processing cluster in the plurality of processing clusters is an owner cluster for the first virtual register within the live range. The compiler configures a first instruction included in the plurality of instructions to access a first global virtual register.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: January 5, 2016
    Assignee: NVIDIA Corporation
    Inventors: Mojtaba Mehrara, Gregory Diamos
  • Patent number: 9229705
    Abstract: A software update manager running on an information handling system over a type 1 hypervisor operating system retrieves a virtual firmware update through a primary network interface. The virtual firmware update executes over the hypervisor to initiate a download of a firmware update to a management processor of the information handling system through a management network interface. The firmware update executes to update the firmware of the information handling system with an update process managed by an end user through the primary network interface and the software update manager.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: January 5, 2016
    Assignee: DELL PRODUCTS L.P.
    Inventors: Eric Kuzmack, Raajeev Kalyanaraman, Xianghong Qian
  • Patent number: 9229694
    Abstract: Systems, apparatus, methods, and articles of manufacture provide for determining at least one criterion for establishing an offer campaign based on a player's experience on gaming platform (e.g., via a gaming website) and/or determining whether a player qualifies for one or more offers based on the player's experience.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: January 5, 2016
    Assignee: Gamesys Ltd.
    Inventors: Tobias Patrick O'Rourke, Rik Ward
  • Patent number: 9225765
    Abstract: A computer implemented method, apparatus, and computer program product for transferring information with an aircraft. A connection is established between an onboard electronic distribution system executing in an aircraft data processing system in the aircraft and an on ground component. Responsive to a request for a command from the on ground component, the command for execution is identified. The identified command is sent to the onboard electronic distribution system from an on ground component. A transaction identifier is assigned to the command. A transaction associated with the command is maintained on the onboard electronic distribution system and the on ground component using the transaction identifier. An uplink is initiated by the on ground component. An aircraft software part is sent to the onboard electronic distribution system from the on ground component to perform the uplink. A status of a transfer of the aircraft software part on ground component is stored.
    Type: Grant
    Filed: May 13, 2013
    Date of Patent: December 29, 2015
    Assignee: THE BOEING COMPANY
    Inventors: Greg A. Kimberly, Ludwin Fuchs, Todd William Gould, Fred J. McLain, Christopher J. Morgan
  • Patent number: 9223685
    Abstract: System and method for validating a specification associated with a software application and/or a hardware is disclosed. The specification comprising expected behavior requirements specified in a specification language and the semantics in the tabular notation is received. In order to validate the specification, a string may be identified for the specification. The string may indicate characters conforming to the specification language. Upon identifying the string, a token may be generated using the string. The token may be a binary representation of the string. The token may be arranged into a data structure. The specification is checked to conform to the specification language. Two or more specifications specified in the specification language are merged. A test case is generated from the validated specification. The expected behavior with the actual behavior of the specification is validated.
    Type: Grant
    Filed: July 29, 2014
    Date of Patent: December 29, 2015
    Assignee: Tata Consultancy Services Limited
    Inventors: Goldsmith Murali Krishna, Ulka Aniruddha Shrotri, Venkatesh R
  • Patent number: 9223568
    Abstract: Various embodiments create a cross-configuration software module for cross-configuring software entities. In one embodiment, a first set of requirements and at least a second set of requirements are obtained. Each of the first and second set of requirements identify at least one of a set of software entities and a set of hardware components required to be present on at least one system including software entities to be cross-configured. At least one set of operations is obtained. The set of operations includes at least one executable instruction that configures a first software entity with a second software entity. A first configuration definition is generated including at least the first set of requirements and the at least one set of operations. A second configuration definition is generated including at least the second set of requirements. The first and second configuration definitions are stored within a cross-configuration software module.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: December 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Daniel C. Berg, Tamar Eilam, Michael H. Kalantar, Alexander Kofman, Fabio A. Oliveira, Florian Rosenberg, Gilad M. Saadoun
  • Patent number: 9223599
    Abstract: A method of executing a cross-platform application on a system is disclosed. An instruction pertaining to an execution of the cross-platform application on the system is received. Based on a determination that the instruction pertains to a rendering of an element of a user interface of the cross-platform application on the system, the instruction is sent across a bridge to an engine executing in the native layer to process the instruction at the native layer. Alternatively, based on a determination that the instruction does not pertain to a rendering of the element of the user interface of the cross-platform application on the system, the instruction is sent to an engine executing in the cross-platform layer of the system to process the instruction at the cross-platform layer.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: December 29, 2015
    Assignee: Zynga Inc.
    Inventors: Dan Racanelli, Ian Dunn, Robert Aaron Jones
  • Patent number: 9218169
    Abstract: Techniques and systems for creating a function call graph for a codebase are disclosed. Graph creation includes identifying functions in the codebase by a function signature and representing a function as a first node in the call graph. For that function, identifying call-to functions, call-from functions, and inheritance parents and children, and a base class from the function signature of that function; adding child nodes to the first node based on the identified call-to and call-from functions; for an interface call to a base class method in the function, adding child nodes to the first node based on implementations of an override of the base class method; for an added child node, removing that child node from the first node if a source file that includes an implementation of an override and a source code file that includes the function don't share at least one common binary file.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: December 22, 2015
    Assignee: GOOGLE INC.
    Inventors: Ramakrishna Rajanna, Deepank Gupta, Arul Siva Murugan Velayutham, Abhishek Sheopory, Ankit Agarwal
  • Patent number: 9218191
    Abstract: An adjustment apparatus includes a storage device, an execution target program, an execution unit, a first API, a second API, a profiler, and a dynamic compiler. The execution unit interprets the program, and calls and executes a function of an API in response to the API description. The first and second API are callable by the execution unit, to respectively allocate an array of a predetermined size, and extend the array. The first and second APIs are converted into code to store an array allocation call context of the pre-extension array into a profile information storage area of the allocated array. The profiler profiles access to arrays. The dynamic compiler inline-expands an array allocation call context included in a code part to be dynamically compiled and embeds an array size determined based on context based access information, as an allocation initial size of the array, into the code part.
    Type: Grant
    Filed: November 29, 2012
    Date of Patent: December 22, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Rei Odaira
  • Patent number: 9218164
    Abstract: The present invention is a system to develop mobile applications from a mobile device that includes a database with a memory, a hosting space, an app-creation application with a plurality of options stored on a mobile application repository on said memory over a communications network or within the mobile device. A client device downloads and installs the app-creation application from the mobile applications repository over a communications network to create said mobile applications. There are four methods for mobile application development created by the mobile device that utilize this system.
    Type: Grant
    Filed: March 27, 2014
    Date of Patent: December 22, 2015
    Inventor: Norman Ortiz
  • Patent number: 9218274
    Abstract: Systems and techniques are provided that allow for comparison of an automatically-generated form to an original form to identify discrepancies efficiently. Portions of the form, such as those expected to contain dynamic data, may be masked, allowing for more efficient and accurate comparison with a predicted form and an actual output form. Further, testing of the form may be automated, allowing for more accurate and efficient generation of each form considered.
    Type: Grant
    Filed: January 22, 2014
    Date of Patent: December 22, 2015
    Assignee: Neopost Technologies
    Inventor: Jie Zhang
  • Patent number: 9213529
    Abstract: Methods, systems, and products are disclosed for optimizing just-in-time (‘JIT’) compiling for a Java application executing on a compute node, the compute node having installed upon it a Java Virtual Machine (‘JVM’) capable of supporting the Java application, that include: identifying, by an application manager, a particular portion of the Java application; assigning, by the application manager, a JIT level to the particular portion of the Java application; and jitting, by the JVM installed on the compute node, the particular portion of the Java application in dependence upon the JIT level assigned to that particular portion of the Java application.
    Type: Grant
    Filed: November 27, 2012
    Date of Patent: December 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Eric L. Barsness, David L. Darrington, Amanda E. Randles, John M. Santosuosso
  • Patent number: 9213532
    Abstract: In general, in one aspect, embodiments of the invention relate to a method for generating executable binary. The method includes analyzing a test executable binary generated from source code, wherein the source code comprises a plurality of functions, generating, based on analyzing the test executable binary, a code call tree comprising a plurality of call durations for the plurality of functions, and determining, using the code call tree, a function order of the plurality of functions. The method further includes generating, using the function order, a call tree order map, generating a call tree ordered executable binary using the source code and the call tree order map, and executing the call tree ordered executable binary on a processor.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: December 15, 2015
    Assignee: Oracle International Corporation
    Inventor: Karsten Guthridge