Search

EP-4736005-A1 - CROWDSOURCED CLOUD GAMING

EP4736005A1EP 4736005 A1EP4736005 A1EP 4736005A1EP-4736005-A1

Abstract

Systems and methods for crowdsourcing cloud application execution are described. An application system receives, from a client device, a first request to initiate an application session. The application system identifies a host device to fulfill the first request. The application system then initiates execution of the application session on the host device and generates, for the client device, a plurality of controls to control the application session executing on the host device. The host device is incentivized for each application session hosted.

Inventors

  • ZHANG, Le
  • LIANG, WEI
  • BLANK, ILIA
  • FOK, PATRICK PAK KIN
  • MAKEDON, Eleftherios
  • ALAM, AMIR
  • BORKOWSKI, Sebastian
  • ALIGETI, Goverdhan

Assignees

  • Advanced Micro Devices, Inc.
  • ATI Technologies ULC

Dates

Publication Date
20260506
Application Date
20240612

Claims (1)

  1. Attorney Docket No.5810-05401 WHAT IS CLAIMED IS 1. A method, comprising: receiving, by an application system from a first network-connected device, a first request to initiate an application session; identifying, by the application system, a second network-connected device to fulfill the first request; initiating, by the application system, execution of the application session on the second network-connected device; and generating, by the application system for the first network-connected device, a plurality of controls to control the application session executing on the second network- connected device. 2. The method as claimed in claim 1, wherein the second network-connected device is identified from a plurality of host devices, and wherein identification of the second network-connected device is based at least in part on computing resources available at the second network- connected device. 3. The method as claimed in claim 1, further comprising: responsive to a termination request to terminate execution of the application session, extracting application data generated during the execution of the application session, from the second network-connected device; and saving the application data in a database. 4. The method as claimed in claim 3, further comprising: receiving a second request, distinct from the first request, from the first network-connected device, the second request comprising a request to restore the application session; identifying a third network-connected device to fulfill the second request; and restoring, based at least in part on the application data, execution of the application session on the third network-connected device. 5. The method as claimed in claim 1, further comprising generating an interface at the second network-connected device, such that the interface renders the plurality of controls to control the application session executing on the second network-connected device. Attorney Docket No.5810-05401 6. The method as claimed in claim 1, further comprising identifying a number of application sessions hosted by the second network-connected device determined to be successful. 7. The method as claimed in claim 6, further comprising selecting the second network-connected device, from a plurality of host devices, for servicing one or more future requests for execution of application sessions, based at least in part on the number. 8. The method as claimed in claim 6, further comprising computing one or more rewards for the second network-connected device, at least based in part on the number of successful application sessions executed using the second network-connected device. 9. A system comprising: a processor configured to: receive, from a first network-connected device, a first request to initiate an application session; identify a second network-connected device to fulfill the first request; initiate execution of the application session on the second network-connected device; and generate, for the first network-connected device, a plurality of controls to control the application session executing on the second network-connected device. 10. The system as claimed in claim 9, wherein the second network-connected device is identified from a plurality of host devices, and wherein identification of the second network-connected device is based at least in part on computing resources available at the second network- connected device. 11. The system as claimed in claim 9, wherein the processor is configured to: responsive to a termination request to terminate execution of the application session, extract application data generated during the execution of the application session, from the second network-connected device; and save the application data in a database. 12. The system as claimed in claim 11, wherein the processor is configured to: Attorney Docket No.5810-05401 receive a second request, distinct from the first request, from the first network-connected device, the second request comprising a request to restore the application session; identify a third network-connected device to fulfill the second request; and restore, based at least in part on the saved application data, execution of the application session on the third network-connected device. 13. The system as claimed in claim 9, wherein the processor is configured to generate an interface at the second network-connected device, such that the interface renders the plurality of controls to control the application session executing on the second network-connected device. 14. The system as claimed in claim 9, wherein the processor is configured to identify a number of application sessions hosted by the second network-connected device determined to be successful. 15. The system as claimed in claim 14, wherein the processor is configured to select the second network-connected device, from a plurality of host devices, for servicing one or more future requests for execution of application sessions, based at least in part on the number. 16. The system as claimed in claim 14, wherein the processor is configured to compute one or more rewards for the second network-connected device, at least based in part on the number of successful application sessions executed using the second network-connected device. 17. A computing system comprising: at least one interface; a memory; and a processor configured to: receive, from a first network-connected device, a first request to initiate an application session; identify a second network-connected device to fulfill the first request; initiate execution of the application session on the second network-connected device; and generate, for the first network-connected device, a plurality of controls to control the application session executing on the second network-connected device. Attorney Docket No.5810-05401 18. The system as claimed in claim 17, wherein the second network-connected device is identified from a plurality of host devices, and wherein identification of the second network-connected device is based at least in part on computing resources available at the second network- connected device. 19. The system as claimed in claim 17, wherein the processor is configured to: responsive to a termination request to terminate execution of the application session, extract application data generated during the execution of the application session, from the second network-connected device; and save the application data in a database. 20. The system as claimed in claim 19, wherein the processor is configured to: receive a second request, distinct from the first request, from the first network-connected device, the second request comprising a request to restore the application session; identify a third network-connected device to fulfill the second request; and restore, based at least in part on the saved application data, execution of the application session on the third network-connected device.

