Just-in-time Compiling Or Dynamic Compiling (e.g., Compiling Java Bytecode On A Virtual Machine) Patents (Class 717/148)
  • 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: 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: 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: 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
  • Patent number: 9563764
    Abstract: A method performed by a first application in a client apparatus to authenticate a second application in the client apparatus is provided. The method includes, when the first application receives an execution request from the second application, requesting authentication information of the second application from an authentication server, obtaining the authentication information of the second application from the authentication server, and authenticating the second application using the authentication information, wherein the authentication information of the second application is signed with a private key of the authentication server.
    Type: Grant
    Filed: February 19, 2014
    Date of Patent: February 7, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Tae-kwang Um, Sun-eung Park, Jin-goo Seo, Do-jun Yang, Cheol-ju Hwang
  • Patent number: 9542175
    Abstract: A method is provided. The method stores a first version of an artifact in a first environment. Further, the method stores a second version of the artifact in the first environment. In addition, the second version of the artifact is distinct from the first version of the artifact. The method also deploys the first version of the artifact and the second version of the artifact to a second environment so that the first artifact and the second artifact can be run simultaneously in the second environment. The second environment is distinct from the first environment.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: January 10, 2017
    Assignee: Oracle International Corporation
    Inventors: Ariel D. Tseitlin, Daniel Kearns
  • Patent number: 9495185
    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: February 23, 2015
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9495184
    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 10, 2015
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9489459
    Abstract: Systems and methods for application search configuration, indexing, and execution. A method includes receiving a metadata definition for search and indexing configuration and generating a transfer mode definition to export objects for indexing. The method includes identifying objects to be indexed according to the metadata definition and extracting data according to the transfer mode definition. The method includes indexing the extracted data. The method can include executing queries according to the meta definition.
    Type: Grant
    Filed: September 23, 2013
    Date of Patent: November 8, 2016
    Assignee: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
    Inventors: Javeed Nizami, Arvind Parasuram
  • Patent number: 9378034
    Abstract: Various systems and methods for dynamic bytecode modification of classes and class hierarchies are described herein. In various embodiments, a Java® agent is received at a launch of a Java® Virtual Machine (JVM®), the agent implementing a premain method, the premain method accepting a reference to an instrumentation instance. The instrumentation reference is then stored, a deployment container is initialized, and, within the deployment container, an instance of an application is created. The instrumentation reference is then provided to the application instance. A class transformer is then retrieved from a persistence provider, and the class transformer is wrapped by an O.R. Persistence Container Class Transformer, which is then registered with the instrumentation instance. A class to be transformed is passed to the class transformer, which dynamically modifies the bytecode of the class before the class is loaded by the JVM®.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: June 28, 2016
    Assignee: SAP SE
    Inventors: Peter K. Matov, Alexandrina Ivanova
  • Patent number: 9378129
    Abstract: The present information processing apparatus compares a size of a used memory that is currently used for execution of an application with a stored maximum size of a memory used by the application. Dump processing for writing memory contents to an external storage device is not executed when the result of the comparison shows that the size of the used memory is smaller than or equal to the maximum size, and is executed when the result of the comparison shows that the size of the used memory is larger than the maximum size.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: June 28, 2016
    Assignee: CANON KABUSHIKI KAISHA
    Inventor: Kunimasa Fujisawa
  • Patent number: 9367292
    Abstract: Systems and methods for modulating dynamic optimizations of a computer program are disclosed. One method includes receiving an intermediate representation (IR) of machine executable instructions, optimizing the received IR to generate a first optimized IR prior to the machine executable instructions being generated by a runtime compiler, optimizing the received IR to generate two or more alternative optimizations for the IR, wherein the two or more alternative optimizations generating two or more optimized IRs are optimized at different optimization points based at least in part on information generated during execution of the first optimized IR in a runtime environment different optimization strategies, and modulating between the two or more alternative optimizations for the IR to use different ones of the alternative optimizations during execution of the machine executable instructions at a frequency based at least in part on a degree of difference between the two or more optimized IRs.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: June 14, 2016
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Ezekiel Kruglick
  • Patent number: 9363034
    Abstract: Method for encrypting information transferred between two mobile telephones, each having a security module and where a security application contains encryption and decryption algorithms. The security application is stored on an SD card introduced into a card-holder location in the relevant telephone, then transferred from the card to the security module with a session key stored on the card, a key stream forms in the card on the basis of the session key, and during encryption is transferred from the card to the security module where encryption takes place, such encrypted stream of data is transmitted by the telephone, the stream of data is received by a second mobile telephone, decryption takes place with a corresponding key stream in the security module of the second telephone and the corresponding key stream is formed in the SD card of the second telephone on the basis of the session key.
    Type: Grant
    Filed: February 23, 2011
    Date of Patent: June 7, 2016
    Assignee: SECUMOBI AB
    Inventor: Stefan Hagbard
  • Patent number: 9348636
    Abstract: Approaches for transferring a file using a virtualized application. A virtualized application executes within a virtual machine residing on a physical machine. When the virtualized application is instructed to download a file stored external to the physical machine, the virtualized application displays an interface which enables at least a portion of a file system, maintained by a host OS, to be browsed while preventing files stored within the virtual machine to be browsed. Upon the virtualized application receiving input identifying a target location within the file system, the virtualized application stores the file at the target location. The virtualized application may also upload a file stored on the physical machine using an interface which enables at least a portion of a file system of a host OS to be browsed while preventing files in the virtual machine to be browsed.
    Type: Grant
    Filed: September 5, 2014
    Date of Patent: May 24, 2016
    Assignee: Bromium, Inc.
    Inventors: Deepak Khajuria, Kiran Bondalapati, Vikram Kapoor, Gaurav Banga, Ian Pratt
  • Patent number: 9336025
    Abstract: A particular method includes receiving, at a device, a request to analyze a software component. The request indicates a target operating system. The method also includes generating a virtual machine at a computing device. The virtual machine implements the target operating system. The method further includes executing the software component in the target operating system on the virtual machine and generating data indicating effects of executing the software component on the virtual machine.
    Type: Grant
    Filed: July 12, 2013
    Date of Patent: May 10, 2016
    Assignee: The Boeing Company
    Inventors: Terrance J. Kirk, Matthew S. Bialek, Shaun Kospiah, Timothy M. Lemm, Scott G. Thompson
  • Patent number: 9329883
    Abstract: Systems and methods for tracing an emulated execution order of non-native instructions based on natively executing code on a computing system having a native instruction set architecture are provided. One method includes, during emulated execution of non-native program code, maintaining a jump history in the computing system, the jump history including a listing of non-native jump instructions for which execution is emulated in the computing system. The method includes, for each of the non-native jump instructions included in the jump history, accessing non-native program code including the non-native instructions to determine one or more non-native instructions executed between the non-native jump instruction and a last-executed non-native jump instruction, and aggregating the non-native jump instruction and the one or more non-native instructions into an instruction trace.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: May 3, 2016
    Assignee: Unisys Corporation
    Inventor: Thomas Nowatzki
  • Patent number: 9292270
    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: March 27, 2014
    Date of Patent: March 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin