Patents Examined by Todd Aguilera
  • Patent number: 9195443
    Abstract: A compiler may optimize source code and any referenced libraries to execute on a plurality of different processor architecture implementations. For example, if a compute node has three different types of processors with three different architecture implementations, the compiler may compile the source code and generate three versions of object code where each version is optimized for one of the three different processor types. After compiling the source code, the resultant executable code may contain the necessary information for selecting between the three versions. For example, when a program loader assigns the executable code to the processor, the system determines the processor's type and ensures only the optimized version that corresponds to that type is executed. Thus, the operating system is free to assign the executable code to any of the different types of processors.
    Type: Grant
    Filed: January 18, 2012
    Date of Patent: November 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jamie R. Kuesel, Mark G. Kupferschmidt, Paul E. Schardt, Robert A. Shearer
  • Patent number: 9195441
    Abstract: Techniques provided herein facilitate just-in-time compilation of source code, such as a script, during execution. According to some embodiments, a tracelet is limited to a single basic block of code. The data types of variable values provided by one or more variables used in the single basic block of code are known by generalized categories, rather than only being known by specific data types. Accordingly, guard code associated with each tracelet, which ensures that variable values received by the tracelet though the variables are of the data types expected by the tracelet's associated code body, can use generalized data types. The tracelet can contain code body that can handle input values that meet those generalized data types. A generalized data type can be defined according to one or more common characteristics shared by two or more specific data types.
    Type: Grant
    Filed: July 30, 2013
    Date of Patent: November 24, 2015
    Assignee: Facebook, Inc.
    Inventors: Ali-Reza Adl-Tabatabai, Guilherme de Lima Ottoni
  • Patent number: 9189317
    Abstract: A method comprising detecting an problem with a software product, capturing debugging information corresponding to the detected problem, searching for the detected problem in a repository of a set of known issues corresponding to the software product to identify a root cause of the detected problem. If the detected problem is a known issue in the set of known issues corresponding to the software product, automatically applying a corresponding solution to the detected problem. If the detected problem is not a known issue in the set of known issues corresponding to the software product, analyzing the user input describing an occurrence of the problem with the software product, as well as the captured debugging information. Based on the analysis, the repository of the set of known issues is updated to include the detected problem as a new known issue and a corresponding solution to the detected problem.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: November 17, 2015
    Assignee: Extreme Networks, Inc.
    Inventor: Venkadesan Marimuthu
  • Patent number: 9189357
    Abstract: Embodiments relate to systems and methods for generating a machine state verification using a number of installed package objects. A physical or virtual client machine can host a set of installed software packages, including operating system, application, and/or other software. A package manager installed on the client machine can track the installed package complement, and updates available for those packages. To verify that a target of a package update is prepared and in the correct state to receive the update, the package manager inventory the set of package objects installed on the client machine. The resulting sum can be reported to a remote management platform, such as a package server. The counted package objects can be the packages themselves, and/or their set of component files. Machines having a package sum that does not match an expected target number can have a package re-installation performed, and/or other diagnostics carried out.
    Type: Grant
    Filed: May 25, 2010
    Date of Patent: November 17, 2015
    Assignee: Red Hat, Inc.
    Inventors: Seth Kelby Vidal, James Antill
  • Patent number: 9189366
    Abstract: A system and method for constructing a user callstack trace in a computer to monitor a user defined Function of a user program in relation to one or more predetermined events is provided. The system and method provides generating a user callstack trace for display to the user from data in memory in relation to a predetermined event of interest to the user. The user callstack trace communicates information corresponding to the execution of the Function for the predetermined event independent of the plurality of outlined functions. The plurality of outlined functions are artificially generated in response to compiling the user program having the Function.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: November 17, 2015
    Assignee: Oracle America Inc.
    Inventors: Yuan Lin, Oleg V. Mazurov
  • Patent number: 9122550
    Abstract: A method for installing an application program is disclosed. The method includes detecting a system platform, and detecting preprocessing software required by the application program according to the system platform and a compilation script and accordingly generating a relationship file and a log file, wherein the log file includes an acquisition method for the preprocessing software.
    Type: Grant
    Filed: March 29, 2011
    Date of Patent: September 1, 2015
    Assignee: Wistron Corporation
    Inventor: Ting-Chih Hsiao
  • Patent number: 9104430
    Abstract: One embodiment of the present invention provides a method and apparatus for enabling extensibility in sensing systems. The distributed sensing system comprises a number of sensor nodes, a device database, a sensing module registry, a sensing needs monitor, and an automatic composer. The device database is in communication with at least one sensor node and configured to maintain physical information on at least one sensor node. The sensing module registry is configured to maintain a registry of a number of software modules that are available for extracting information from sensor data. The sensing needs monitor is configured to maintain a list of context pairs that represent a number of sensing needs of a sensing application. The automatic composer is configured to generate a composition of software modules, at runtime, to realize the sensing needs of users and applications.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: August 11, 2015
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventors: Maurice K. Chu, Juan Liu
  • Patent number: 9081640
    Abstract: An update apparatus used in a system that provides service using software and performing update of the software, including a processing apparatus configured to calculate a difference between a possible down time of the service according to a service level and a down time of the service indicated by operation performance stored in storage unit, and when there are a plurality of pieces of software as update targets, to calculate an update order of the plurality of pieces of update target software according to a degree of influence to the difference by service down when update of software fails, and to perform update of the plurality of pieces of update target software according to the update order.
    Type: Grant
    Filed: December 19, 2011
    Date of Patent: July 14, 2015
    Assignee: FUJITSU LIMITED
    Inventors: Shinji Kikuchi, Yasuhide Matsumoto, Yuji Wada, Atsuji Sekiguchi
  • Patent number: 9058233
    Abstract: A service manager component associated with a set of hosts receives an update to be implemented on the set of hosts. The service manager component can then determine a penalty model that approximates the likely impact associated with an error in the update. Based on the penalty model, the service manager component selects a first subset of hosts to receive and implement the update and an observation window to determine whether an error has emerged or has been detected. If no errors are detected during the observation window, the service manager component can select additional subsets and observations windows and repeat the process or, alternatively, implement the update in the remaining set of hosts and monitor the system until it receives the next update.
    Type: Grant
    Filed: March 30, 2011
    Date of Patent: June 16, 2015
    Assignee: Amazon Technologies, Inc.
    Inventor: Fancong Zeng
  • Patent number: 9047100
    Abstract: The transformation of an abstract syntax tree of a dynamic language program at evaluation time in a manner that is helpful for evaluating the program. For instance, the abstract syntax tree may be altered such that metadata is attached to variables generated during execution. The tree might also be altered to force code to execute faster or more likely than would occur otherwise. This might occur so that the dynamic language program might be executed at authoring time up to a halt point that represents a point of interest to the author. Without transformation of the abstract syntax tree, the execution might have not proceeded to the halt point or might have taken a long time. Once at the halt point, the program state at the halt point may be evaluated, allowing the program to perform functions such as generating an available symbol set at the halt point.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: June 2, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles P. Jazdzewski, Michael C. Fanning
  • Patent number: 9047407
    Abstract: The execution of a dynamic code segment sequence that includes at least two code segments in sequence. The first code segment is first executed and the corresponding state of the environment is captured. The second code segment is then executed. When the second code segment is later re-executed, the first code segment is not re-executed again. Rather, the environmental state is set to be the captured state that existed when the first code segment originally executed. Then, the second code segment may be executed without spending the resources required to re-run the first code segment. This may be employed at authoring time, or after deployment time.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: June 2, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles P. Jazdzewski, Michael C. Fanning
  • Patent number: 9032378
    Abstract: The facilitated computation of an available symbol set at code locations in a dynamic language program, in which the program is executed up to a particular halt point for which an available symbol set is to be generated. At the halt point, a type of a value of a particular variable may be used in order to generate the available symbol set. However, at the halt point, the variable does not yet have a value of a useful type (e.g., null or undefined), which is possible in a dynamic language program. Rather than return an error, the principles described herein result in return of an available symbol set anyway. Specifically, the variable had previously been annotated with information representing accessed type information for the variable, even though the variable has not formally been defined. This annotated information may be used to generate the available symbol set.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: May 12, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles P. Jazdzewski, Michael C. Fanning
  • Patent number: 9032419
    Abstract: A component instance manager of a database system generates an instance of the application function. The component instance manager then generates an executor for the application function, and requests an instance of a component class of the application function from a package manager of the database system. A void pointer associated with the instance of the component class and a wrapper function address associated with the application function are accessed by the component instance manager, where the void pointer and wrapper function address comprise runtime parameters of the application function. The application function is thereafter executed by the executor according to the runtime parameters.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: May 12, 2015
    Assignee: SAP SE
    Inventor: Peter Goertz
  • Patent number: 9015687
    Abstract: Systems and methods of allocating physical registers to variables may involve identifying a partial definition of a variable in an inter-procedural control flow graph. A determination can be made as to whether to terminate a live range of the variable based at least in part on the partial definition. Additionally, a physical register may be allocated to the variable based at least in part on the live range.
    Type: Grant
    Filed: March 30, 2011
    Date of Patent: April 21, 2015
    Assignee: Intel Corporation
    Inventors: Biju George, Guei-Yuan Lueh
  • Patent number: 8966465
    Abstract: Embodiments of the present invention provide techniques for customizing aspects of a metadata-driven software application. In particular, embodiments of the present invention provide (1) a self-contained metadata engine for generating customized metadata documents from base metadata documents and customizations; (2) a customization syntax for defining customizations; (3) a customization creation/update component for creating and updating customizations; (4) a customization restriction mechanism for restricting the creation of new customizations by specific users or groups of users; and (5) memory and caching optimizations for optimizing the storage and lookup of customized metadata documents.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: February 24, 2015
    Assignee: Oracle International Corporation
    Inventor: Gangadhar Konduri
  • Patent number: 8959490
    Abstract: Embodiments of the present invention provide a computing system and method to profile a program for finding potential optimization in heap usage by reducing lag and drag in lifetimes of heap memory blocks. The process consists of three steps. First, an instrumentation engine analyzes a given program and inserts additional code at interesting locations to collect needed information. Second, when the instrumented program is executed on a set of test cases, runtime data is collected. Third, since this data is large for a complex and long running program, data is processed to present it to a user in useful ways so that a programmer improves the heap utilization in the program.
    Type: Grant
    Filed: May 2, 2012
    Date of Patent: February 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Satish Chandra Gupta, Kumar Rangarajan
  • Patent number: 8943486
    Abstract: A resource-constrained device comprises a processor configured to execute multiple instruction streams comprising multiple instructions having an opcode and zero or more operands. Each of the multiple instruction streams is associated with one of multiple instruction execution modes having an instruction set comprising multiple instruction implementations. At least one of the multiple instruction implementations is configured to change the processor from a first instruction execution mode to a second instruction execution mode. The processor comprises an instruction fetcher configured to fetch an instruction from one of the multiple instruction streams based at least in part upon a current instruction execution mode.
    Type: Grant
    Filed: March 7, 2011
    Date of Patent: January 27, 2015
    Assignee: Oracle America, Inc.
    Inventors: Eduard K. de Jong, Jurjen N. E. Bos
  • Patent number: 8930935
    Abstract: A network device may include a memory to store instructions. The network device may further include a processor to execute the instructions to obtain information relating to a loosely-coupled composite service, where the loosely-coupled composite service includes a group of services. The processor may further execute the instructions to analyze the obtained information to determine one or more design recommendations, and re-factor the loosely-coupled composite service as a target composite platform based on at least one of the one or more design recommendations.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: January 6, 2015
    Assignee: Verizon Patent and Licensing Inc.
    Inventors: Paul T. Schultz, Timothy M. Dwight, Mark J. Hahn, Martin W. McKee, Robert A. Sartini
  • Patent number: 8910121
    Abstract: An installation comprises at least one sensor for providing sensor data representing a real system state of the installation and at least one actuator for acting on the real system state. A controller for controlling the installation comprises a data memory for storing the sensor data and a program memory for storing a machine code program. A programming tool for programming the controller includes a program editor, a debugging tool and a compiler. A machine code program is executed on the controller while the debugging tool is activated, and the debugging tool determines a reverse relationship between the machine code running on the controller and at least one high level control instruction shown in the program editor, thereby linking at least one high level control instruction to a real system state during the execution of the machine code program.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: December 9, 2014
    Assignee: Pilz GmbH & Co. KG
    Inventors: Matteo Cantarelli, Matthias Reusch, Herbert Walter, Florian Stanko, Timo Nawratil
  • Patent number: 8904376
    Abstract: A method for providing a virtualization system includes receiving a plurality of virtualization system requirements from a customer that include a plurality of information handling systems (IHSs), at least one storage, and a plurality of configuration details. A primary IHS and a secondary IHS are designated, and configuration data, an application interface, and a primary IHS operating system are provided on the primary IHS. Following physical connection of the plurality of IHSs and in response to activation of the primary IHS, a primary IHS first boot process initiates the application interface that then automatically activates the secondary IHS and uses the configuration data to automatically configure the at least one storage. In response to activation of the secondary IHS, a secondary IHS operating system on the secondary IHS initiates a secondary IHS first boot process that automatically configures virtualization software installed on the secondary IHS.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: December 2, 2014
    Assignee: Dell Products L.P.
    Inventor: Ravikanth Chaganti