Description

Attorney Docket No.5810-05401 CROWDSOURCED CLOUD GAMING BACKGROUND Description of the Related Art [0001] Traditional cloud applications, such as cloud gaming implementations, require significant server infrastructure investments to be made up front in order to ensure playable latencies and good availability of server instances. The deployment and maintenance of such an infrastructure is challenging and costly, particularly when the location of the user base is unknown in advance and may change over time. These costs are incurred even when the user base is low, making under-utilization even more costly. [0002] Cloud service providers face a significant hurdle in maintaining expensive equipment in large data centers. In order to keep these facilities running smoothly, regular upgrades are necessary which may require significant time and money. To make the expenses more manageable, companies need a significant number of users to offset the costs. However, directly transferring the expenses to users can become unreasonably expensive and unsustainable for the service provider. [0003] In view of the above, improved systems and methods for providing cloud-based services are needed. BRIEF DESCRIPTION OF THE DRAWINGS [0004] The advantages of the methods and mechanisms described herein may be better understood by referring to the following description in conjunction with the accompanying drawings, in which: [0005] FIG. 1 is a block diagram illustrating one network implementation of an application system. [0006] FIG.2 is a block diagram illustrating one implementation of various components of the application system. [0007] FIG. 3 is a block diagram illustrating one implementation of a session-restore for a saved application session. [0008] FIG. 4 is a block diagram illustrating one implementation of process isolation for hosting an application session. [0009] FIGS. 4A-4C illustrate specific implementations of process isolation for hosting an application session. Attorney Docket No.5810-05401 [0010] FIG.5 is an exemplary method for hosting an application session on a host device using a peer-to-peer network. [0011] FIG. 6 is an exemplary method for restoring a saved application session for a client device using a host device. [0012] FIG. 7 is an exemplary block diagram illustrating a network implementation of an application system and one or more data centers for execution of cloud-based applications. DETAILED DESCRIPTION OF IMPLEMENTATIONS [0013] In the following description, numerous specific details are set forth to provide a thorough understanding of the methods and mechanisms presented herein. However, one having ordinary skill in the art should recognize that the various implementations may be practiced without these specific details. In some instances, well-known structures, components, signals, computer program instructions, and techniques have not been shown in detail to avoid obscuring the approaches described herein. It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements. [0014] Systems, apparatuses, and methods for crowdsourced cloud gaming are disclosed. Crowdsourced cloud applications, such as those to provide and support gaming, leverage end-users' consumer gaming resources to host remote application sessions. As disclosed, a collection of end- user machines replaces the infrastructure (such as servers and data centers) traditionally used for cloud implementations. Further, an application system is described that enables set up and teardown of an application environment on a host device. A prospective host device is provided with an option to use computing resources of the application system. In various implementations, the application system deploys application files and/or other resources that are used by the host for execution of an application session. Once a suitable host device is identified, a peer-to-peer remote streaming connection is created between the host device and a client device that is requesting execution of the application session. In an implementation, the client device is able to control the application session that is executing at the host device. Further, once the application session is terminated the files and data associated with the application session are removed from the host device. In some cases, data associated with a saved application can be stored (e.g., in a database) and later restored. For example, when a request for restoring the last saved application session is received from the client device, the application system can restore the application session using saved data at another suitable host device. Attorney Docket No.5810-05401 [0015] In an implementation, an “application session” as described herein refers to a period of time during which a user interacts with a software ap