Abstract:
The subject disclosure relates to systems and methods for casting an application from a source device to a destination device. In particular, a process can include steps for causing a source application executing as a foreground process in an operating system of a source computing device to store state data, transmitting the state data of the source application to a set of destination computing devices, and transmitting a cast command to the destination computing device, where the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data.
Abstract:
At least one embodiment of this disclosure includes a method of resource balancing execution of an application involving multiple devices. The method can include: identifying an application executing on an operating system of a first computing device; identifying a resource type to facilitate the executing of the application; identifying multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are reachable by a communication protocol of the first computing device; and selecting a target computing device to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing devices.
Abstract:
The disclosure is directed to an interactive multi-tasker for casting applications executing on a first computing device of a user on any of multiple computing devices of the user from any of the computing devices. Each of the computing devices presents a unified view of tasks and applications executing on each of the computing devices through the multi-tasker. The user can perform multiple actions on the tasks and applications, e.g., cast using a first device an instance of an application that is executing on a second device on to a third device. The state data is synchronized from the second device to the third device. Another instance of the application resumes execution on the third device using the synchronized state data. Once cast, each of the instances of the application executes independently of each other.
Abstract:
The disclosure is directed to an interactive multi-tasker for casting applications executing on a first computing device of a user on any of multiple computing devices of the user from any of the computing devices. Each of the computing devices presents a unified view of tasks and applications executing on each of the computing devices through the multi-tasker. The user can perform multiple actions on the tasks and applications, e.g., cast using a first device an instance of an application that is executing on a second device on to a third device. The state data is synchronized from the second device to the third device. Another instance of the application resumes execution on the third device using the synchronized state data. Once cast, each of the instances of the application executes independently of each other.
Abstract:
Technology is disclosed for sharing an authentication profile for accessing a Wi-Fi network between multiple devices. To access a particular Wi-Fi network on a first device and a second device, authentication information, e.g., a password for the Wi-Fi network, may have to be input on both the devices. In some embodiments, the technology facilitates obtaining an approval for accessing the Wi-Fi network on the second device from the first device. Upon receiving a request from a user of the second device to access the Wi-Fi network on the second device, the second device requests if any of the devices, e.g., devices in proximity, can approve the access request. A notification is displayed on the first device regarding the access request. The user associated with first device can then approve the access request, which causes authentication information for accessing the Wi-Fi network to be transmitted to the second device.
Abstract:
Technology is disclosed for sharing an authentication profile of a user between a group of user devices for accessing an access restricted computing environment (“the technology”). The access restricted computing environment can require the user to input authentication information, such as a username, password, or answers to challenge questions, to authenticate the user. For example, to access a wireless network on a first user device, a user may have to input a password for the wireless network. To access the same wireless network on a second user device, the user may have to input the password again on the second user device. The technology facilitates the user to obtain the authentication information required to access the wireless network from another user device, e.g., a device from which the user has accessed the wireless network previously. This can eliminate the need for the user to manually input the authentication information repeatedly.
Abstract:
At least one embodiment of this disclosure includes a method of sharing application states across different user profiles. The method can include: receiving a request from a first computing device associated with a first user profile to load an application state of a game application, wherein the application state is owned by a second user profile; verifying permission for the first user profile to load the application state owned by the second user profile; configuring a sharing instance of the application state of the game application by accessing gameplay state data of the application state associated with the second user profile in a storage service; and sending the sharing instance to be loaded onto the first computing device.
Abstract:
Technology is disclosed for migrating at least portions of a video streaming application to a cloud server. The migration is based on an optimization factor of a video streaming application. The optimization factor can be computed based on consumption of computing resources of the computing device. The video streaming application is a multi-threaded application in which a background thread performs tasks that may not require user interaction and a foreground thread performs tasks that may require user interaction. A service component of the video streaming application that obtains video streaming data from video servers is one example of the background thread. A user interface component that displays the video streaming data to a user via a user interface is an example of the foreground thread. If the optimization factor of the service component is below a predefined threshold, the service component is transferred to the cloud server for further processing.
Abstract:
Technology is disclosed herein for migrating execution of at least a portion of a photo application to a server. According to at least one embodiment, a computing device monitors the photo application executing at the mobile device to identify a background thread and a foreground thread of the photo application, determine a current workload of the mobile device, transmit a received photo and an instance of the background thread to the server when the determined current workload exceeds a predefined threshold, receive a processed photo from the server, and provide access to the processed photo through the mobile device using the user interface generated by the foreground thread of the photo application.
Abstract:
Technology is disclosed herein for migrating at least portions of computer applications to a server. According to at least one embodiment, a computing device identifies a service component of a computer application executed at the computing device. The service component does not directly interact with a user of the computing device. The computing device transfers an instance of the service component to a server so that the service component can be executed at the server. The computing device then receives from the server a result message generated by the instance of the service component executed at the server. The computing device feeds the result message to a user interface component of the computer application via a procedure call such that the user interface component retrieves the result message as if it were generated by an instance of the service component executed at the computing device.