Just-in-time Compiling Or Dynamic Compiling (e.g., Compiling Java Bytecode On A Virtual Machine) Patents (Class 717/148)
  • Patent number: 10891210
    Abstract: An approach is provided in which an information handling system selects an assumption point in a software program corresponding to a compile-time assumption made by a compiler, and selects an assumption violation point in the software program corresponding to a location at which the compile-time assumption can be violated at runtime. The information handling system propagates backwards in the software program from the assumption point and reaches the assumption violation point. The information handling system determines that the assumption point corresponds to a first method and the assumption violation point corresponds to a second method that is different from the first method, and inserts a conditional transition in the software program at the assumption violation point. The information handling system executes a compiled version of the software program that includes the conditional transition.
    Type: Grant
    Filed: July 16, 2019
    Date of Patent: January 12, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andrew Craik, Joseph Devin Micheal Papineau, Vijay Sundaresan
  • Patent number: 10884719
    Abstract: A method that includes obtaining, by an application executing on a computing system, a list of properties defining at least one property. The executing application writes an uncompiled class definition implementing a compiled interface and writes one or more properties of the compiled interface into the uncompiled class definition. The executing application writes the at least one property and at least one serialization attribute into the uncompiled class definition. The executing application causes the uncompiled class definition to be compiled, loads the compiled class definition, and creates an object by instantiating the compiled class definition. The object is serializable. The executing application may reflect on the compiled interface to obtain the one or more properties. Each of the one or more properties is strongly typed.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: January 5, 2021
    Assignee: Synchrony Bank
    Inventor: David Fisher
  • Patent number: 10868665
    Abstract: A virtualization service that hosts multiple guests may provide utilities for use in protecting sensitive or secret information from timing side-channel attacks by obscuring accesses to data structures that have been designated as potential targets of such attacks. The service may provide a compiler or analysis tool that identifies data structures within an application that contain, or that are indexed using, sensitive or secret information. The compiler may modify the application code (or an executable representation thereof) to obscure accesses to particular elements in the data structures. For example, the layout or indexing of a sensitive data structure may be scrambled during execution, or elements of multiple data structures may be interleaved within a single, merged data structure. The scrambling may be performed using an unpredictable address translation function (e.g., one that is parameterized during initialization using a random number obtained at runtime), which may be subsequently modified (e.g.
    Type: Grant
    Filed: May 18, 2015
    Date of Patent: December 15, 2020
    Assignee: Amazon Technologies, Inc.
    Inventor: Martin Thomas Pohlack
  • Patent number: 10860303
    Abstract: An application typically runs on top of an operating system. Some computing device have the ability to reboot and load a different operating system whenever an application or set of applications is run. If an old application requires an old operating system version, it is possible to load that OS instead. Every application can have its own version of the operating system. Only new applications or a small set of applications need to use the new OS—all the old applications may run their own older version of the OS. Patches or software updates can be applied only for particular applications. Other applications that need the same base OS but don't need the patch can skip using the patch. It is possible to determine what version the application is and selectively apply the patch based on the version of the application.
    Type: Grant
    Filed: April 25, 2013
    Date of Patent: December 8, 2020
    Assignee: NINTENDO CO., LTD.
    Inventors: Jeffrey Sirois, Eugene Borisov, Eugene Kwon
  • Patent number: 10824453
    Abstract: Systems and methods improve performance and resource-efficiency of Just-in-Time (JIT) compilation in a hypervisor-based virtualized computing environment. A user attempts to launch an application that has been previously compiled by a JIT compiler into an intermediate, platform-independent format. A JIT accelerator selects a unique function signature that identifies the application and the user's target platform. If the signature cannot be found in a repository, indicating that the application has never been run on the target platform, the accelerator generates and stores the requested executable program in shared memory and saves the signature in the repository. The system then returns to the user a pointer to the stored platform-specific executable. If multiple users of the same platform request the same application, the system recognizes an affinity among those requests identified by their shared signature, and provides each user a pointer to the same previously stored, shared executable.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: November 3, 2020
    Assignee: International Business Machines Corporation
    Inventors: Rafael Camarda Silva Folco, Plinio A. S. Freire, Breno Henrique Leitao
  • Patent number: 10795704
    Abstract: A system includes a memory, a processor in communication with the memory, and a serializer. The serializer is configured to receive an object that includes at least one field, initiate serialization of the object according to a rule set, and write a first intermediate representation of a new object based on the object. The serializer is also configured to write a second intermediate representation to set the at least one field in the new object. Additionally, the serializer is configured to output a serialization of the new object based on the first intermediate representation and the second intermediate representation.
    Type: Grant
    Filed: March 1, 2019
    Date of Patent: October 6, 2020
    Assignee: Red Hat, Inc.
    Inventor: Stuart Wade Douglas
  • Patent number: 10782948
    Abstract: A system includes a memory and a processor in communication with the memory. The processor is configured to, prior to runtime, process application metadata for an application. The application metadata is classified into a first class used only for deployment, a second class used only for runtime, and a third class used for both runtime and deployment. Responsive to processing the application metadata, the processor is configured to build a deployment model from the processed application metadata. Prior to runtime, the processor is configured to generate an intermediate representation of the application from the deployment model. The intermediate representation of the application includes direct calls for classes associated with the second class of metadata and the third class of metadata.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: September 22, 2020
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Jason Greene
  • Patent number: 10747599
    Abstract: Secure backwards compatible orchestration of isolated guests is disclosed. For example, a current version of an isolated guest orchestrator instantiates an older version of the isolated guest orchestrator in a host as a dependent compute service. An application programming interface request is received. The application programming interface request is determined to be unsupported by the current version of the isolated guest orchestrator. The application programming interface request is sent to the dependent compute service. The application programming interface request is responded to based on a response from the dependent compute service.
    Type: Grant
    Filed: May 21, 2018
    Date of Patent: August 18, 2020
    Assignee: Red Hat, Inc.
    Inventor: Huamin Chen
  • Patent number: 10706746
    Abstract: The present invention relates to methods and systems for binary scrambling, and applications for cybersecurity technology aimed at preventing cyber-attacks.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: July 7, 2020
    Assignee: Polyverse Corporation
    Inventors: Alexander Gounares, Christopher Fraser
  • Patent number: 10698559
    Abstract: Provided are a method and an apparatus for displaying content on a same screen and a terminal device. The method includes: displaying an application interface of an application on a display apparatus, and displaying a floating region on the same screen as the application interface; setting a content loader corresponding to the floating region; determining display content of the floating region; and invoking the content loader to load the determined display content to the floating region for display.
    Type: Grant
    Filed: September 5, 2017
    Date of Patent: June 30, 2020
    Assignee: Tencent Technology (Shenzhen) Company Limited
    Inventors: Kunjie Zhang, Chaoqun Jin, Wenshuo Zhou, Xiaonan Feng, Guangwen Zhong, Can Li, Liping Zhou, Cheng Guo, Wei Xu, Xiao Song
  • Patent number: 10642583
    Abstract: Disclosed aspects relate to managing a set of development data for a stream computing environment. A set of development data related to a computing object may be detected. The set of development data may be derived from application development for utilization in the stream computing environment. The set of development data may be established in association with the computing object. A computing artifact which has the computing object in association with the set of development data may be compiled.
    Type: Grant
    Filed: October 28, 2016
    Date of Patent: May 5, 2020
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Manuel Orozco, Christopher R. Sabotta, John M. Santosuosso
  • Patent number: 10579498
    Abstract: A JIT compiler is debugged by comparing the native code it generates with the native code generated from a reliable JIT compiler. The different compilations are performed using the same input data. The input data is recorded by intercepting the communication exchanges between a runtime environment and the reliable JIT compiler during the compilation of a program. The input data of each communication is stored using a key based on at least one parameter in an API call from a JIT compiler to the runtime environment. A debugging tool is then used to initiate the compilation of a method using a JIT compiler under test using the previously recorded input data.
    Type: Grant
    Filed: July 31, 2016
    Date of Patent: March 3, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventor: Brandon Scott Wadsworth
  • Patent number: 10579440
    Abstract: A virtual resource control and distribution system is provided that utilizes virtual resource pools coupled to authentic resource pools in order to reduce processing capacity requirements, memory requirements, and processing time. In particular, the present invention utilizes a reduced number of authentic resource pools, such as one single authentic resource pool, that is coupled to one or more virtual resource pools. The virtual resource pools may be utilized to enter into interactions. However, when interactions are entered, the virtual resource pools may be adjusted based on the resources associated with the interaction without actually having any resources associated with the virtual resource pools. As such, the virtual resource pools may illustrate a change in virtual resources in the virtual resource pool, but the authentic resource pool to which the virtual resource pool is associated, will be utilized for distributing the resources and processing the interactions.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: March 3, 2020
    Assignee: BANK OF AMERICA CORPORATION
    Inventors: Alfred James Reed, Huihui Wu
  • Patent number: 10574705
    Abstract: In particular embodiments, a data processing data inventory generation system is configured to: (1) generate a data model (e.g., a data inventory) for one or more data assets utilized by a particular organization; (2) generate a respective data inventory for each of the one or more data assets; and (3) map one or more relationships between one or more aspects of the data inventory, the one or more data assets, etc. within the data model. In particular embodiments, a data asset (e.g., data system, software application, etc.) may include, for example, any entity that collects, processes, contains, and/or transfers personal data (e.g., such as a software application, “internet of things” computerized device, database, website, data-center, server, etc.). The system may be configured to identify particular data assets and/or personal data in data repositories using any suitable intelligent identity scanning technique.
    Type: Grant
    Filed: May 6, 2019
    Date of Patent: February 25, 2020
    Assignee: OneTrust, LLC
    Inventors: Kabir A. Barday, Mihir S. Karanjkar, Steven W. Finch, Ken A. Browne, Nathan W. Heard, Aakash H. Patel, Jason L. Sabourin, Richard L. Daniel, Dylan D. Patton-Kuhl, Jonathan Blake Brannon
  • Patent number: 10572294
    Abstract: Techniques for automated application footprint discovery for application migration to containers are described. A snapshot of an application instance can be stored, the snapshot including the application instance and resources used by the application instance at runtime. The application instance can be run in an intermediate virtual machine, the intermediate virtual machine including at least one interceptor. At least one dependency of the application instance can be determined using the at least one interceptor while the application instance executes on the intermediate virtual machine. A template including the at least one dependency can be created and an application environment can be generated using the template.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: February 25, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Vivek Chawda, Maxwell Edward Chapman Nuyens, Vivek Menon, Keshav Sethi Attrey
  • Patent number: 10552135
    Abstract: Some examples include techniques for efficiently handling an application package. For instance, a native code library used by an application may be identified. A wrapper library that enables the application to access the native code library may be created. The wrapper library may be stored in a first area of the application package. The native code library may be stored in a second area of the application package. If the application package includes more than one native code library, the application package may include a loading order specifying an order in which the native code libraries are to be loaded into a memory of a computing device.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: February 4, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Eugene Gershnik, Matthew B. Barr, Jacob D. Cohen, John M. Pyle
  • Patent number: 10481996
    Abstract: Computer program, methods, and systems for code modification of a programming language platform and a software application in an intermediate language at different times are disclosed. The methods and system may modify a portion of the programming language platform in the intermediate language at a first time to alter a functionality of or add a new functionality to the programming language platform; and may modify the software application in the intermediate language at a second time different from the first time, where the software application may be modified based on a runtime analysis rule that uses the altered or added new functionality of the programming language platform. The modified programming language platform may be included in a first package, and the modified software application may be included in a second package, and executed on the modified programming language platform.
    Type: Grant
    Filed: February 8, 2019
    Date of Patent: November 19, 2019
    Assignee: SALESFORCE.COM, INC.
    Inventor: Sergey Gorbaty
  • Patent number: 10445505
    Abstract: In an example, a vulnerability assessment engine is disclosed. The vulnerability assessment engine may include a shim application and a shim agent. The shim application sits at a relatively low level in an operational stack, such as just above the operating system itself. It may intercept system calls through operating system hooks or other means, so as to determine whether an action taken by an executable object should be allowed. The vulnerability assessment engine sends an identifier, such as a common platform enumeration (CPE)-like string to a server, which queries a database to determine a response code for the action. The response code may indicate that the action should be allowed, blocked, allowed with a warning, or other useful action. A shim agent may also be installed to receive notifications from the server or to query the server for available updates or patches for the executable object.
    Type: Grant
    Filed: September 22, 2014
    Date of Patent: October 15, 2019
    Assignee: McAfee, LLC
    Inventor: Joshua Cajetan Rebelo
  • Patent number: 10409590
    Abstract: A method of executing computer-readable code for interaction with one or more data resources on a data processing platform is disclosed, wherein the method is performed using one or more processors. The method may comprise receiving a request message including an identifier identifying executable code stored in a data repository. Another operation may comprise determining, using the identifier, an execution environment mapped to the executable code. Another operation may comprise executing the identified executable code using the determined execution environment. A further operation may comprise passing requests made with the executable code to one or more data resources via a proxy. Also disclosed is a method of creating customized computer-readable code for interaction with one or more data resources on a data processing platform, wherein the method is performed using one or more processors.
    Type: Grant
    Filed: January 30, 2018
    Date of Patent: September 10, 2019
    Assignee: PALANTIR TECHNOLOGIES INC.
    Inventors: Shahine Zoubeiri, Javier Campanini
  • Patent number: 10367822
    Abstract: Access to a module element within a first module by a second module is prohibited if the module element within the first module has not been exposed to the second module. If a particular module element within a first module has been exposed to a second module, then access to the particular module element by the second module may or may not be allowed depending on: (a) whether the particular module element has been declared with a public or non-public access modifier, (b) whether a second exposed module element, which includes the particular module element, has been declared with a public or non-public access modifier, (c) a level of access associated with the operation that attempts to access the particular module element of the first module, and/or (d) whether an accessibility override configuration is set for accessing the particular module element.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: July 30, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Alan Bateman, Paul Sandoz, Chris Hegarty
  • Patent number: 10348857
    Abstract: Methods and devices for enabling communication of a client application of a computing device with other devices are provided. The method includes obtaining, from a first client application on the computing device, one or more preferences for creating a first subservice for communicating with the other devices. A template service file associated with the first client application is identified and the template service file includes property definitions for creating subservices that communicate with the other devices. The template service file is used to create a first configuration file corresponding to the first client application, the a first configuration file including a plurality of the property definitions of the template service file. At least one of the plurality of the property definitions is modified using the one or more preferences. The first configuration file is stored in a memory of the computing device.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: July 9, 2019
    Assignee: Apple Inc.
    Inventors: Pierre J. De Filippis, Daniel B. Pollack
  • Patent number: 10333798
    Abstract: Data can be categorized into facts, information, hypothesis, and directives. Activities that generate certain categories of data based on other categories of data through the application of knowledge which can be categorized into classifications, assessments, resolutions, and enactments. Activities can be driven by a Classification-Assessment-Resolution-Enactment (CARE) control engine. The CARE control and these categorizations can be used to enhance a multitude of systems, for example diagnostic system, such as through historical record keeping, machine learning, and automation. Such a diagnostic system can include a system that forecasts computing system failures based on the application of knowledge to system vital signs such as thread or stack segment intensity and memory heap usage. These vital signs are facts that can be classified to produce information such as memory leaks, convoy effects, or other problems.
    Type: Grant
    Filed: May 6, 2015
    Date of Patent: June 25, 2019
    Assignee: Oracle International Corporation
    Inventors: Eric S. Chan, Rafiul Ahad, Adel Ghoneimy, Adriano Covello Santos
  • Patent number: 10311229
    Abstract: In a virtualization environment, a guest process may protect itself from potential timing side-channel attacks by other guest processes on the same host machine by taking steps to obscure accesses to alternative critical code paths (e.g., alternative paths within cryptographic functions whose selection at runtime is dependent on secret data) that have been designated as potential targets of such attacks. This may include interleaving instructions from multiple alternative code paths so that they land in the same cache lines (e.g., so that all code paths pass through the same set of cache lines). The different code paths may be allocated the same or different numbers of bytes per cache line, and unused allocated locations may be filled with NOPs. Chunks of code for a given code path that fall on different cache lines may be linked using local jumps. Some code chunks may span the boundaries between two cache lines.
    Type: Grant
    Filed: May 18, 2015
    Date of Patent: June 4, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Martin Thomas Pohlack
  • Patent number: 10303498
    Abstract: One embodiment illustrated herein includes a method that may be practiced in a computing environment with a guest architecture running a native architecture system. The method includes acts for handling function calls. The method includes receiving a call to a target binary, wherein the call is in a format for the guest architecture. The method further includes determining that the call is to a binary that is a hybrid binary. The hybrid binary includes a native function compiled into a native architecture binary code using guest architecture source code and a specialized thunk to handle an incompatibility between the guest architecture and the native architecture. The method further includes invoking the specialized thunk to allow the native function in the hybrid binary to be executed natively on the native architecture system.
    Type: Grant
    Filed: October 1, 2015
    Date of Patent: May 28, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ten H. Tzen, Arun U. Kishan
  • Patent number: 10282282
    Abstract: A testing method and system for automatic Hypertext Transfer Protocol (HTTP) testing, the system including a memory configured to store sequences of user requests, a program store storing code for emulating a sequence of user requests, and at least one processor coupled to the program store and to the memory for executing the stored code, the code including instructions for generating an emulated request based on a request from a user sequence of requests, transmitting the emulated request to an application, receiving a response to the emulated request from the application, calculating an adapted emulated sequence based on validity of the received response, and instructing transmission of the adapted emulated sequence.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: May 7, 2019
    Assignee: SYNOPSYS, INC.
    Inventors: Tamir Shavro, Eran Tamir, Lilian Blochet
  • Patent number: 10216601
    Abstract: A dynamic service module is embedded in an agent and able to add functionality to the agent. The service module may manage .jar files for execution by the agent. The service module may receive the .jar files, provide them to an agent for execution, and may perform other functions. The agent may perform obfuscation in order to translate the .jar files into a modified version which may be more compatible with a particular agent. Once execution of the .jar file is complete, the agent may remove the .jar file as well as all trace of the .jar file. For example, the agent may remove byte code instrumentation that was installed as a result of the .jar file.
    Type: Grant
    Filed: January 1, 2017
    Date of Patent: February 26, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Brad Winslow, Anthony Kilman
  • Patent number: 10203991
    Abstract: In a virtualized data processing system where an operating system assigns resources to a virtualized computing entity (VCE) according to a container configuration of the VCE, and by using performance data corresponding to a type of the VCE, an initial resource allocation for a new VCE is computed at an initialization of the new VCE. The performance data includes at least a processor utilization information corresponding to the type of VCE for a past period. An operation of the new VCE is initiated using the initial resource allocation. New performance data is collected from the operation of the new VCE. For a future period of operation of the new VCE, a resource requirement is forecasted. An instruction to a provisioning system is constructed, specifying a portion of the resource requirement and the future period, which causes the provisioning system to adjust the initial resource allocation.
    Type: Grant
    Filed: January 19, 2017
    Date of Patent: February 12, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Simon J. Brady, John V. Delaney, Anthony M. Hunt, Claus Schrøder-Hansen, Gerhard A. Widmayer, Clea Zolotow
  • Patent number: 10193762
    Abstract: The present invention dynamically optimizes computing resources allocated to a simulation task while it is running. It satisfies application-imposed constraints and enables the simulation application performing the simulation task to resolve inter-instance (including inter-server) dependencies inherent in executing the simulation task in a parallel processing or other HPC environment.
    Type: Grant
    Filed: August 11, 2016
    Date of Patent: January 29, 2019
    Assignee: RESCALE, INC.
    Inventors: Gregorius E. Poort, Mulyanto W. Poort, Ryan A. Kaneshiro, Adam C. McKenzie
  • Patent number: 10176005
    Abstract: An environment virtualization infrastructure (EVI) is made up of storage, network, and compute elements which are virtualized in a virtual platform that is implemented on a hardware platform. In some embodiments, the EVI is dynamic and is expressed as a collection of downloadable data structures. The virtual platform can include an EVI with a definable topology and an emulator that configures various components of the EVI automatically. In some embodiments, the emulator is invoked via an Application Programming Interface. The EVI can be implemented as a Software as a Service. In some embodiments, the EVI includes virtual environments that have routers, switches, operating systems, and software applications.
    Type: Grant
    Filed: March 12, 2015
    Date of Patent: January 8, 2019
    Assignee: Cypherpath, Inc.
    Inventors: Steve Silva, Chris Spiegel, Philip Tilton
  • Patent number: 10163547
    Abstract: A composite cable includes: a plurality of first electric wires; a shield wire including a twisted wire in which a plurality of second electric wires are twisted together and a shield layer provided on an outer periphery of the twisted wire, each of the second electric wires having an outer diameter smaller than each of the first electric wires; a sheath provided on an outer periphery of an electric wire bundle in which the plurality of first electric wires and the shield wire are twisted together; a plurality of first linear fillers filled between the twisted wire and the shield layer; and a plurality of second linear fillers filled between the electric wire bundle and the sheath, wherein each of the first linear fillers and each of the second linear fillers are a same type of linear filler, and a fill ratio of the first linear fillers is greater than a fill ratio of the second linear fillers.
    Type: Grant
    Filed: March 22, 2018
    Date of Patent: December 25, 2018
    Assignee: Hitachi Metals, Ltd.
    Inventors: Yoshikazu Hayakawa, Tomoyuki Murayama, Hirotaka Eshima, Sachio Suzuki, Hiroyuki Ito, Takahiro Futatsumori, Noriyuki Takahashi
  • Patent number: 10152356
    Abstract: Methods and apparatus to customize deployment using metaproperties are disclosed. An example deployment metaproperty manager can generate a first metaproperty payload including an initial application component metaproperty of an application component that provides a logical template of an application. A deployment event broker can reply-back to the deployment metaproperty manager with a second metaproperty payload that includes a processed application component metaproperty.
    Type: Grant
    Filed: December 7, 2016
    Date of Patent: December 11, 2018
    Assignee: VMware, Inc.
    Inventors: Ventsyslav Raikov, Lazarin Lazarov, Boris Savov, Rostislav Georgiev
  • Patent number: 10120780
    Abstract: The invention relates to a method for loading at least one native code on at least one target secure element comprising a java card virtual machine, said method comprising the following steps: providing a modified CAP file composed of at least one custom CAP component comprising a native code; extracting said native code from the custom CAP component; installing said native code in the target secure.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: November 6, 2018
    Assignee: GEMALTO SA
    Inventors: Francois Bogusz, Francois Millet, Julien Glousieau, Abdellah El Marouani, Andre Sintzoff, Ilyas Landikov
  • Patent number: 10120665
    Abstract: Application source code that includes notation indicating a latency level between methods is evaluated. Based in part on the latency level, scores for method dependencies are calculated. A set of packages is generated for the methods in accordance with a clustering strategy that is based at least in part on the scores. The set of packages is then deployed to at least one host in accordance with an affinity threshold.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: November 6, 2018
    Assignee: Amazon Technologies, Inc.
    Inventor: Ronald Widharta Sunarno
  • Patent number: 10104090
    Abstract: Access to a module element within a first module by a second module is prohibited if the module element within the first module has not been exposed to the second module. If a particular module element within a first module has been exposed to a second module, then access to the particular module element by the second module may or may not be allowed depending on: (a) whether the particular module element has been declared with a public or non-public access modifier, (b) whether a second exposed module element, which includes the particular module element, has been declared with a public or non-public access modifier, (c) a level of access associated with the operation that attempts to access the particular module element of the first module, and/or (d) whether an accessibility override configuration is set for accessing the particular module element.
    Type: Grant
    Filed: September 8, 2015
    Date of Patent: October 16, 2018
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Alan Bateman, Paul Sandoz, Chris Hegarty
  • Patent number: 10061570
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: August 28, 2018
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9928108
    Abstract: Systems and methods are described for generating and executing metaevents within an on-demand code execution environment. The code execution environment can include virtual machine instances that are pre-initialized to enable low latency execution of arbitrary user-defined code. Code execution can typically occur in response to a defined event trigger, such as a call to an application programming interface (API) from an external source. Code execution may also occur in response to metadata regarding the operation of the code execution environment. A user may specify criteria for “metaevents” based on the metadata, and also specify code to be executed in response to satisfaction of the criteria. When the code execution environment determines that the user's criteria is satisfied, a metaevent may be generated that causes execution of the set of code. This execution may, in turn, generate metadata that triggers one or more metaevents.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: March 27, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Timothy Allen Wagner, Scott Daniel Wisniewski
  • Patent number: 9836290
    Abstract: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: December 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
  • Patent number: 9836316
    Abstract: Technologies for performing flexible code acceleration on a computing device includes initializing an accelerator virtual device on the computing device. The computing device allocates memory-mapped input and output (I/O) for the accelerator virtual device and also allocates an accelerator virtual device context for a code to be accelerated. The computing device accesses a bytecode of the code to be accelerated and determines whether the bytecode is an operating system-dependent bytecode. If not, the computing device performs hardware acceleration of the bytecode via the memory-mapped I/O using an internal binary translation module. However, if the bytecode is operating system-dependent, the computing device performs software acceleration of the bytecode.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: December 5, 2017
    Assignee: Intel Corporation
    Inventors: Cheng Wang, Youfeng Wu
  • Patent number: 9811441
    Abstract: A method and a system have been disclosed for detecting one or more memory leaks in a program. The method includes receiving the program code. After receiving the program, the program is tokenized automatically in a predefined format. The predefined format may correspond to a format which is up-loadable to a database. Thereafter, the tokenized program code is analyzed to determine control flows in the program by using a memory leak pattern. The memory leak pattern is an incorrect control flow between the combination of memory allocation and memory de-allocation functions. After analyzing the tokenized program, the memory leaks are identified based on the determined control flows in the program. The memory leaks are identified during the development phase of the program code. Subsequently, the memory leaks are fixed by a programmer.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: November 7, 2017
    Assignee: Infosys Limited
    Inventors: Radhika Santhanakrishnan, Venu Gopala Krishna Kishore Anumakonda, Chintan Vinodray Raval, Tejaswitha Nutikattu
  • Patent number: 9753705
    Abstract: A processor may perform conditional just-in-time (JIT) compilation. An example method may comprise: identifying, by the processor, a defined pattern in a byte stream derived from a high level programming language module; evaluating a conditional expression associated with the defined pattern, wherein the conditional expression comprises an execution platform identifier; and compiling the byte stream into a native code, while excluding, in view of the evaluating, a portion of byte stream associated with the defined pattern.
    Type: Grant
    Filed: March 24, 2015
    Date of Patent: September 5, 2017
    Assignee: Red Hat, Inc.
    Inventors: Filip Eliá{hacek over (s)}, Filip Nguyen
  • Patent number: 9720660
    Abstract: A system and methods for generating metadata based on source code are disclosed. In accordance with one embodiment, a computer system receives a command to compile source code, and in response to the command, generates an executable and a metadata file based on the source code, where the metadata file comprises information pertaining to at least one of a scalar type of the source code, a variable of the source code, or a function of the source code.
    Type: Grant
    Filed: May 21, 2013
    Date of Patent: August 1, 2017
    Assignee: Red Hat, Inc.
    Inventors: Benjamin De Kosnik, Jason Merrill, Dodji Seketeli
  • Patent number: 9715382
    Abstract: Structure of a prototype-based programming language program is determined based on results of program execution. The structure determined can be implied by a program rather than explicitly declared. For example, classes and namespaces of a prototype-based program can be detected or inferred by identifying patterns that indicate the presence of a class or namespace. Furthermore, members of classes and namespaces can also be determined.
    Type: Grant
    Filed: June 25, 2013
    Date of Patent: July 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordan L Matthiesen, Mohamed Hegazy, Charles P Jazdzewski
  • Patent number: 9704130
    Abstract: A standard based mapping of industry vertical models to legacy environments to suggest points of enterprise application integration. A representation of a first domain comprising industry model instance data is generated in a standard-based format from an enterprise industry model. A representation in the standard-based format of a second domain comprising legacy data is generated from the legacy environment. A set of inference rules is applied against the representation of enterprise industry model instance data and the representation of legacy data. One or more candidate legacy assets in the representation of legacy data capable of implementing an aspect of the enterprise industry model are identified. The identified one or candidate legacy assets for implementing the aspect of the enterprise industry model are then recommended to a user.
    Type: Grant
    Filed: October 26, 2009
    Date of Patent: July 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Peter A. Coldicott, Eoin Lane
  • Patent number: 9690552
    Abstract: Technologies for generating composable library functions include a first computing device that includes a library compiler configured to compile a composable library and second computing device that includes an application compiler configured to compose library functions of the composable library based on a plurality of abstractions written at different levels of abstractions. For example, the abstractions may include an algorithm abstraction at a high level, a blocked-algorithm abstraction at medium level, and a region-based code abstraction at a low level. Other embodiments are described and claimed herein.
    Type: Grant
    Filed: December 27, 2014
    Date of Patent: June 27, 2017
    Assignee: Intel Corporation
    Inventors: Hongbo Rong, Peng Tu, Tatiana Shpeisman, Hai Liu, Todd A. Anderson, Youfeng Wu, Paul M. Petersen, Victor W. Lee, P. G. Lowney, Arch D. Robison, Cheng Wang
  • Patent number: 9672052
    Abstract: Among other disclosed subject matter, a system includes a secure execution domain configured to execute trusted processes. The system also includes a hardware virtualization component in the secure execution domain and configured to implement a virtual machine. The virtual machine is a hardware virtualization of a data processing apparatus and includes a shared virtual memory device and a guest software application coupled to the shared virtual memory device. The system also includes a trusted process in the secure execution domain, separate from the virtual machine and coupled to the shared virtual memory device. The trusted process is configured to communicate with the guest software application through the shared virtual memory device. Communication with the guest software application includes secure communication.
    Type: Grant
    Filed: February 16, 2012
    Date of Patent: June 6, 2017
    Assignee: Google Inc.
    Inventors: Frank Berreth, Eric A. Moon, Robert R. Henry
  • Patent number: 9600256
    Abstract: An interactive development environment receives developer inputs to develop or customize modeled types. A compilation agent receives a request from the IDE to compile the modeled types that the developer is developing or customizing. The compilation agent accesses a cache of previously compiled types and determines which of the individually loadable types are to be re-compiled based upon the changes made by the developer, and compiles only those identified types. The re-compiled types are also stored in cache.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: March 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Khalid Aggag, Suriya Narayanan
  • Patent number: 9594578
    Abstract: Methods and systems for implementing “virtual machine” interpreters in a hardware component. The virtual machine interpreter may be implemented in the hardware component (e.g., a processor) by configuring the hardware component to include programming language interpreter logic. The hardware component is configured to include multiple logic gates and arrays representing a hardware-based implementation of a virtual machine interpreter.
    Type: Grant
    Filed: February 28, 2012
    Date of Patent: March 14, 2017
    Assignee: Red Hat, Inc.
    Inventor: Shakthi Kannan
  • Patent number: 9588817
    Abstract: A scheduling method executed by a scheduler that manages multiple processors, includes detecting based on an application information table when a first application is started up, a processor that executes a second application that is not executed concurrently with the first application; and assigning the first application to the processor.
    Type: Grant
    Filed: July 19, 2013
    Date of Patent: March 7, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Hiromasa Yamauchi, Koichiro Yamashita, Tetsuo Hiraki, Koji Kurihara, Toshiya Otomo
  • Patent number: 9582303
    Abstract: Techniques are described for placing virtual machines (VM) on computer hosts. In one embodiment, a user may compose a constraint specification document which includes VM and host properties and how they are retrieved, as well as constraint predicates that define valid VM placements on hosts. Use of the constraint specification document permits new constraints, including constraints that involve new properties, to be handled without requiring changing the underlying code for collecting required input data and processing said data to determine whether placement constraints are satisfied. Instead, based on the constraint specification document, a resource scheduler or high availability module may program a programmable data collector to fetch the needed properties from the appropriate places.
    Type: Grant
    Filed: March 3, 2014
    Date of Patent: February 28, 2017
    Assignee: VMware, Inc.
    Inventors: Guoqiang Shu, Keith Farkas
  • Patent number: 9575737
    Abstract: An application executing on a computing device may invoke a function call of a first function. The computing device may support a bundled application library of functions and a native library of functions. It may be determined that code for executing the first function exists in both the bundled application library and the native library, and the application may execute the first function using the code in the native library. While the application continues execution on the computing device, the application may invoke a function call of a second function. It may be determined that, of the bundled application library and the native library, the code for executing the second function exists in the bundled application library. The application may execute the second function using the code in the bundled application library.
    Type: Grant
    Filed: April 21, 2016
    Date of Patent: February 21, 2017
    Assignee: Google Inc.
    Inventors: Timothy Murray, Stephen Roderick Hines, Rudy Jason Sams