Patent classifications
G06F9/45
MULTI-TENANT UPGRADING
Example implementations relate to multi-tenant upgrading. Some implementations may receive a request to upgrade a first tenant from an original version of an application to a new version of the application. The new version of the application may be backwards compatible with the original version. Some implementations may also upgrade the first tenant to the new version in response to the request while data according to the original version is simultaneously being provided to a second tenant. Additionally, some implementations may also provide data according to the new version for tenants that have completed the upgrade and provide data according to the original version of the application for tenants that have not upgraded.
SYSTEM, METHOD AND COMPUTER READABLE MEDIUM FOR SPACE-EFFICIENT BINARY REWRITING
According to some illustrative embodiments of the invention, a method is performed that includes using a representation of a computer software program, using identified addresses which correspond to a part of the representation, and converting the representation into a created binary program, which includes reserving spaces at the identified addresses in the created binary program's address space at the same addresses as the identified addresses in the representation.
REAL-TIME PERFORMANCE TRACKING USING DYNAMIC COMPILATION
Systems, apparatuses, and methods for performing real-time tracking of performance targets using dynamic compilation. A performance target is specified in a service level agreement. A dynamic compiler analyzes a software application executing in real-time and determine which high-level application metrics to track. The dynamic compiler then inserts instructions into the code to increment counters associated with the metrics. A power optimization unit then utilizes the counters to determine if the system is currently meeting the performance target. If the system is exceeding the performance target, then the power optimization unit reduces the power consumption of the system while still meeting the performance target.
ON-DEMAND BINARY TRANSLATION STATE MAP GENERATION
The present disclosure is directed to a system for on-demand binary translation state map generation. Instead of interpreting the native code to be executed, binary translation circuitry (BT circuitry) may execute a binary translation (BT) in place of the native code. When a stop occurs (e.g., due to an interrupt, a modification of the native code, etc.), the BT circuitry may generate a binary translation state map (BT state map) that allows the location of the stop to be mapped back to the native code. Generation of the BT state map may involve determining a location and offset for the stop, performing region formation based on the location, loading instructions from the region (e.g., while accounting for the need to emulate instructions), forming the BT state map based at least on the size of the loaded instructions, and then mapping the stop back to the native code utilizing the offset.
Recording program execution
Among other things, a method includes, at a computer system on which one or more computer programs are executing, receiving a specification defining types of state information, receiving an indication that an event associated with at least one of the computer programs has occurred, the event associated with execution of a function of the computer program, collecting state information describing the state of the execution of the computer program when the event occurred, generating an entry corresponding to the event, the entry including elements of the collected state information, the elements of state information formatted according to the specification, and storing the entry. The log can be parsed to generate a visualization of computer program execution.
Systems, methods, and apparatus for certifying plugins for application development
Systems, apparatus, methods, and articles of manufacture provide for (i) determining plugin data defining one or more plugins; (ii) determining one or more platform standards for plugins; (iii) initiating a compile or build process for one or more plugins; and/or (iv) performing a plugin certification process.
Method, apparatus, and computer program for specializing serializer
To provide a method, apparatus, and computer program for performing type inference of serialization for each generation site and specializing a serializer for each generation site. A type of serialization is inferred for each generation site of compiling a query, and a serializer is specialized for each generation site based on the inferred type and a type that is actually used. A data value is serialized using the specialized serializer for each generation site. The inference is executed while transcribing identification information assigned to each generation site to a type as an annotation, and the inferred type and the type used in serialization are recursively compared.
System and method for automatic software application creation
Systems, methods, and computer program products are provided for automatically finding, testing, and attaching code directly to software requirements. The requirements can be used to define, find, test and attach files and input/output interface displays to create new software applications.
PARALLELIZATION METHOD, PARALLELIZATION TOOL, AND IN-VEHICLE DEVICE
A computer generates a parallel program, based on an analysis of a single program that includes a plurality of tasks written for a single-core microcomputer, by parallelizing parallelizable tasks for a multi-core processor having multiple cores. The computer includes a macro task (MT) group extractor that analyzes, or finds, a commonly-accessed resource commonly accessed by the plurality of tasks, and extracts a plurality of MTs showing access to such commonly-accessed resource. Then, the computer uses an allocation restriction determiner to allocate the extracted plural MTs to the same core in the multi-core processor. By devising a parallelization method described above, an overhead in an execution time of the parallel program by the multi-core processor is reduced, and an in-vehicle device is enabled to execute each of the MTs in the program optimally.
SPECIALIZED MICRO-HYPERVISORS FOR UNIKERNELS
Application code is obtained at a compiler toolchain, which accesses a package manager that tracks dependencies for a set of software components including application-level components represented as application-level packages, hypervisor interface-level components represented as hypervisor interface-level packages, and hypervisor-level components represented as hypervisor-level packages. A dependency solver is employed to select a sub-set of the set of packages that satisfy the dependencies. The sub-set of packages is assembled into an executable bundle, including a statically-linked binary built entirely from the sub-set of the selected packages that contains no external dependencies except calls to an interface defined entirely by the hypervisor interface-level packages, and a specialized monitor built entirely from the sub-set of the selected packages that runs on a standard operating system, loads and executes the statically-linked binary, and interacts with the statically-linked binary only through the interface defined by the hypervisor interface-level packages.