Abstract:
Technology for a method for backing up and restoring game application state across multiple devices is disclosed herein. The method includes receiving, by a storage server, state data of a game application that runs on a first device, retrieving, by the storage server, a synchronization scheme defined by a user, detecting, by the storage server, a second device connected with the storage server, and sending, by the storage server, the state data of the game application to the second device according to the synchronization scheme.
Abstract:
Technology for a method for backing up and restoring multiplayer game state across multiple devices that are registered to multiple users is disclosed herein. The method includes running instances of a multiplayer game application at multiple electronic devices, determining a backup event that occurs in any of the multiple electronic devices, wherein the backup event suggests a backup of game state data and the game state data represent a game state of the game application at the backup event, and transmitting the game state data of the game application to a remote storage service, in response to the backup event. Other electronic devices registered to any of the multiple users can retrieve the application state data from the remote storage service and restore the game application state.
Abstract:
Technology is disclosed for decomposing an application into fragments and streaming the application fragments for execution on a mobile computing device. A fragment presents a user interface of the application and needs a set of resources, e.g., images, icons, etc. to be executed. A server determines a set of fragments for the application and streams them to the device as and when the device needs a particular fragment. The server determines the set of fragments in various ways. For example, the server executes an emulator that simulates the execution of the application by the user and determines fragment data including the set of fragments, resources needed by each of the fragments, and various possible navigations between the fragments. In another example, the server receives such fragment data from various users executing the application on various devices, and aggregates them based on aggregating policy to obtain an aggregated fragment data.
Abstract:
Technology disclosed herein includes a method for loading a carrier specific operating system (OS) onto a computing device depending on what network the computing device is connected to. The computing device detects an identity of a network to which a computing device is connected or is to be connected during a network identification process executed on the computing device. The network can be identified, e.g., by examining a subscriber identification module (SIM) card electronically connected to the device. The device then sends a request including the identity of the network to a remote registration service. In turn the device receives an instruction from the remote registration service identifying a distribution of an OS specific for the network. After retrieving the OS distribution, the device loads the distribution of the OS on the computing device. Specific OS distribution is chosen based on predefined policies when the device connects to multiple networks.
Abstract:
Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.
Abstract:
Technology is disclosed herein for client side data encryption with a recovery mechanism. According to at least one embodiment, a computing device encrypts at least one data set into an encrypted data set using a private encryption key. The computing device encrypts the private encryption key using a password provided by a user of the device. The password is also encrypted using the user's answers to password recovery questions. The encrypted data set, the encrypted key and the encrypted password are transmitted to and stored by a server. The computing device can retrieve and decrypt the encrypted data set form the server. The encryption key can be recovered by decrypting the encrypted key using the password. The password can be recovered by decrypting the encrypted password using answers to the password recovery questions provided by the user.
Abstract:
Technology disclosed herein includes a method for loading a carrier specific OS onto a computing device depending on what network the computing device is connected to. The computing device detects an identity of a network to which a computing device is connected or is to be connected during a network identification process executed on the computing device. The network can be identified, e.g., by examining a subscriber identification module (SIM) card electronically connected to the computing device. The device then sends a request including the identity of the network to a remote registration service. In turn the device receives an instruction from the remote registration service identifying a distribution of an operating system (OS) specific for the network. After retrieving the OS distribution, the device loads the distribution of the operating system on the computing device.
Abstract:
Techniques for a method for automatically synchronizing application state across multiple devices are disclosed herein. The method includes running an instance of a computer application on an electronic device, automatically determining a sync event that occurs in the electronic device, wherein the sync event suggests a synchronization of application state data and the application state data represent an application state of the computer application at the sync event, and transmitting the application state data of the computer application to a storage server in response to the sync event. The application state data of the computer application enables another instance of the computer application to resume the application state at the sync event at another electronic device.
Abstract:
Technology for a method for backing up and restoring application state across multiple devices is disclosed herein. The method includes running an instance of a computer application at a first electronic device, determining a backup event that occurs in the first electronic device, wherein the backup event suggests a backup of application state data and the application state data represent an application state of the computer application at the backup event, and transmitting the application state data of the computer application to a remote storage service, in response to the backup event. A second electronic device can retrieve the application state data from the remote storage service and restore the application state.
Abstract:
Techniques introduced here enable cloud-based file prefetching for gaming applications running on electronic devices. The electronic devices store certain gaming data files on a remote storage server and preload some of the files locally to include file access efficiency. Gaming data file access patterns on the electronic devices are analyzed, individually and collectively, using a cloud service to detect global access patterns and help determine which gaming data files to preload on each of the electronic devices.