G06F9/44536

Implementing optional specialization when executing code

A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.

Methods and Apparatus for Dynamically Selecting an Instruction Set
20170364457 · 2017-12-21 ·

Methods and apparatus for dynamic instruction set selection for producing an output parameter based on one or more available input parameters are presented. In an example method, a device selects, from different candidate instruction sets that are each configured to produce a same output parameter, an instruction set that requires one or more input parameters that are each available at the device. In addition, in the example method, the device obtains the output parameter by executing the selected instruction set using the input parameters required by that instruction set. In some examples where more than one candidate instruction sets could be selected based on the available input parameters, the device may select the highest-ranking instruction set for execution.

De-referenced package execution

A library registry service receives a library interface definition that defines an interface for a library stub and data indicating whether a corresponding package is to be executed locally or remotely. An application is then built using the library stub. When the application calls the library stub, the library stub determines whether the package is to be executed locally or remotely either dynamically or by consulting the library registry service. The library stub then causes the package to be executed in the determined location. An updated library may be periodically generated and deployed for execution by the library stub locally or remotely. The library stub might also batch calls and/or provide a control interface for configuring aspects of its operation.

Version control and execution on a mobile device
11675800 · 2023-06-13 · ·

Disclosed are some implementations of systems, apparatus, methods and computer program products for facilitating version control for a client device. A server system may select one of two or more versions of a procedure based, at least in part, on a user profile. The server system may generate a message including a procedure name of the procedure, a version identifier identifying the selected version of the procedure, a set of computer-readable instructions corresponding to the selected version of the procedure, and a client directive pertaining to storing the procedure in a database. The server system may transmit the message to a client device associated with the user.

App Store Information Page Customization
20230176843 · 2023-06-08 ·

Techniques for digital asset classification are described. One or more holiday score are assigned to a set of digital media assets. The one or more holiday scores are calculated based on weighted holiday metrics determined based on characteristics of the set of digital assets. A holiday classification is assigned based on the one or more holiday score, and the set of digital media assets are provided for presentation in accordance with the holiday classification.

Upgrading an execution environment for event-driven functions
11263000 · 2022-03-01 · ·

An event-driven compute service upgrades an execution environment for registered functions of the compute service. Some compute nodes of the service have an updated version of the execution environment and some compute nodes have the old version of the execution environment. As a part of the upgrade process, some functions are executed in both environments. For example, for some invocations of a particular function, the function is executed in the updated execution environment while for other invocations of the same function, the function is executed in the old execution environment. Based on resulting status of the executions, the compute service determines that the particular function is compatible or incompatible with the updated version of the execution environment. The compute service performs subsequent executions of incompatible functions in the old version of the execution environment instead of in the updated version. A client may be notified of the incompatibility.

METHOD AND SYSTEM FOR DEPLOYING VIRTUALIZED APPLICATIONS

Methods and systems for deploying virtualized applications are disclosed. In an embodiment, a method involves, at a client device, downloading a launcher from a virtualized application portal to the client device, running the launcher at the client device, wherein running the launcher comprises checking for a first dependency and downloading a file of the first dependency if the first dependency is not installed on the client device, after checking for the first dependency, downloading an apploader from the virtualized application portal, and running the apploader at the client device. Running the apploader involves determining a configuration of the client device and downloading virtualized application components dependent on the configuration, determining specific needs of the virtualized application and downloading components dependent on the specific needs, and starting the virtualized application on the client device.

Modular co-versioning in a dynamically linked runtime environment

Modular co-versioning may involve the creation of multi-version libraries that may include multiple versions of a class. A multi-version library may include a base version and one or more other versions each of which may correspond to a particular, respective version of a software development kit, runtime environment or software platform, according to various embodiments. At runtime, a multi-version library may be searched in order to load a version of a class that corresponds to the version of the currently executing runtime environment. If the multi-version library does not include a version of the class corresponding to the currently executing version of the environment/platform, a version of the class corresponding to a previous version of the environment may be loaded if found in the multi-version library. Alternatively, if no other version of the class is found, a base version of the class may be loaded from the multi-version library.

Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
09792105 · 2017-10-17 · ·

Provided are a booting method of updating software components installed in a system and recovering from an error that occurs in an update, a method and system for automatically updating the software and recovering from the error, and a computer readable recording medium storing the method. The master boot record and the backup boot record are used to stably update a kernel and effectively recover from an update error. The component configuration database is used to update a plurality of software components including a kernel in a transaction, and perfectly recover from an update error.

Communication device, information processing method, and program
09779036 · 2017-10-03 · ·

A device may include a control unit to control determination of a processing mode of at least two processing modes and in which an application is executed. The at least two processing modes may include a first processing mode in which the application is executed based on first identification information directly indicating the application and a second processing mode in which the application is executed based on second identification information indirectly indicating the application, where the first identification information and the second identification information are transmitted from an external device through a communication channel.