摘要:
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.
摘要:
Technology is disclosed herein for resolving synchronization conflicts when synchronizing application state data between computing devices. According to at least one embodiment, a server detects a first set of application state data at a first computing device conflicting with a second set of application state data at a second computing device. The first and second sets of application state data represent application states of the same computer application running at the first and second computing devices, respectively. Accordingly, the first computing device presents a user interface prompting a user to choose a preferred set of application state data between the first and second sets of application state data. If the user chooses the second set of application state data as the preferred set, the first computing device uses the second set of application state data to overwrite the first set of application state data at the device.
摘要:
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.
摘要:
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 target 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 target application by accessing application 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.
摘要:
Technology is disclosed for using computing devices (“the devices”) of a user as an edge cache of a distributed backup system to stream video files. In the distributed backup system, the user can store different data files of the user at different devices of the user and/or at a server. For example, the user may store video files at one of the devices of the user (“a first device”) in addition to storing at the server. When the user requests to stream a particular video file to a particular device, the technology streams the video file to the particular device either from the server or from the first device. If the first device is in proximity to the particular device, the video file is streamed from the first device instead of from the server, thereby minimizing the latency involved in streaming the video file from the server.
摘要:
The disclosure is directed to presenting a unified view of tasks and applications across multiple computing devices of a user. A unified view of the tasks can be presented using a task manager. The task manager presents a list of tasks that are executing at each of the devices. The user can perform multiple actions on the tasks, e.g., launch on a first device a task executing on a second device from the first device, or terminate from the first device a task that is executing on the second device. A unified view of the applications can be presented using an app tray. The app tray displays a list of apps installed on each of the devices of the user. In displaying the list on a particular device, the app tray displays the apps that are not installed on the particular device in a distinct format, e.g., as shadow icons.
摘要:
Various embodiments are disclosed for enabling multiple computing devices having a decentralized operating system to effectively monitor and manage resources across the multiple devices. In some embodiments, the systems are able to identify a set of local resources available for utilization by an application running on the decentralized operating system. A resource message identifying the set of local resources can be generated using a resource discovery and utilization application programming interface. This information can then be sent to a requestor (e.g., an application running on the decentralized operating system) which can create a resource utilization plan.
摘要:
Technology is disclosed for utilizing version vector data of computing devices to optimize performance of the computing devices and/or other computer systems that provide various services to the computing devices (“the technology”). One embodiment includes analyzing version vectors of the computing devices to determining a user's usage pattern, such as the type of computing device used, the computer applications used on the computing device, and the time of day of usage. This information about usage pattern and other information that can be determined using the version vectors can enable system optimizations on both individual user level and a group of users level. For example, on the individual user level, knowing user's usage pattern may enable automatic file synchronization between multiple devices without user intervention. On the group level, a service provider may allocate resources (servers, bandwidth, etc.) to accommodate the group's usage pattern.
摘要:
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.
摘要:
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.