Compiling Code Patents (Class 717/140)
  • Patent number: 10140678
    Abstract: Techniques to improve graphics processing unit (GPU) performance by introducing specialized code paths to process frequent common values are described. A shader compiler can determine instruction that, during operation, may output a common value and can introduce an enhanced shader instruction branch to process the common value to reduce overall computational requirements to execute the shader.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: November 27, 2018
    Assignee: INTEL CORPORATION
    Inventors: Saurabh Sharma, Abhishek Ventakesh, Travis T. Schluessler, Thomas F. Raoux, Rahul P. Sathe, Jon Hasselgren
  • Patent number: 10140436
    Abstract: Intermediate representation (IR) code of source code can be generated for compiling the source code into machine code for an executable program. The IR code can be obfuscated by reorganizing the code based on return types of functions of the IR code to change the execution paths, resulting in an executable program that is difficult to reverse engineer.
    Type: Grant
    Filed: July 14, 2017
    Date of Patent: November 27, 2018
    Assignee: Flexera Software LLC
    Inventor: Ashish Ratnakar Mahamuni
  • Patent number: 10116461
    Abstract: Control infrastructure. In an embodiment, the infrastructure comprises a script execution module that comprises a compiler that compiles scripts, having instructions that reference device properties, into virtual-machine programs, a virtual machine that executes virtual-machine programs, and a script manager that stores scripts, retrieves scripts, and loads scripts into the compiler. In addition, the infrastructure may comprise gateway(s), communicatively connected to physical device(s). The gateway(s) may each comprise processor(s), driver(s) that each communicate with at least one physical device using a communication protocol to read and/or write device properties of the physical device, and a device manager that maps device properties referenced in the virtual-machine programs to device properties used by the driver(s).
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: October 30, 2018
    Assignee: SYSTECH CORPORATION
    Inventors: John Fairweather, Gabriel Jacobo, Robert Lutz, Jason Peressini, Jeff Rucker, La Vaughn F. Watts, Jr., Roger Wellington-Oguri, Anderson Wiese, Gretchen Wieshuber
  • Patent number: 10067807
    Abstract: A native function bound to JavaScript is registered in API information 303, and by controlling to enable usage or disable usage of the native function in accordance with a display state of an application that uses WebView 302, it becomes possible to guarantee security of each application more simply.
    Type: Grant
    Filed: November 2, 2016
    Date of Patent: September 4, 2018
    Assignee: Canon Kabushiki Kaisha
    Inventor: Daisuke Ito
  • Patent number: 10067757
    Abstract: In some examples, method includes, in response to receiving an initial user input that causes a builder computing system to compile a set of source code for an application into a set of compiled targets, deploying the set of compiled targets to initiate execution of the application, wherein a subset of the set of source code is compiled into an initial subset of the set of compiled targets; after modification to at least the subset of the set of source code, receiving a subsequent user input that causes the builder computing system to compile at least the subset of the set of source code into an updated subset of the set of compiled targets; and in response to determining that the updated subset differs from the initial subset, deploying the updated subset to update the application based on the updated subset without terminating execution of the application.
    Type: Grant
    Filed: September 26, 2016
    Date of Patent: September 4, 2018
    Assignee: Google LLC
    Inventors: Arnaud Claude Weber, Sivakumar Velusamy, Stephanie Saad Cuthbertson, Christopher Matthew Warrington, Jerome Dochez, Torbjorn Norbye, Esteban de la Canal, Jomo Fisher, Xavier Ducrohet
  • Patent number: 10061567
    Abstract: Embodiments are directed towards generating applications that include multi-sized types running in managed code. During the compilation of an intermediate language version of an application, if a multi-size type is encountered, a runtime engine may perform actions to process the multi-size types. Accordingly, architecture information associated with the target computer may be determined. Data types corresponding to the architecture of the target computer and the multi-sized types may be determined based on the architecture information. Native code calls associated with an intermediate language code calls may be determined such that the parameters of the native code calls match the architecture dependent data types. And, a machine code version of the intermediate language code call may be generated. The generated machine code version of the intermediate language code may be executed with the data types specific to the target computer.
    Type: Grant
    Filed: October 4, 2016
    Date of Patent: August 28, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Miguel de Icaza, Rodrigo Kumpera, Sebastien Pouliot, Rolf Bjarne Kvinge, Aaron Dean Bockover, Zoltan Varga
  • Patent number: 10044630
    Abstract: Certain example embodiments relate to techniques for debugging and/or introspecting an integration deployed in a distributed computing environment. The integration includes operations performable responsive to receipt of instructions from an orchestrating system by public interfaces of computing systems in the distributed computing environment. The orchestrating system is remote from the computing systems. An inverse operation for at least some of the performable operations in the integration is identified. The inverse operations also are performable responsive to receipt of instructions from the orchestrating system by the public interfaces of the computing systems of the distributed computing environment. Each inverse operation reveals, upon its performance, an effect of one or more associated performable operations.
    Type: Grant
    Filed: December 15, 2015
    Date of Patent: August 7, 2018
    Assignee: SOFTWARE AG
    Inventors: Peter Kriegesmann, Bhaskar Reddy Byreddy
  • Patent number: 10037260
    Abstract: A system for expression evaluation at debug time includes a debugger which receives an executable program with debugging information from a compiler, where the executable program with the debugging information is generated by compiling a source code program and generating debugging information corresponding to the executable program. The compiler embeds at least a first abstract syntax tree of a first expression of the source code program in the debugging information. The debugger receives a first debugging command from a debugger client to evaluate a selected portion of the first expression. The debugger determines one or more nodes of the abstract syntax tree that correspond to the selected portion of the first expression. The debugger then steps through and evaluates the one or more nodes of the abstract syntax tree and returns one or more values generated by the evaluation.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: July 31, 2018
    Assignee: Red Hat, Inc.
    Inventor: Sami Wagiaalla
  • Patent number: 10025643
    Abstract: A system and method for compiling source code (e.g., with a compiler). The method includes accessing a portion of device source code and determining whether the portion of the device source code comprises a piece of work to be launched on a device from the device. The method further includes determining a plurality of application programming interface (API) calls based on the piece of work to be launched on the device and generating compiled code based on the plurality of API calls. The compiled code comprises a first portion operable to execute on a central processing unit (CPU) and a second portion operable to execute on the device (e.g., GPU).
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: July 17, 2018
    Assignee: Nvidia Corporation
    Inventors: Vinod Grover, Jaydeep Marathe, Sean Lee
  • Patent number: 9992280
    Abstract: Aspects of the disclosure relate to managing migration of an application. The managing migration of an application includes establishing a source dataset. The source dataset includes a set of source features. The source features relate to a source. The source includes the application. A determination of a first set of migration plans is made. The determination is made with an evaluation. The evaluation is made using the source dataset and a set of legacy features. The evaluation is performed with a cost measure. The application is migrated from the source to the target. The migration is based on the determined first set of migration plans.
    Type: Grant
    Filed: May 5, 2017
    Date of Patent: June 5, 2018
    Assignee: International Business Machines Corporation
    Inventors: Kun Bai, Jinho Hwang, Brian Peterson, Maja Vukovic
  • Patent number: 9984037
    Abstract: A novel scheduler design is provided that schedules a set of operations to an array of similar or dissimilar, candidate operations on a cycle by cycle basis, out of a total number of operations. The array of similar or dissimilar units can be atomic in nature or ALU like or complete processors. The scheduler is able to map the operations in a data flow/sequencing graph to the two dimensional or 3 dimensional array (which can be extended to a multi-dimensional array) optimally so as to minimize the total execution times. The mapping is path based computation, where a particular sequence of instructions is routed through the underlying matrix in path that minimized the number of memory hops.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: May 29, 2018
    Inventor: Gautam Kavipurapu
  • Patent number: 9986002
    Abstract: Embodiments of the present disclosure include a method, a system, and a computer program product for fusing a stream operator into more than one processing element within a streaming application. The method includes receiving an instruction to concurrently fuse, into a second processing element, a stream operator of interest that is fused into a first processing element. The method includes determining whether the stream operator of interest is stateful. The method includes compiling, in response to determining the stream operator of interest is stateful, a clone of the stream operator of interest into the second processing element so that the clone is synchronized with the stream operator of interest.
    Type: Grant
    Filed: March 22, 2017
    Date of Patent: May 29, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, John M. Santosuosso
  • Patent number: 9971897
    Abstract: Source code of a plurality of web pages including script code is statically analyzed. A page including a potential vulnerability is identified based on the static analysis. A page not including a potential vulnerability is identified based on the static analysis. The web page including the potential vulnerability is dynamically analyzed using a set of test payloads. The page not including the potential vulnerability is dynamically analyzed using a subset of the set of test payloads, the subset including fewer test payloads than the set of test payloads.
    Type: Grant
    Filed: March 27, 2012
    Date of Patent: May 15, 2018
    Assignee: International Business Machines Corporation
    Inventors: Yair Amit, Lotem Guy, Daniel Kalman, Ori Segal, Omri Weisman
  • Patent number: 9971810
    Abstract: Embodiments of the present disclosure include a method, a system, and a computer program product for fusing a stream operator into more than one processing element within a streaming application. The method includes receiving an instruction to concurrently fuse, into a second processing element, a stream operator of interest that is fused into a first processing element. The method includes determining whether the stream operator of interest is stateful. The method includes compiling, in response to determining the stream operator of interest is stateful, a clone of the stream operator of interest into the second processing element so that the clone is synchronized with the stream operator of interest.
    Type: Grant
    Filed: February 8, 2017
    Date of Patent: May 15, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, John M. Santosuosso
  • Patent number: 9971896
    Abstract: Source code of a plurality of web pages including script code is statically analyzed. A page including a potential vulnerability is identified based on the static analysis. A page not including a potential vulnerability is identified based on the static analysis. The web page including the potential vulnerability is dynamically analyzed using a set of test payloads. The page not including the potential vulnerability is dynamically analyzed using a subset of the set of test payloads, the subset including fewer test payloads than the set of test payloads.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: May 15, 2018
    Assignee: International Business Machines Corporation
    Inventors: Yair Amit, Lotem Guy, Daniel Kalman, Ori Segal, Omri Weisman
  • Patent number: 9967326
    Abstract: A cloud application management infrastructure models biological swarm behaviors to assign application resources to physical processing resources in a decentralized manner. A balanced and highly automated management of cloud infrastructure has a predictable and reliable response to changing resource loads by using a limited local rule set to define how application instances interact with available resources. Digital pheromone signals at physical resources are applied locally by a swarm module to determine if the physical resources provide an acceptable environment for an application and, if not, the application swarms to other environments until a suitable environment is found.
    Type: Grant
    Filed: November 13, 2015
    Date of Patent: May 8, 2018
    Assignee: Dell Products L.P.
    Inventors: Robert Ari Hirschfeld, Gregory Scott Althaus
  • Patent number: 9965257
    Abstract: A project system is automatically configured from project capabilities determined from an instance of a build system by a project capabilities analyzer. A flexible configuration based build system defines the consuming project system. Results of an evaluated project file are used to define the overall capabilities of the build system. The capabilities are used to dynamically load and assemble the project system code. Changes in the project capabilities due to a reevaluation of a result of a build can then redefine and reassemble the project system code. Hence project system configuration is data-driven rather than user-defined and utilizes a flexible, configuration based build system to define the consuming project system.
    Type: Grant
    Filed: August 20, 2015
    Date of Patent: May 8, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Brian Mead Tyler, Kieran Paul Mockford
  • Patent number: 9965203
    Abstract: A distributed storage system that dispatches an input/output request is described. In an exemplary embodiment, a storage controller client receives the input/output request, wherein the distributed storage system includes the storage controller client, a plurality of storage controller servers, a plurality of virtual nodes distributed among a plurality of physical nodes, and each of the plurality of physical nodes is hosted on one of the plurality of storage controller servers. The storage controller client further computes a target virtual node for the input/output request, where the target virtual node is one of the plurality of virtual nodes. Using the computed target virtual node, the storage controller client determines a target physical node that corresponds to the target virtual node, where the target physical node is one of the plurality of physical nodes.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: May 8, 2018
    Inventors: Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Sazzala Reddy, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar, Jeffrey A. Zabarsky
  • Patent number: 9946525
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for extracting source code. One of the methods includes receiving, by a newly created process, a request to execute code of an executable file in the newly created process, wherein the request specifies a parameter. The newly created process loads a process interception library. Library initialization code of the process interception library determines whether the parameter should be intercepted. In response to determining that the parameter should be intercepted, the parameter is provided to another process.
    Type: Grant
    Filed: March 24, 2017
    Date of Patent: April 17, 2018
    Assignee: Semmle Limited
    Inventors: Julian Tibble, Pavel Avgustinov, Peter Cawley
  • Patent number: 9940215
    Abstract: An automatic correlation accelerator tool may access at least a first recording and a second recording of a base script that defines operations executed in testing performance of a system. The tool may cause the system to execute the first recording of the base script and the second recording of the base script and store, in electronic storage, dynamic value data that describes dynamic values generated during execution of the first recording of the base script and during execution of the second recording of the base script. The tool automatically, without human intervention, analyzes the stored dynamic value data to identify candidates for correlation within the base script and generates a correlated script based on the identified candidates for correlation and the base script.
    Type: Grant
    Filed: March 24, 2016
    Date of Patent: April 10, 2018
    Assignee: Accenture Global Services Limited
    Inventors: Jothi Gouthaman, Nantha Kumar, Vinod Kumar Palla, Jeyaraj Harimurali, Radhika Golden
  • Patent number: 9935860
    Abstract: An activity stream based interaction model is disclosed. To cause a desired application level action to be performed at a remote system, such as automatically retrieving and displaying a document in a viewer or other portion of a user interface at the remote system, a text-based tag, such as a hash tag, is inserted into an activity stream. The activity stream is sent to the remote system, which is configured to respond to the text-based tag by performing, at least in part automatically, the corresponding application level action.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: April 3, 2018
    Assignee: Open Text Corporation
    Inventors: Jeroen Mattijs van Rotterdam, Gary Frankel
  • Patent number: 9921977
    Abstract: A method for privilege based memory pinning is provided. The method includes receiving a request to pin an amount of address space memory from a process executing on an operating system. The operating system includes a configurable mode of operation. In mandatory mode, the operating system executes the request to pin address space memory based on the role hierarchy-based privilege level of the requestor process. When the requested amount is greater than the operating system's amount of memory that can be used to pin memory, the operating system fails the request. However, when the operating can satisfy the request from processes having a lower privilege level relative to the requestor process, memory is unpinned from one or more of these processes.
    Type: Grant
    Filed: March 11, 2015
    Date of Patent: March 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Sreenivas Makineedi, Srinivasa Raghavan M. Parthasarathi
  • Patent number: 9921859
    Abstract: A system is provided for monitoring, regenerating and replacing the code of running applications with semantically equivalent, specialized code versions that reflect the demands of the execution environment. The system includes a co-designed compiler and runtime system that virtualizes a selected set of edges in a host program, where these edges provide hooks through which the runtime system may redirect execution into an intermediate representation utilized to optimize introspective and extrospective processes.
    Type: Grant
    Filed: December 11, 2015
    Date of Patent: March 20, 2018
    Assignee: THE REGENTS OF THE UNIVERSITY OF MICHIGAN
    Inventors: Jason Mars, Michael Laurenzano, Lingjia Tang
  • Patent number: 9917900
    Abstract: Systems, methods, and computer program products to perform an operation comprising providing a plurality of processing elements comprising one or more operators, the operators configured to process streaming data tuples, establishing an operator graph of a plurality of operators, the operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to: (i) receive data tuples from at least one upstream operator and (ii) transmit data tuples to at least one downstream operator, wherein the first operator executes on a first compute node of a plurality of compute nodes, monitoring a memory use by the first operator on the first compute node, and upon determining that the memory use of the first operator exceeds a memory threshold, moving the first operator to a second compute node, of the plurality of compute nodes.
    Type: Grant
    Filed: September 9, 2015
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Branson, Jay S. Bryant, James E. Carey, John M. Santosuosso
  • Patent number: 9916264
    Abstract: A method for privilege based memory pinning is provided. The method includes receiving a request to pin an amount of address space memory from a process executing on an operating system. The operating system includes a configurable mode of operation. In mandatory mode, the operating system executes the request to pin address space memory based on the role hierarchy-based privilege level of the requestor process. When the requested amount is greater than the operating system's amount of memory that can be used to pin memory, the operating system fails the request. However, when the operating can satisfy the request from processes having a lower privilege level relative to the requestor process, memory is unpinned from one or more of these processes.
    Type: Grant
    Filed: September 21, 2015
    Date of Patent: March 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Sreenivas Makineedi, Srinivasa Raghavan M. Parthasarathi
  • Patent number: 9906405
    Abstract: Operational parameters of a running multiserver data processing system are automatically and repeatedly sampled and compared with constraints defined in a capacity and placement planning specification of the multiserver data processing system. Constraint violations are automatically declared as operational anomalies and, if serious enough, corresponding alarm signals are automatically produced.
    Type: Grant
    Filed: October 20, 2014
    Date of Patent: February 27, 2018
    Assignee: CA, INC.
    Inventor: Serge Mankovskii
  • Patent number: 9898393
    Abstract: Provided is a system for building and validating an application (including e.g., various software versions and revisions, programming languages, code segments, among other examples) without any scripting required by a system user. In one embodiment, an SDLC system is configured to construct a build and test environment, by automatically analyzing a submitted project. The build environment is configured to assemble existing user code, for example, to generate an application to test. Code building can include any one or more of code compilation, assembly, and code interpretation. The system can include a user interface provided to clients, users, and/or customer environments to facilitate user interaction and control of build and test validation. The system can accept user specification of configurations that controls the way the system runs the user's tests. The system can also provide flexible billing models for different customers.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: February 20, 2018
    Assignee: Solano Labs, Inc.
    Inventors: Jay Moorthi, Christopher A. Thorpe, William Josephson
  • Patent number: 9881351
    Abstract: Resource processing, such as shader translation, during run time of an application on an emulated platform, can be performed asynchronously from emulation of the application. One or more server computers can be configured to perform such processing remotely from the computers executing the emulation. The one or more server computers can receive resources for processing from multiple computers. The one or more server computers aggregate the resources received from the multiple computers for different applications and process those resources. For example, multiple shaders, discovered from multiple different emulations of an application on multiple computers, are translated and organized by the one or more server computers. The translated shaders can be packaged as an update to the application and redistributed to the computers using the application. Such an update can be installed on the computers as a set of translated shaders for use in the emulation of the application.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: January 30, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brian Spanton, Barry Bond, Robert Francis, Eric Heutchy
  • Patent number: 9864825
    Abstract: Computer-implemented systems and methods for manipulation of dynamic symbols for devices in an electrical schematic include: receiving a placement of a dynamic symbol in a schematic, wherein the dynamic symbol represents an instance of an electrical device in the schematic and is separate from a symbol library; receiving an assignment of nets to pins of the dynamic symbol instance; performing a manipulation of the pins based on a logical grouping, wherein the dynamic symbol instance supports dynamic reconfiguration of the pins via the manipulation while retaining pin information from a base symbol in the symbol library; and visually presenting the dynamic symbol instance with the manipulated pins according to the logical grouping.
    Type: Grant
    Filed: February 1, 2016
    Date of Patent: January 9, 2018
    Assignee: Ciena Corporation
    Inventor: Roger Paul Toutant
  • Patent number: 9830175
    Abstract: Systems and methods are described for predictively managing calls to tasks on an on-demand code execution environment. Specifically, a task profile can be utilized to predict that a call to a task will be followed by transmission of information to an auxiliary service. Thereafter, the on-demand code execution environment can select a virtual machine to execute the task based, for example, on the speed or reliability of a communication channel between the selected virtual machine and the auxiliary service. If execution of the task does cause transmission of information to the auxiliary service, the information can be transmitted via the communication channel, thereby increasing the speed or reliability of the transmission.
    Type: Grant
    Filed: December 16, 2015
    Date of Patent: November 28, 2017
    Assignee: Amazon Technologies, Inc.
    Inventor: Timothy Allen Wagner
  • Patent number: 9817930
    Abstract: Various mechanisms identify an electronic design model and determine a data propagation diagram by receiving a set of path property sources or destinations, determine a set of helper properties for the data propagation diagram by traversing at least a portion of the data propagation diagram, and verify the electronic design model by examining one or more helper properties and determining verification of the one or more helper properties leads to concrete results to generate verification results. Data propagation diagrams may be annotated with verification results to show verification progresses, highlight sources of complexity, and be further synchronized with waveform displays of one or more traces. Search space may be trimmed during a verification flow to enhance performance of verification engine(s). New start states closer to the final state than the default state may be identified during verification and used to enhance performance of the verification engine.
    Type: Grant
    Filed: December 31, 2014
    Date of Patent: November 14, 2017
    Assignee: Cadence Design Systems Inc.
    Inventors: Caio Araujo Texeira Campos, Tamires Vargas Campanema Franco Santos, Andrea Iabrudi Tavares, Fabiano Peixoto, Claudionor Jose Nunes Coelho, Jr.
  • Patent number: 9817643
    Abstract: Instead of performing local dataflow analyses on all procedures during a multi-file optimized code generation, those dataflow analyses are done only on a generally much smaller set of procedures that were actually impacted by source code edits. Incremental inter-procedural dataflow analysis (IIPDA) code identifies a set of procedures to be recompiled due to impact from one or more edits and does local dataflow analyses only on them. Results of the incremental approach for use in generating optimized code match the results of a more expensive exhaustive interprocedural dataflow analysis of all procedures, even when call graph structure has been changed by the edits. The impacted procedures are identified based on which procedures were edited, dataflow values, intermediate language representations, and a portion of the call graph.
    Type: Grant
    Filed: July 24, 2015
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Wenlei He, Patrick W. Sathyanathan, Ten H. Tzen
  • Patent number: 9811363
    Abstract: Systems and methods are described for predictively managing calls to tasks on an on-demand code execution environment. Specifically, a task profile can be utilized to predict that a call to a first task will be followed by a call to a second task. Thereafter, a virtual machine can be loaded with executable code corresponding the second task, even before the call to the second task is received. If the call to the second task is received, the task can then be executed by utilizing the previously loaded executable code, thus increasing the speed at which the second task can be executed on the on-demand code execution environment.
    Type: Grant
    Filed: December 16, 2015
    Date of Patent: November 7, 2017
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventor: Timothy Allen Wagner
  • Patent number: 9800673
    Abstract: Concepts and technologies disclosed herein are directed to a service compiler component and service controller for Open Systems Interconnection (“OSI”) communication model layer 4 through layer 7 services in a cloud computing system. According to one aspect of the concepts and technologies disclosed herein, the service compiler component can receive compiler data associated with a new service. The service compiler component also can analyze the compiler data at least to determine at least one virtual network function (“VNF”) to be used to instantiate the new service. The service compiler also can generate a template for the new service.
    Type: Grant
    Filed: August 20, 2014
    Date of Patent: October 24, 2017
    Assignee: AT&T Intellectual Property I, L.P.
    Inventors: Anisa Parikh, Neela R. Atluri, Paritosh Bajpay, Sekar Ganesan, Shobhna Goyal, Shiv Kumar, Magda K. Nassar, Satyendra Tripathi, Ralph Utano
  • Patent number: 9772879
    Abstract: An embodiment includes a method includes designating a portion of a plurality of processing cores as an input/output (I/O) core and compiling a program source code to produce compiled program source code, including identifying an I/O operation region of the program source code, determining a number of I/O operations for the I/O operation region, and determining a number of system resources and system resource types for the I/O operation region. The method also includes executing the program source code using the plurality of processing cores, including scheduling the I/O operation region of the program source code on the I/O core of the plurality of processing cores.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: September 26, 2017
    Assignee: Futurewei Technologies, Inc.
    Inventors: Chen Tian, Handong Ye, Ziang Hu
  • Patent number: 9753487
    Abstract: Serial peripheral interfaces and methods of operating the same are provided. An apparatus can have a serial peripheral interface (SPI) including a first command state machine (CSM), and a second CSM.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: September 5, 2017
    Assignee: Micron Technology, Inc.
    Inventor: Paolo E. Mangalindan
  • Patent number: 9747085
    Abstract: Methods, systems, and computer program products for generating source code from a compilable annotated source code prototype are disclosed. A computer-implemented method may include receiving two or more schemas that each describe attributes of respective source code modules to be generated by a source code generator, receiving a compilable source code prototype comprising annotations associated with the source code generator to generate each of the respective source code modules, detecting the annotations from the source code prototype as part of generating the respective source code modules, determining that one or more of the annotations from the source code prototype correspond with one or more attributes of a schema associated with one of the respective source code modules to be generated, and generating each of the respective source code modules based on the annotations from the source code prototype in view of attributes described in an associated schema.
    Type: Grant
    Filed: December 11, 2015
    Date of Patent: August 29, 2017
    Assignee: PAYPAL, INC.
    Inventor: Christopher T. A. Beckey
  • Patent number: 9747129
    Abstract: Graph data of a DAG is received. The data describes a module to be started by way of nodes connected by edges, wherein some nodes are submodule nodes that correspond to submodules of said module. Submodule nodes are connected via edge(s) that reflect a data dependency between the corresponding submodules. Each of said submodules is a hardware module or a software submodule, capable of producing and/or consuming data that can be consumed and/or produced, by other submodule(s) of said module, based on the DAG. Asynchronous execution is started of two of said submodules, respectively corresponding to two submodule nodes located in independent branches of the DAG. A third submodule node(s) is determined that is a descendant of each of said two submodule nodes, according to an outcome of the execution of the corresponding two submodules. Execution is started of a third submodule that corresponds to the determined third submodule node.
    Type: Grant
    Filed: October 22, 2015
    Date of Patent: August 29, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Charles Osborne, Elaine Rivette Palmer, Tamas Visegrady
  • Patent number: 9740463
    Abstract: A method and system of cross-language inlining that includes receiving source code of a multiple language program, the source code including a main language and a first access of a first foreign object in a first additional language; translating the main language to obtain a main language intermediate representation (IR); translating the first additional language to obtain a first IR snippet; composing, before performing a compilation, the main language IR and the first IR snippet to obtain a cross-language IR; and performing the compilation of the cross-language IR to obtain machine code corresponding to the multiple language program.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: August 22, 2017
    Assignee: Oracle International Corporation
    Inventors: Matthias Grimmer, Chris Seaton, Thomas Wuerthinger
  • Patent number: 9727317
    Abstract: A source code is pre-processed to form a pre-processed source code. The source code refers to an external code in a separate file, and the pre-processed source code creates a single file that includes the source code and the external code. The source code is profiled to create profile information identifying a hot portion having a first degree of hotness. A set of environment parameter values is determined to be applicable to a data processing system where the application will execute. At a remote optimizing compiler, a selection of a set of compiler options from a knowledgebase corresponding to the profile information and the set of environment parameter values is caused and an object code resulting from compiling the pre-processed source code using the set of compiler options is obtained. The object code is optimized according to the profile information and the set of environment parameter values.
    Type: Grant
    Filed: November 4, 2015
    Date of Patent: August 8, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yaoqing Gao, John R. MacMillan, Jeremiah S. Swan, Trong Truong, Kobimanalan Vinayagamoorthy
  • Patent number: 9727341
    Abstract: A method for computing in a thread-based environment provides manipulating an execution mask to enable and disable threads when executing multiple conditional function clauses for process instructions. Execution lanes are controlled based on execution participation for the process instructions for reducing resource consumption. Execution of particular one or more schedulable structures that include multiple process instructions are skipped based on the execution mask and activating instructions.
    Type: Grant
    Filed: August 12, 2014
    Date of Patent: August 8, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Mitchell Alsup, Yang Jiao, Boris Beylin, Maxim Lukyanov, Alexander Grosul
  • Patent number: 9727356
    Abstract: Embodiments of the present invention provide efficient systems and methods for scaling past the Java Virtual Machine (JVM) thread limit in a Java Virtual Machine. Embodiments of the present invention can be used to ensure that a received workload is executed, even if the workload is greater than a JVM thread limit of the system, by spawning a reduced number of threads from a main process, in order to provide enough resources for the effective execution of a received workload.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: August 8, 2017
    Assignee: International Business Machines Corporation
    Inventor: Russell I. Wilson
  • Patent number: 9720919
    Abstract: A computer-implemented system and method performs an iterative process to assess the installation of an upgrade version of a database product for consistency with a baseline version of the database product. To assess the installation, the baseline version and the upgrade version are reconciled by modifying one or both of the baseline and upgrade versions. The modified baseline and upgrade versions are then analyzed to determine whether any remaining inconsistencies exist. Any remaining inconsistencies are then identified and classified, and reconciled. Thereafter, the process is repeated iteratively until the upgrade version is reconciled with the baseline version.
    Type: Grant
    Filed: December 5, 2014
    Date of Patent: August 1, 2017
    Assignee: CA, Inc.
    Inventors: Robert C. Rose, Richard L. Schertz
  • Patent number: 9722930
    Abstract: Various exemplary embodiments relate to a method for placing components of a plurality of instances of a cloud application on nodes in a cloud infrastructure, the method including: receiving scenario probabilities of a plurality of cloud application scenarios, wherein the plurality of cloud application scenarios define the modes of operation of the cloud application; receiving cloud infrastructure performance data; defining a performance metric of the cloud application based upon cloud infrastructure performance data; defining constraints on the placement of the application components; receiving a service level agreement performance requirement based upon a probability; optimizing the placement of the components of the plurality of instances of the cloud application on nodes in the cloud infrastructure based upon the scenario probabilities, cloud infrastructure performance data, the performance metric, and the constraints on the placement of the application components to meet the service level agreement perfo
    Type: Grant
    Filed: November 8, 2013
    Date of Patent: August 1, 2017
    Assignee: Alcatel Lucent
    Inventors: Tommaso Cucinotta, Chang Fangzhe, Ramesh Viswanathan
  • Patent number: 9715388
    Abstract: Logic and instruction to monitor loop trip count are disclosed. Loop trip count information of a loop may be stored in a dedicated hardware buffer. Average loop trip count of the loop may be calculated based on the stored loop trip count information. Based on the average trip count, loop optimizations may be removed from the loop. The stored loop trip count information may include an identifier identifying the loop, a total loop trip count of the loop, and an exit count of the loop.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: July 25, 2017
    Assignee: Intel Corporation
    Inventors: Jaewoong Chung, Hyunchul Park, Hongbo Rong, Cheng Wang, Youfeng Wu
  • Patent number: 9697086
    Abstract: A method, article of manufacture, and apparatus for accessing data during data recovery. In some embodiments, this includes sending an I/O request from an application to an object, wherein the object is being recovered, establishing an I/O intercept, intercepting the application's I/O request with the I/O intercept, and redirecting the I/O request based on the status of the object's sub-objects.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: July 4, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Michael John Dutch, Christopher Hercules Claudatos, Mandavilli Navneeth Rao
  • Patent number: 9690568
    Abstract: A method of operation of a bundle management system includes: generating a resource bundle with client-based script code based on a client device condition of a potential client device; generating a condition map correlating the client device condition to the resource bundle; generating a bundle set including the resource bundle based on a developer version of the client-based script code; uploading the condition map to a web service system; and configuring the web service system to operate a web service corresponding to the developer version of the bundle set.
    Type: Grant
    Filed: September 24, 2014
    Date of Patent: June 27, 2017
    Assignee: Facebook, Inc.
    Inventors: Vladimir Kolesnikov, Andrey Sukhachev
  • Patent number: 9684492
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for automatically determining configuration properties of a compiler. One of the methods includes determining that an executable of the newly created process is a compiler called by the build system to compile source code of a source code file. In response to the determining, a plurality of configuration properties of the compiler called by the build system are determined, the configuration properties including first properties of a plurality of built-in functions of the compiler, second properties of a plurality of built-in types of the compiler, or both. A compiler emulator is configured to emulate the behavior of the compiler called by the build system using the determined configuration properties. Access to the source code is provided to the compiler emulator configured using the determined configuration properties.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: June 20, 2017
    Assignee: Semmle Limited
    Inventor: Peter Cawley
  • Patent number: 9680718
    Abstract: Embodiments of the present disclosure include a method, a system, and a computer program product for fusing a stream operator into more than one processing element within a streaming application. The method includes receiving an instruction to concurrently fuse, into a second processing element, a stream operator of interest that is fused into a first processing element. The method includes determining whether the stream operator of interest is stateful. The method includes compiling, in response to determining the stream operator of interest is stateful, a clone of the stream operator of interest into the second processing element so that the clone is synchronized with the stream operator of interest.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: June 13, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, John M. Santosuosso
  • Patent number: 9658886
    Abstract: An embodiment includes a method includes designating a portion of a plurality of processing cores as an input/output (I/O) core and compiling a program source code to produce compiled program source code, including identifying an I/O operation region of the program source code, determining a number of I/O operations for the I/O operation region, and determining a number of system resources and system resource types for the I/O operation region. The method also includes executing the program source code using the plurality of processing cores, including scheduling the I/O operation region of the program source code on the I/O core of the plurality of processing cores.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: May 23, 2017
    Assignee: Futurewei Technologies, Inc.
    Inventors: Chen Tian, Handong Ye, Ziang Hu