Compiling Code Patents (Class 717/140)
  • 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: 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: 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: 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: 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: 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: 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: 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
  • Patent number: 9646357
    Abstract: The present disclosure provides example methods and apparatuses of conducting graphic rendering. JavaScript codes of a graphic application are obtained. The JavaScript codes include an API corresponding to a rendering function based on OPENGL. The API has a format complying with a standard of HTML5 Canvas. The JavaScript codes are executed at a parsing engine. When the API of the JavaScript codes is executed, the parsing engine parses the API to obtain a corresponding rendering function based on OPENGL. The rendering function is called to conduct graphic rendering to a rendering target. The present techniques improve a speed of graphic rendering at a mobile device.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: May 9, 2017
    Assignee: Alibaba Group Holding Limited
    Inventors: Hujia Liu, Junjie Tao, Wenxiang Zhu, Mingjian Wang
  • Patent number: 9635033
    Abstract: Methods and systems are described for detecting command injection attacks. A positive, taint inference method includes receiving signature fragments on one hand, converting command injection instructions into command fragments on another hand, thus identifying potential attacks upon the condition that a command injection instruction includes critical untrusted parts by using signature fragments. A system detects command injection attacks using this kind of method, and remediates and rejects potential attacks.
    Type: Grant
    Filed: November 14, 2013
    Date of Patent: April 25, 2017
    Assignee: University of Virginia Patent Foundation
    Inventors: Anh Nguyen-Tuong, Jack W. Davidson, Michele Co, Jason D. Hiser, John C. Knight
  • Patent number: 9628541
    Abstract: A system and method for modifying the processing within a streaming application are disclosed. The method may include identifying a grouping location at which it may be possible to group tuples during the runtime execution of a streaming application. In some embodiments, this may include identifying locations at which a runtime grouping condition may be added to one or more stream operators without adversely affecting the performance of a streaming application. The method may add a runtime grouping condition to a processing location within the plurality of stream operators of a streaming application, in some embodiments.
    Type: Grant
    Filed: February 21, 2013
    Date of Patent: April 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, Bradford L. Cobb, John M. Santosuosso
  • Patent number: 9626168
    Abstract: An optimizing compiler includes a vector optimization mechanism that optimizes vector instructions by eliminating one or more vector element reverse operations. The compiler can generate code that includes multiple vector element reverse operations that are inserted by the compiler to account for a mismatch between the endian bias of the instruction and the endian preference indicated by the programmer or programming environment. The compiler then analyzes the code and reduces the number of vector element reverse operations to improve the run-time performance of the code.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: April 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Jin Song Ji, Ronald Ian McIntosh, Steven J. Munroe, William J. Schmidt
  • Patent number: 9619212
    Abstract: A method for generating code in a predefined programming language based on an optimization problem is provided. The method includes reading a model of the optimization problem, and identifying references to external data sources in the model. The external data sources are external to the model. The method also includes generating the code. The code includes a program representation of the model. The code includes read and/or write accesses to the external data sources. A corresponding code generator and a software development environment are also provided.
    Type: Grant
    Filed: April 28, 2014
    Date of Patent: April 11, 2017
    Assignee: Siemens Aktiengesellschaft
    Inventors: Peter Fige, Farid Riahi
  • Patent number: 9619214
    Abstract: An optimizing compiler includes a vector optimization mechanism that optimizes vector instructions by eliminating one or more vector element reverse operations. The compiler can generate code that includes multiple vector element reverse operations that are inserted by the compiler to account for a mismatch between the endian bias of the instruction and the endian preference indicated by the programmer or programming environment. The compiler then analyzes the code and reduces the number of vector element reverse operations to improve the run-time performance of the code.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: April 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Jin Song Ji, Ronald Ian McIntosh, Steven J. Munroe, William J. Schmidt
  • Patent number: 9614740
    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: May 13, 2014
    Date of Patent: April 4, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, John M. Santosuosso
  • Patent number: 9594559
    Abstract: Source code for a function of a computer program is compiled by compilers to generate executable code variants for the function according to different optimization approaches. Each executable code variant is executable on a same processor architecture. A binary file for the computer program is constructed that includes each executable code variant. At runtime of the binary file, one of the executable code variants is selected for the function. The selected executable code variant is used during execution of the computer program, until execution is halted.
    Type: Grant
    Filed: January 7, 2015
    Date of Patent: March 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Nathan Fontenot, Fionnuala G. Gunter, Michael T. Strosaker, George C. Wilson
  • Patent number: 9582197
    Abstract: A method including intercepting a OFR for a file issued by an application to a FS, forwarding the OFR to the FS, receiving from the FS a FD for the file, issuing a SR for the file to the FS. The further method includes receiving from the FS status information for a target device on which the file is located, where the status information includes an OID for the file, storing a mapping of FD to the OID, intercepting a first FOR for the file, making a determination the that the first FOR is one of a read request and a write request, based on the determination, making another determination that the target device supports the direct I/O protocol, and issuing a DI request to the target device using the OID for the file, where the DI request is not processed by the FS.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: February 28, 2017
    Assignee: EMC IP Holding Company LLC
    Inventor: Michael W. Shapiro
  • Patent number: 9582305
    Abstract: Novel tools and techniques are provided for implementing a virtualization congestion control framework. In one aspect, a method might include a hypervisor assigning application resources of a virtual machine (“VM”), which operates on a host computing system, with maximum allowable settings to each software application to be executed on the VM. The hypervisor or an orchestrator might determine a running mode of the host computing system, and might execute the software application(s) using running mode attributes of the determined running mode. The hypervisor or the orchestrator might monitor application resource utilization, and, based on a determination that application resource utilization has changed, might modify allocation of application resources to each of the software application(s).
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: February 28, 2017
    Assignee: CenturyLink Intellectual Property LLC
    Inventor: Michael K. Bugenhagen
  • Patent number: 9569304
    Abstract: Methods, apparatus and computer program products implement embodiments of the present invention that include replacing, in one or more initial source code files, each reference to a first function configured to convey system messages with a respective reference to a second function configured to convey the system messages, thereby producing respective corresponding preprocessed source code files for the one or more initial source code files. The respective corresponding preprocessed source code files are then compiled, thereby creating an executable file. Based on an identified name and a text string, a computed destination is determined for the text string.
    Type: Grant
    Filed: August 5, 2015
    Date of Patent: February 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Janice M. Girouard, Yehuda Shiran
  • Patent number: 9547738
    Abstract: A method of programming or configuring an integrated circuit device using a high-level language includes parsing a logic flow to be embodied in the integrated circuit device to identify invariant logic flow, converting the invariant logic flow into separate instruction blocks, incorporating the separate instruction blocks into a high-level language representation of a configuration of resources of the integrated circuit device, and compiling the high-level language representation to configure said integrated circuit device. The high-level language representation can be executed to generate a configuration bitstream for the programmable integrated circuit device, or can be run on a processor on the programmable integrated circuit device to instantiate the configuration.
    Type: Grant
    Filed: May 8, 2014
    Date of Patent: January 17, 2017
    Assignee: Altera Corporation
    Inventors: Dmitry N. Denisenko, John S. Freeman
  • Patent number: 9537740
    Abstract: Estimating a level of concurrency is provided. An estimated level of concurrency of a device is determined. A first average response time, wherein the first average response time is an average of response times of a first set of operations of the device is determined. A second average response time is determined, wherein the second average response time is an average of response times of a second set of operations of the device, wherein each of the second set of operations is initiated under conditions of minimal interference of the device. A threshold based on the estimated level of concurrency is determined. The estimated level of concurrency is updated based, at least in part, on a ratio of the second average response time to the first average response time.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: January 3, 2017
    Assignee: International Business Machines Corporation
    Inventors: Bruce McNutt, Richard A. Ripberger
  • Patent number: 9529574
    Abstract: System and methods for the parallelization of software applications are described. In some embodiments, a compiler may automatically identify within source code dependencies of a function called by another function. A persistent database may be generated to store identified dependencies. When calls the function are encountered within the source code, the persistent database may be checked, and a parallelized implementation of the function may be employed dependent upon the dependency indicated in the persistent database.
    Type: Grant
    Filed: November 4, 2014
    Date of Patent: December 27, 2016
    Assignee: Apple Inc.
    Inventor: Jeffry E. Gonion
  • Patent number: 9507531
    Abstract: A method including intercepting a OFR for a file issued by an application to a FS, forwarding the OFR to the FS, receiving from the FS a FD for the file, issuing a SR for the file to the FS. The further method includes receiving from the FS status information for a target device on which the file is located, where the status information includes an OID for the file, storing a mapping of FD to the OID, intercepting a first FOR for the file, making a determination the that the first FOR is one of a read request and a write request, based on the determination, making another determination that the target device supports the direct I/O protocol, and issuing a DI request to the target device using the OID for the file, where the DI request is not processed by the FS.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: November 29, 2016
    Assignee: EMC Corporation
    Inventor: Michael W. Shapiro
  • Patent number: 9509550
    Abstract: Various methods and systems for generating an idempotent workflow are described herein. In one example, a method includes detecting distributed code and identifying a boundary function in the distributed code. The method can also include separating the boundary function into a transition function, a non-idempotent function, and a reversion function. Additionally, the method can include transforming the non-idempotent function into an idempotent function by generating a flag corresponding to the non-idempotent function, wherein the flag indicates if the non-idempotent function has been executed. Furthermore, the method can include combining the transition function, the idempotent function, and the reversion function to form the idempotent workflow.
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: November 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Burra Gopal, Yuriy Labunets, Amy R. Simpson, James Rupke, Kai Zhu, Roberto Taboada, Shayan Kayhanian
  • Patent number: 9497250
    Abstract: A system and method for modifying the processing within a streaming application are disclosed. The method may include identifying a grouping location at which it may be possible to group tuples during the runtime execution of a streaming application. In some embodiments, this may include identifying locations at which a runtime grouping condition may be added to one or more stream operators without adversely affecting the performance of a streaming application. The method may add a runtime grouping condition to a processing location within the plurality of stream operators of a streaming application, in some embodiments.
    Type: Grant
    Filed: October 29, 2012
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, Bradford L. Cobb, John M. Santosuosso
  • Patent number: 9479398
    Abstract: Embodiments of the present invention provide approaches for enforcing runtime policies in a networked computing environment (e.g., a cloud computing environment). Specifically, in a typical embodiment, computer code and data of an application is annotated with metadata defining a set of runtime policies for executing the computer code and data. Once a request is received to run the application, a set of parameters (e.g., geographic location) corresponding to the execution of the computer code and data of the application is dynamically determined, and compared to the runtime policies. The runtime policies for executing the computer code and data are then enforced at runtime. This includes either running the application, or preventing the running of the application in the case that the set of parameters corresponding to the execution of the computer code and data of the application do not satisfy the runtime policies.
    Type: Grant
    Filed: July 3, 2013
    Date of Patent: October 25, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kelly Abuelsaad, Lisa Seacat DeLuca, Soobaek Jang, Daniel C. Krook
  • Patent number: 9473550
    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 31, 2016
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, John M. Santosuosso
  • Patent number: 9465631
    Abstract: An automatic caching system is described herein that automatically determines user-relevant points at which to incrementally cache expensive to obtain data, resulting in faster computation of dependent results. The system can intelligently choose between caching data locally and pushing computation to a remote location collocated with the data, resulting in faster computation of results. The automatic caching system uses stable keys to uniquely refer to programmatic identifiers. The system annotates programs before execution with additional code that utilizes the keys to associate and cache intermediate programmatic results. The system can maintain the cache in a separate process or even on a separate machine to allow cached results to outlive program execution and allow subsequent execution to utilize previously computed results. Cost estimations are performed in order to choose whether utilizing cached values or remote execution would result in a faster computation of a result.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: October 11, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Coulson, Gregory Hughes
  • Patent number: 9465592
    Abstract: Application computer instructions can be provided to a publishing server. The publishing service can parse the application computer instructions to identify one or more locations where supplemental computer instructions can be inserted. Metadata about purchasable items can be obtained and the supplemental computer instructions can be written based on the item metadata. The supplemental computer instructions can be inserted into the application computer instructions. A publishable application can be created by compiling the application computer instructions with the inserted supplemental computer instructions.
    Type: Grant
    Filed: May 4, 2015
    Date of Patent: October 11, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Stephen C. Johnson, Michael R. Siwapinyoyos
  • Patent number: 9459841
    Abstract: A call center (CC) generator includes generator software (GSW) executing on a computerized appliance from a machine-readable physical medium, an input interface for receiving a CC configuration, access to a data repository storing CC software components, a function relating configuration parameters to individual ones of the stored CC software components, and an output interface for delivering a CC SW suite. The CC generator, executing the GSW, considers the CC configuration, applies the relating function, selects CC software components to copy from the data repository, and builds the CC SW suite for output.
    Type: Grant
    Filed: September 4, 2015
    Date of Patent: October 4, 2016
    Assignee: Genesys Telecommunications Laboratories, Inc.
    Inventors: Petr Makagon, Andriy Ryabchun, Nikolay Anisimov
  • Patent number: 9459847
    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: November 9, 2015
    Date of Patent: October 4, 2016
    Assignee: Xamarin Inc.
    Inventors: Miguel de Icaza, Rodrigo Kumpera, Sebastien Pouliot, Rolf Bjarne Kvinge, Aaron Dean Bockover, Zoltan Varga
  • Patent number: 9448863
    Abstract: Illustrative embodiments of methods, machine-readable media, and parallel computing systems that automatically tune a communication protocol are disclosed.
    Type: Grant
    Filed: November 8, 2011
    Date of Patent: September 20, 2016
    Assignee: Intel Corporation
    Inventors: Alexander Valerievich Supalov, Michael Vyacheslavovich Chuvelev, Dmitriy Vitalievich Dontsov, Vladimir Dmitrievich Truschin
  • Patent number: 9430200
    Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.
    Type: Grant
    Filed: June 4, 2015
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
  • Patent number: 9417857
    Abstract: Techniques are described for unifying static and dynamic compiler optimizations in source code bases. In an embodiment, a first compiler compiles source code of a target function to generate ahead-of-time (AOT) compiled machine code. A second compiler compiles the source code to generate an intermediate representation (IR) of the target function. In response to determining that the target function should be just-in-time (JIT) compiled, the AOT-compiled machine code for the target function is linked to the IR of the target function. During runtime, a physical processor executes AOT-compiled machine code of an executable program. When the target function is encountered for the first time, a JIT compiler is invoked. The JIT compiler generates JIT-compiled machine code for the target function. The physical processor executes the JIT-compiled machine code in place of the AOT-compiled machine code for the target function.
    Type: Grant
    Filed: January 12, 2015
    Date of Patent: August 16, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hassan Chafi, Mason Chang, Eric Sedlar
  • Patent number: 9400638
    Abstract: Reactive programming is facilitated. Reactive expressions can be generated automatically from non-reactive expressions or in other words standard expressions. Additionally or alternatively, reactive expressions can be optimized in a number of different ways to minimize computational work.
    Type: Grant
    Filed: November 8, 2011
    Date of Patent: July 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bart De Smet, Henricus Johannes Maria Meijer
  • Patent number: 9384037
    Abstract: Generally, this disclosure provides systems, devices, methods and computer readable media for memory object reference count management with improved scalability based on transactional reference count elision. The device may include a hardware transactional memory processor configured to maintain a read-set associated with a transaction and to abort the transaction in response to a modification of contents of the read-set by an entity external to the transaction; and a code module configured to: enter the transaction; locate the memory object; read the reference count associated with the memory object, such that the reference count is added to the read-set associated with the transaction; access the memory object; and commit the transaction.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 5, 2016
    Assignee: Intel Corporation
    Inventor: Andreas Kleen
  • Patent number: 9372680
    Abstract: A method and system for producing executable applications comprises selecting a processor type and compiling a binary code module for execution by the selected processor type. The method and system further comprise selecting one or more operating systems and linking the binary code module with a loader module for each selected operating system to produce an executable application to be executed on that operating system. Methods and systems for evaluating and simulating executable applications are also disclosed.
    Type: Grant
    Filed: March 5, 2014
    Date of Patent: June 21, 2016
    Assignee: Marmalade Technologies Limited, a United Kingdom Private Limited Company
    Inventors: Jeremy Adams, David Poston
  • Patent number: 9355229
    Abstract: A Method for protecting an application program executable on a computer against reverse engineering, said application is created to run with at least one selected dynamic link library (DLL) on said computer, comprises the steps of: adding a specific library loader to the executable application program, said loader either contains or has access to said dynamic link library; setting modified references to said dynamic link library such that upon loading said application program and said loader into the main memory of said computer, said dynamic link library is initialized by said library loader instead of the operating system; The library loader and the pseudo-statically linked library could be embedded into the application program, thereby using unused space within the application. The protected application presents itself as a monolithic application without the vulnerable interface to a DLL.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: May 31, 2016
    Assignee: WIBU-Systems AG
    Inventors: Peer Wichmann, Alexander Schmitt
  • Patent number: 9357058
    Abstract: A method of fraud detection is disclosed. The method includes determining that a first agent at a first workstation of a contact center is not on a call at a first time. The contact center includes a plurality of workstations attended to by a plurality of agents. The method includes determining that the first agent is accessing a client based resource at the first time, wherein the resource is associated with a client. The method includes collecting electronic evidence of the first workstation.
    Type: Grant
    Filed: June 25, 2015
    Date of Patent: May 31, 2016
    Assignee: Teleperformance SE
    Inventors: Evan Davis, Mitch Felling, Lyle Hardy
  • Patent number: 9342273
    Abstract: A communications mapping system is provided. The communications mapping system includes at least one processor and a memory. The at least one processor configured to receive a source application, the source application including a first sub-application and a second sub-application. The processor is also configured to identify a dependency relationship between the first sub-application and the second sub-application based at least in part on an inspection of the first sub-application. The processor is further configured to generate the relational communications graph including the first sub-application, the second sub-application, and the dependency relationship and provide the relational communications graph for use in executing the source application in an execution environment.
    Type: Grant
    Filed: July 7, 2015
    Date of Patent: May 17, 2016
    Assignee: Runnable Inc.
    Inventors: Yash Kumar, Tejesh Mehta, Praful Rana, Sundip Patel, Anandkumar Patel, Tony Li, Bryan Kendall, Nathan Allen Meyers, Randall Koutnik
  • Patent number: 9323508
    Abstract: Aspects of the disclosure provide a method for code compilation. The method includes receiving instructions of a loop code for compiling, allocating one or more registers to variables before compiling the instructions into a loop body for the loop code, and compiling the instructions into the loop body based on the allocated registers.
    Type: Grant
    Filed: July 23, 2014
    Date of Patent: April 26, 2016
    Assignee: Marvell World Trade Ltd.
    Inventors: Xinyu Qi, Ningsheng Jian, Haitao Huang, Liping Gao
  • Patent number: 9304778
    Abstract: A method of handling exceptions in a data parallel system includes forwarding exceptions thrown by concurrent worker tasks to a coordination task. The thrown exceptions are aggregated into an aggregation exception structure. It is determined whether the aggregation exception structure will be handled by an exception handler. The concurrent worker tasks are unwound when it is determined that the aggregation exception structure will be handled.
    Type: Grant
    Filed: January 29, 2013
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: John Duffy