Electronic device, method, and computer readable storage medium for allocating an virtual machine for executing an application

KR103014439B1Active Publication Date: 2026-09-04N C
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
KR1020250013409
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-02-03
Publication Date
2026-09-04
Estimated Expiration
2041-07-23

Smart Images

  • Figure 112025012145239-PAT00001_ABST
    Figure 112025012145239-PAT00001_ABST
Patent Text Reader

Abstract

According to various embodiments, one or more programs stored on a computer-readable storage medium receive a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device through a first connection between the first electronic device and the third electronic device from a third electronic device distinct from the first electronic device, and in response to the reception of the first signal, establish a second connection between a second electronic device distinct from the third electronic device and the first electronic device and a third connection for transmitting graphic data from the third electronic device to the second electronic device, and in a first state in which the first connection, the second connection, and the third connection are established, in response to identifying a second user input by the third electronic device through the first connection, transmit a second signal requesting the second electronic device through the second connection to generate the graphic data including the character controlled based on the second user input, and in response to identifying entry into a second state distinct from the first state, control the character independently of the transmission of the graphic data based on the third connection. It may include instructions that cause the first electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The various embodiments described below relate to an electronic device, a method, and a computer-readable storage medium for allocating a virtual machine for the execution of an application. Background Technology

[0003] To execute an application on a user device, a server for processing data regarding the application and a cloud device for generating a screen regarding the processed data may be used. The user device, the server, and the cloud device can each establish a connection and transmit and receive data necessary for the execution of the application on the user device to each other. The problem to be solved

[0005] When an application (e.g., an online game) is executed on a user device, the server can process the execution of said application and transmit the processed data to a cloud device. Based on the processed data, the cloud device can generate a screen. The cloud device can transmit the generated screen to the user device.

[0006] In this case, if there is a shortage of cloud devices to generate screens, a problem may arise where the user device cannot run the application. Additionally, if cloud devices for generating screens are not prepared in advance, a problem may occur where the user device has to wait for a long time to run the application.

[0007] The technical problems to be solved in this document are not limited to those described above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this invention belongs from the description below. means of solving the problem

[0009] According to various embodiments, one or more programs stored in a computer-readable storage medium, when executed by at least one processor of a first electronic device having a communication circuit, identify first information indicating a resource of a second electronic device, and based on the first information, acquire second information indicating a number of one or more virtual machines to be executed in the second electronic device, and in response to the acquisition of the second information, transmit a first signal to the second electronic device to execute one or more virtual machines in a first mode in a number indicated by the second information, wherein the first mode is different from a second mode in which a virtual machine provides graphic data to any of the external electronic devices, after transmitting the first signal, identify an event to adjust the number of one or more virtual machines indicated by the second information, and in response to the identification of the event, acquire third information to adjust the number of one or more virtual machines indicated by the second information and being executed in the second electronic device, and in response to the acquisition of the third information, transmit to the second electronic device based on the second information It may include instructions that cause the first electronic device to transmit a second signal for adjusting the number of the one or more virtual machines running in the first mode.

[0010] One or more programs stored in a computer-readable storage medium according to various embodiments, when executed by at least one processor of a first electronic device having a communication circuit, receive a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device through a first connection between the first electronic device and the third electronic device from a third electronic device distinct from the first electronic device, and in response to the reception of the first signal, establish a second connection between a second electronic device distinct from the third electronic device and the first electronic device and a third connection for transmitting graphic data from the third electronic device to the second electronic device, and in a first state in which the first connection, the second connection and the third connection are established, in response to identifying a second user input by the third electronic device through the first connection, transmit a second signal requesting the second electronic device through the second connection to generate the graphic data including the character controlled based on the second user input, and in response to identifying entry into a second state distinct from the first state, the It may include instructions that cause the first electronic device to control the character independently of the transmission of the graphic data based on the third connection.

[0011] A method for operating a first electronic device having at least one memory and a communication circuit comprises: identifying first information indicating a resource of a second electronic device; acquiring second information indicating a number of one or more virtual machines to be executed in the second electronic device based on the first information; transmitting a first signal to the second electronic device in response to the acquisition of the second information to execute one or more virtual machines in a first mode, wherein the first mode is different from a second mode in which a virtual machine provides graphic data to any one of the external electronic devices; after transmitting the first signal, identifying an event to adjust the number of one or more virtual machines indicated by the second information; and in response to the identification of the event, acquiring third information to adjust the number of one or more virtual machines indicated by the second information and being executed in the second electronic device. and in response to the acquisition of the third information, the method may include transmitting a second signal to the second electronic device to adjust the number of the one or more virtual machines running in the first mode based on the second information.

[0012] A method for operating a first electronic device having at least one memory and a communication circuit comprises: receiving a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device through a first connection between the first electronic device and the third electronic device from a third electronic device distinguished from the first electronic device; in response to receiving the first signal, establishing a second connection between a second electronic device distinguished from the third electronic device and the first electronic device and a third connection for transmitting graphic data from the third electronic device to the second electronic device; and in a first state in which the first connection, the second connection, and the third connection are established, in response to identifying a second user input by the third electronic device through the first connection, transmitting a second signal through the second connection to the second electronic device requesting the generation of the graphic data including the character controlled based on the second user input. and in response to identifying entry into a second state distinct from the first state, the operation may include controlling the character independently of the transmission of the graphic data based on the third connection. Effects of the invention

[0014] According to various embodiments, the first electronic device may allocate one or more virtual machines of the second electronic device for the execution of an application of the third electronic device. Additionally, the first electronic device may determine and adjust the number of one or more virtual machines of the second electronic device. That is, the first electronic device may adjust the number of one or more virtual machines of the second electronic device according to the operating mode of external electronic devices including the third electronic device.

[0015] The effects obtainable from the present disclosure are not limited to those described above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure pertains from the description below. Brief explanation of the drawing

[0017] FIG. 1 illustrates an environment including electronic devices according to various embodiments. FIG. 2 illustrates examples of a first mode of a second electronic device and a third mode of operation of a third electronic device according to various embodiments. FIG. 3 illustrates examples of a second mode of a second electronic device and a first mode of operation of a third electronic device according to various embodiments. FIG. 4 illustrates examples of a first mode of a second electronic device and a second mode of operation of a third electronic device according to various embodiments. FIG. 5 illustrates an example of signaling between electronic devices according to various embodiments. FIG. 6 illustrates examples of the operation of electronic devices according to various embodiments. FIG. 7 illustrates an example of signaling between electronic devices according to various embodiments. FIG. 8 illustrates examples of the operation of electronic devices according to various embodiments. FIG. 9 illustrates examples of the operation of electronic devices according to various embodiments. FIG. 10 illustrates an example of a state change of a third electronic device according to various embodiments. FIG. 11 is a flowchart illustrating examples of the operation of a first electronic device according to various embodiments. FIG. 12 is a flowchart illustrating an example of the operation of a first electronic device according to various embodiments. FIG. 13 is a flowchart illustrating an example of the operation of a first electronic device according to various embodiments. FIG. 14 is a simplified block diagram illustrating the functional configurations of each of the electronic devices according to various embodiments. Specific details for implementing the invention

[0018] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, a server, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.

[0019] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish a component from another corresponding component and do not limit the components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as "coupled" or "connected" to another (e.g., 2nd) component, with or without the terms "functionally" or "communicationly," it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

[0020] As used in this document, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be a component formed as a whole, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0021] Various embodiments of this document may be implemented as software (e.g., a program) comprising one or more instructions stored in a storage medium readable by a machine (e.g., an electronic device (105)). For example, a processor of the machine (e.g., an electronic device (105)) may call at least one of the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, "non-transitory" simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily in the storage medium.

[0022] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or an application store (e.g., Play Store). TM , or App Store TM It can be distributed online (e.g., downloaded or uploaded) through ) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0023] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the components of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to the integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0025] FIG. 1 illustrates an environment including electronic devices according to various embodiments.

[0026] Referring to FIG. 1, the environment (100) may include a first electronic device (101), a second electronic device (102), and a third electronic device (103).

[0027] In various embodiments, the first electronic device (101) may be at least one server providing a service (e.g., an online game service) for an application (e.g., an online game). For example, the electronic device (101) may include an application server, a billing server, a database storing user information of the application, a database storing data for the execution of the application, and a database storing data related to a payment transaction occurring within the application. According to embodiments, the application server, the billing server, the database storing user information, the database storing data for the execution of the application, and the database storing data related to the payment transaction may be implemented as a single physical machine or as multiple physical machines.

[0028] In various embodiments, the application server may process a request for operation related to the application received from a third electronic device (103), which is a client device, based on a connection with the database that stores the data for the execution of the application, and transmit information regarding the result of the processing to the third electronic device (103). In various embodiments, the application server may register a user of the third electronic device (103), which is a client device, based on a connection with the database that stores user information of the application, or perform authentication of the user based at least on the relationship between the account information received from the third electronic device (103) and the account information stored in the database that stores the user information.

[0029] In various embodiments, the fee processing server may process payment transactions occurring during the execution of the application based on interaction with the database storing the data related to the payment transaction. If the payment transaction involves an account transfer or a credit card payment, the fee processing server may further interact with an electronic device for a bank or credit card company to process the payment transaction.

[0030] In various embodiments, the second electronic device (102) may be at least one server that provides a service for executing an application based on cloud computing (e.g., generating graphic data regarding the execution screen of the application). In various embodiments, the second electronic device (102) may include one or more virtual machines for executing the application. The application may be executed through one of the one or more virtual machines (e.g., a first virtual machine). The second electronic device (102) may transmit graphic data regarding the execution screen of the application to the third electronic device (103). For example, the graphic data may be transmitted directly to the third electronic device (103) or transmitted through the first electronic device (101).

[0031] In various embodiments, the second electronic device (102) can operate in one of the first mode and the second mode.

[0032] For example, the first mode may include a waiting mode in which the second electronic device (102) does not provide graphic data to external electronic devices through one or more virtual machines. That is, when the second electronic device (102) operates in the first mode, one or more virtual machines are executed within the second electronic device (102) but may operate in a waiting state.

[0033] The second electronic device (102) may wait for or generate graphic data of the third electronic device (103) in both the first mode and the second mode by the first electronic device (101). The owner of the second electronic device (102) and the owner of the first electronic device (101) may be different. According to one embodiment, the first electronic device (101) may cause a transaction between the user of the third electronic device (103) and the user of the second electronic device (102) in response to using the second electronic device (102) for the execution of an application of the third electronic device (103). For example, the first electronic device (101) may add at least a portion of the amount included in an account indicated by information related to the user of the third electronic device (103) to the amount included in an account indicated by information related to the user of the second electronic device (102). In one embodiment, the first electronic device (101) may add an amount based at least on the time when the second electronic device (102) operates in a first mode and / or a second mode to an amount included in an account indicated by information related to the user of the second electronic device (102).

[0034] For example, the second mode may include a mode for providing graphic data to external electronic devices (e.g., a third electronic device (103)) through one or more virtual machines in the second electronic device (102).

[0035] The first mode and the second mode may be referred to in various ways. For example, the first mode may be called a standby mode. The second mode may be called an activation mode. An example of a second electronic device (102) operating in the first mode and the second mode will be described later through FIGS. 2 and FIGS. 3.

[0036] In various embodiments, generating graphic data regarding the execution screen of an application in the second electronic device (102) may be triggered based on a request from the third electronic device (103). The request from the third electronic device (103) may be received directly from the third electronic device (103) or received from the third electronic device (103) through the first electronic device (101). However, it is not limited thereto.

[0037] In various embodiments, the second electronic device (102) may receive a signal for user input caused in relation to at least one content (e.g., a character) displayed in the third electronic device (103) while generating graphic data regarding the execution screen of the application within the second electronic device (102). For example, the signal may be received directly from the third electronic device (103) or may be received from the third electronic device (103) through the first electronic device (101). However, it is not limited thereto.

[0038] In various embodiments, the third electronic device (103) may be a client device (e.g., desktop computer, laptop computer, smartphone, tablet computer, console, etc.) for a user playing the application. In various embodiments, the third electronic device (103) may be a device that displays an execution screen of the application running within the third electronic device (103) or running within the second electronic device (102). In various embodiments, the third electronic device (103) may be a device that receives user input related to the application through an execution screen of the application running within the third electronic device (103) or generated through the second electronic device (102).

[0039] In various embodiments, the third electronic device (103) may operate in one of the first to third operating modes when the application is executed.

[0040] For example, the third electronic device (103) can receive graphic data from the second electronic device (102) in the first operation mode and display an application execution screen based on the received graphic data.

[0041] As another example, the third electronic device (103) may not display the execution screen of the application in the second operation mode. The third electronic device (103) may display the standby screen of the application in the second operation mode. The third electronic device (103) may maintain the user's login status for the application in the second operation mode. Additionally, the third electronic device (103) may change the operation mode from the second operation mode to the third operation mode without waiting time based on the user's input.

[0042] As another example, the third electronic device (103) may display a logout status for the user's application in the third operation mode. The third electronic device (103) may change the operation mode from the third operation mode to the first operation mode based on the user's input (e.g., input for login). When the third electronic device (103) changes from the third operation mode to the first operation mode, a waiting time may occur in the third electronic device (103).

[0043] The first to third operation modes may be referred to in various ways. For example, the first operation mode may be called the streaming enable mode. The second operation mode may be called the resource saving mode. The third operation mode may be called the logout mode.

[0044] The first mode and second mode of the second electronic device (102) described above may be distinguished from the first to third operation modes of the third electronic device (103). That is, the first mode and second mode described below may be related to the second electronic device (102). The first to third operation modes described below may be related to the third electronic device (103).

[0045] For example, the first mode and the second mode of the second electronic device (102) may be distinguished based on whether the second electronic device (102) provides graphic data to external electronic devices through one or more virtual machines.

[0046] For example, the first to third operating modes of the third electronic device (103) can be distinguished based on the execution status of an application running on the third electronic device (103).

[0047] In FIGS. 2 to 4, an example of the state of the first electronic device (101) to the third electronic device (103) according to the mode of the second electronic device (102) (e.g., first mode and second mode) and the operation mode of the third electronic device (103) (e.g., first operation mode to third operation mode) may be illustrated. For convenience of explanation, in FIGS. 2 to 4, an application running on the third electronic device (103) may be described as an online game (or cloud game), which is an example of said application.

[0049] FIG. 2 illustrates examples of a first mode of a second electronic device and a third mode of operation of a third electronic device according to various embodiments.

[0050] Referring to FIG. 2, the first electronic device (101) can establish a connection with the second electronic device (102).

[0051] For example, the first electronic device (101) can identify whether the second electronic device (102) is in use. The first electronic device (101) can establish a connection with the second electronic device (102) when the second electronic device (102) is not in use. In other words, the first electronic device (101) can establish a connection with the second electronic device (102) based on the fact that the second electronic device (102) is not in use.

[0052] For example, the first electronic device (101) can determine whether it can establish a connection with the second electronic device (102). For example, the time at which a connection can be established with the second electronic device (102) can be determined by the first electronic device (101) or the second electronic device (102). Accordingly, the first electronic device (101) can determine whether the current time is a time at which a connection can be established with the second electronic device (102). Based on the fact that a connection can be established with the second electronic device (102), the first electronic device (101) can establish a connection with the second electronic device (102).

[0053] After a connection with the second electronic device (102) is established, the first electronic device (101) can identify first information indicating the resources of the second electronic device (102). For example, the first information may include information regarding the central processing unit of the second electronic device (102), information regarding the graphics processing unit of the second electronic device (102), information regarding the memory unit of the second electronic device (102), and information regarding the network status of the second electronic device (102).

[0054] The first electronic device (101) can obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on first information indicating the resources of the second electronic device (102). In other words, the first electronic device (101) can determine the number of one or more virtual machines to be executed in the second electronic device (102) based on the first information.

[0055] The first electronic device (101) can transmit a first signal for running a number (e.g., N) of virtual machines indicated by the second information in the first mode of the second electronic device (102). The second electronic device (102) can receive the first signal.

[0056] The second electronic device (102) can execute a number (e.g., N) of virtual machines indicated by the second information based on the first signal. The second electronic device (102) can operate in a first mode that does not provide graphic data to external electronic devices (e.g., the third electronic device (103)). According to one embodiment, the first electronic device (101) can adjust the number of virtual machines executed in the second electronic device (102) based on an event for adjusting the number of virtual machines. A specific embodiment for the first electronic device (101) to adjust the number of virtual machines executed in the second electronic device (102) will be described later through FIGS. 5 and 6.

[0057] The third electronic device (103) can operate in a third operation mode. For example, the third electronic device (103) can operate in a state where an online game is running but the user has not logged in (or is logged out).

[0058] The third electronic device (103) may not have established a connection with the first electronic device (101) and the second electronic device (102) while operating in the third operating mode. The third electronic device (103) may establish a connection with the first electronic device (101) and the third electronic device (103), respectively, based on the user's login. Additionally, the operating mode of the third electronic device (103) may be changed from the third operating mode to the first operating mode based on the user's login.

[0060] FIG. 3 illustrates examples of a second mode of a second electronic device and a first mode of operation of a third electronic device according to various embodiments.

[0061] Referring to FIG. 3, a third electronic device (103) can receive user input (e.g., login input). In the third electronic device (103), an online game can be executed based on the user input. Based on the user input, the third electronic device (103) can request the first electronic device (101) to establish a session based on an account indicated by the user input. In response to the request, the first electronic device (101) can establish a session based on the account with the third electronic device (103).

[0062] For example, the third electronic device (103) can transmit a first signal for accessing a character corresponding to the user to the first electronic device (101) through a first connection (310) between the first electronic device (101) and the third electronic device (103).

[0063] The first electronic device (101) may receive a first signal from the third electronic device (103). In response to the first signal, the first electronic device (101) may establish a second connection (320) between the first electronic device (101) and the second electronic device (102). Additionally, the first electronic device (101) may establish a third connection (330) between the second electronic device (102) and the third electronic device (103) in response to the first signal. For example, the first electronic device (101) may transmit a signal to at least one of the first electronic device (101) and the second electronic device (102) to instruct the establishment of the third connection (330). According to one embodiment, the signal to instruct the establishment of the third connection (330) may include information related to the third electronic device (103) indicated by the session. Based on information related to the third electronic device (103) included in the above signal, a third connection (330) between the second electronic device (102) and the first electronic device (101) can be established.

[0064] In a first state in which the first connection (310), the second connection (320), and the third connection (330) are established, the third electronic device (103) can receive user input for controlling a character corresponding to the user. The third electronic device (103) can transmit a signal to the first electronic device (101) indicating that user input for controlling a character corresponding to the user has been received.

[0065] The first electronic device (101) can transmit a second signal to the second electronic device (102) requesting the generation of graphic data including the character controlled based on user input.

[0066] The second electronic device (102) may change the mode of the second electronic device (102) from the first mode to the second mode in response to the second signal. For example, the second electronic device (102) may generate graphic data including the character through the first virtual machine among one or more running virtual machines. The second electronic device (102) may transmit the generated graphic data to the third electronic device (103). For example, the second electronic device (102) may transmit the generated graphic data directly to the third electronic device (103). As another example, the second electronic device (102) may transmit the generated graphic data to the third electronic device (103) through the first electronic device (101).

[0067] The third electronic device (103) can receive graphic data from the second electronic device (102). For example, in the first operation mode, the third electronic device (103) can receive graphic data from the second electronic device (102) and display an execution screen of an online game based on the received graphic data.

[0068] That is, the first electronic device (101) can perform data processing to control the character after receiving a signal indicating that user input for controlling the character corresponding to the user has been received. Based on the data processing, the first electronic device (101) can request the second electronic device (102) to generate graphic data. For example, the first electronic device (101) can transmit the result of the data processing to the second electronic device (102). Additionally, the first electronic device (101) can request the second electronic device (102) to generate graphic data along with the result of the data processing.

[0069] The second electronic device (102) can generate graphic data for displaying a character corresponding to the user based on data processing performed in the first electronic device (101). The second electronic device (102) can transmit the generated graphic data to the third electronic device (103). The third electronic device (103) can display a character corresponding to the user on the display of the third electronic device (103) based on the generated graphic data.

[0071] FIG. 4 illustrates examples of a first mode of a second electronic device and a second mode of operation of a third electronic device according to various embodiments.

[0072] Referring to FIG. 4, the third electronic device (103) may receive user input in a first operating mode (e.g., start of automatic hunting to control a character corresponding to the user independently of user input and / or start of a power-saving mode to at least temporarily suspend the display of graphic data). Based on the user input, the third electronic device (103) may change the operating mode of the third electronic device (103) from the first operating mode to a second operating mode. Based on the user input, the third electronic device (103) may display a screen (410) corresponding to the user input. Thus, the third electronic device (103) may display the screen (410) in the second operating mode. In the second operating mode, the third electronic device (103) may wait for user input to maintain the user's login status and disable the second operating mode. Although not illustrated, the screen (410) may include information regarding the time during which the second operating mode is maintained. For example, after the time during which the second operation mode is maintained has elapsed, the operation mode of the third electronic device (103) may be changed from the second operation mode to the third operation mode.

[0073] For example, in an online game, the user input may be an input to start auto-hunting (or start power saving mode). Based on the user input, the third electronic device (103) may display a screen (410) indicating that auto-hunting is in progress (or operating in power saving mode) through the display of the third electronic device (103).

[0074] The third electronic device (103) can transmit a signal indicating the user input to the first electronic device (101).

[0075] The first electronic device (101) can disconnect the second connection between the first electronic device (101) and the second electronic device (102) based on a signal indicating the user input. For example, the first electronic device (101) can transmit a signal requesting the second electronic device (102) to stop generating graphic data and disconnect the second connection.

[0076] Based on the above signal, the second electronic device (102) may stop generating graphic data to the third electronic device (103). The second electronic device (102) may change the mode of the second electronic device (102) from a second mode to a first mode to generate and provide graphic data.

[0077] The first electronic device (101) can disconnect the third connection between the second electronic device (102) and the third electronic device (103) based on a signal indicating the user input. For example, the first electronic device (101) may transmit a signal to the second electronic device (102) to request the disconnection of the third connection. The first electronic device (101) may also transmit a signal to the third electronic device (103) to request the disconnection of the third connection.

[0079] FIG. 5 illustrates an example of signaling between electronic devices according to various embodiments.

[0080] Referring to FIG. 5, in operation 500, while operations 510 to 580 are performed, the third electronic device (103) can operate in one of the second operation mode and the third operation mode.

[0081] In operation 510, the first electronic device (101) can identify first information indicating the resources of the second electronic device (102).

[0082] For example, information indicating the above resources may include information regarding the central processing unit of the second electronic device (102), information regarding the graphics processing unit of the second electronic device (102), information regarding the memory unit of the second electronic device (102), and information regarding the network status of the second electronic device (102).

[0083] For example, information regarding the central processing unit of the second electronic device (102) may include information regarding the architecture type, number of cores, cache memory capacity, cache memory level, vendor name, product name, or operating frequency.

[0084] For example, information regarding the graphics processing unit of the second electronic device (102) may include information regarding the architecture type, number of cores, cache memory capacity, or GRAM (graphic random access memory) size.

[0085] For example, information regarding the memory device of the second electronic device (102) may include information regarding bandwidth, SRAM (static random access memory) size, or operating frequency, etc.

[0086] For example, information regarding the network status of the second electronic device (102) may include information regarding bandwidth or speed, etc.

[0087] In operation 520, the first electronic device (101) can obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102).

[0088] According to one embodiment, the first electronic device (101) can set total grade information of the second electronic device (102) based on the first information to identify the number of one or more virtual machines to be executed in the second electronic device (102).

[0089] For example, the first electronic device (101) may set first grade information based on information regarding the central processing unit of the second electronic device (102), second grade information based on information regarding the graphics processing unit of the second electronic device (102), third grade information based on information regarding the memory unit of the second electronic device (102), and fourth grade information based on information regarding the network status of the second electronic device (102). For example, the first grade information to the fourth grade information may each be set to one of four grades. The four grades may include Grade S, Grade A, Grade B, and Grade C. Among the four grades, the highest grade may be set to Grade S and the lowest grade to Grade C.

[0090] For example, the first electronic device (101) can set first to fourth grade information regarding the second electronic device (102) among the second electronic devices (102). The first electronic device (101) can set the first grade information of the second electronic device to Grade A. The first electronic device (101) can set the second grade information of the second electronic device (102) to Grade B. The first electronic device (101) can set the third grade information of the second electronic device (102) to Grade B. The first electronic device (101) can set the fourth grade information of the second electronic device (102) to Grade C.

[0091] For example, the first electronic device (101) may set (or determine) the lowest grade information among the first grade information to the fourth grade information of the second electronic device (102) as the overall grade information of the second electronic device (102). Accordingly, in the example described above, the first electronic device (101) may set the overall grade information of the second electronic device (102) to Grade C.

[0092] In another example, the first electronic device (101) may set (or determine) the average grade of the first grade information to the fourth grade information of the second electronic device (102) as the total grade information of the second electronic device (102). Accordingly, in the example described above, the first electronic device (101) may set the total grade information of the second electronic device (102) to grade B.

[0093] According to one embodiment, the first electronic device (101) can obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on the overall class information of the second electronic device (102).

[0094] The first electronic device (101) can determine the number of one or more virtual machines to be executed in the second electronic device (102) according to the grade of the total grade information of the second electronic device (102).

[0095] For example, if the overall grade information of the second electronic device (102) is Grade S, the number of one or more virtual machines to be executed in the second electronic device (102) can be set to N1. As another example, if the overall grade information of the second electronic device (102) is Grade A, the number of one or more virtual machines to be executed in the second electronic device (102) can be set to N2. As yet another example, if the overall grade information of the second electronic device (102) is Grade B, the number of one or more virtual machines to be executed in the second electronic device (102) can be set to N3. As yet another example, if the overall grade information of the second electronic device (102) is Grade C, the number of one or more virtual machines to be executed in the second electronic device (102) can be set to N4. The higher the overall grade information of the second electronic device (102), the more virtual machines can be allocated. Accordingly, in the examples described above, the values ​​of N1 to N4 can be set as N1 > N2 > N3 > N4, respectively.

[0096] In operation 530, the first electronic device (101) may, in response to the acquisition of the second information, transmit a first signal to the second electronic device for running a number of virtual machines indicated by the second information in the first mode.

[0097] For example, the first electronic device (101) can set the number of one or more virtual machines to be executed in the second electronic device (102) to N. Accordingly, the first electronic device (101) can transmit a first signal for executing the N virtual machines in a first mode.

[0098] In operation 540, the second electronic device (102) can run one or more virtual machines in the first mode, as indicated by the second information. For example, if the number indicated by the second information is N, the second electronic device (102) can run N virtual machines in the first mode. In other words, the second electronic device (102) can run N virtual machines, but the second electronic device (102) can operate in the first mode that does not provide graphic data.

[0099] In operation 550, the first electronic device (101) can identify an event for adjusting the number of one or more virtual machines indicated by the second information.

[0100] For example, the event may include a first electronic device (101) and / or an action of the user that changes the state of the user. The event may include an electronic device (e.g., a second electronic device (102) or a third electronic device (103)) and / or an action of the user that is detectable by the first electronic device (101). According to one embodiment, the first electronic device (101) may execute instructions referenced as an event handler in response to identifying the event.

[0101] For example, the above event may include an event of transitioning from a first time interval to a second time interval. For example, within the first time interval, the second electronic device (102) may run a number of virtual machines indicated by the second information in the first mode. While the number of virtual machines indicated by the second information are running in the first mode in the second electronic device (102), the first electronic device (101) may identify that the transition is occurring from the first time interval to the second time interval.

[0102] For example, the first time interval and the second time interval may be pre-designated and set. The first time interval and the second time interval may be pre-designated based on time or date, etc. For example, the first time interval may be set from 12:00 AM to 6:00 PM. The second time interval may be set from 6:00 PM to 12:00 PM.

[0103] As another example, the first time interval and the second time interval may be determined (or set) by the first electronic device (101). The first electronic device (101) may learn data regarding the operation mode of external electronic devices including the third electronic device (103) based on a machine learning model. Learning of the machine learning model may include an operation of adjusting weights between multiple nodes included in a neural network (e.g., feedforward neural network, convolutional neural network (CNN), recurrent neural network (RNN) and / or long-short-term memory model (LSTM)) based on supervised learning and / or unsupervised learning. The first time interval and the second time interval may be determined by the first electronic device (101) based on the learned data.

[0104] The first electronic device (101) can learn the time interval during which the most external electronic devices operate in the first operating mode and the time interval during which the fewest external electronic devices operate in the first operating mode. Based on the learned data, the first electronic device (101) can predict (or identify) the number (or ratio) of external electronic devices operating in the first operating mode in the second time interval. The first electronic device (101) can predict (or identify) that the number of external electronic devices operating in the first operating mode in the second time interval is greater than the number of external electronic devices operating in the first operating mode in the first time interval. Accordingly, the first electronic device (101) can adjust the number of virtual machines running on the second electronic device (102) in the second time interval.

[0105] For example, the first time interval and the second time interval may be determined based on the number of one or more subscribers accessing a service (e.g., an online game service) corresponding to an application (e.g., an online game) running on the third electronic device (103). For example, the number of one or more subscribers accessing the service in the first time interval may be relatively large. The number of one or more subscribers accessing the service in the second time interval may be relatively small.

[0106] The first electronic device (101) can determine the total number of virtual machines, including virtual machines running in the second electronic device (102), which are running in the first time interval. For example, in the first time interval, where the number of subscribers accessing a service related to an application running in the third electronic device (103) is relatively large, the first electronic device (101) can determine the total number of virtual machines based on the number of subscribers accessing the service by applying a first ratio (e.g., 130%). The first electronic device (101) can adjust the number of virtual machines running in the first interval in the second electronic device (102) based on the total number of virtual machines.

[0107] Additionally, the first electronic device (101) may determine the total number of virtual machines, including virtual machines running in the second electronic device (102), which are executed in the second period. For example, in a second time period in which the number of subscribers accessing a service related to an application running in the third electronic device (103) is relatively small, the first electronic device (101) may determine the total number of virtual machines based on the number of subscribers accessing the service, by applying a second ratio (e.g., 110% and / or 105%) different from the first ratio to the number of subscribers accessing the service. For example, the first time period may include a time period in which an event designated by the service provider of the service occurs. For example, the second time period may include a time period distinct from the first time period. The first electronic device (101) may adjust the number of virtual machines running in the second period in the second electronic device (102) based on the total number of virtual machines.

[0108] In operation 560, the first electronic device (101) may obtain third information for adjusting the number of one or more virtual machines running in the second electronic device (102). For example, the first electronic device (101) may obtain third information for adjusting the number of one or more virtual machines running in the second electronic device (102), indicated by the second information, in response to the identification of the event.

[0109] In operation 570, the first electronic device (101) may transmit a second signal to adjust the number of one or more virtual machines running in the first mode. For example, in response to the acquisition of third information, the first electronic device (101) may transmit a second signal to the second electronic device to adjust the number of one or more virtual machines running in the first mode based on the third information.

[0110] For example, the first electronic device (101) can transmit the second signal through a connection (e.g., a second connection) between the first electronic device (101) and the second electronic device (102).

[0111] In operation 580, the second electronic device (102) can adjust the number of one or more virtual machines based on the second signal.

[0113] FIG. 6 illustrates examples of the operation of electronic devices according to various embodiments.

[0114] Referring to FIG. 6, the third electronic device (103) may be disconnected from the third electronic device (103). Additionally, the third electronic device (103) may operate in a third operation mode.

[0115] The first electronic device (101) can identify first information indicating the resources of the second electronic device (102). Based on the first information indicating the resources of the second electronic device (102), the first electronic device (101) can determine the overall class information of the second electronic device (102). Based on the overall class information of the second electronic device (102), the first electronic device (101) can determine the number of virtual machines to be executed in the second electronic device (102). For example, the first electronic device (101) can determine the number of virtual machines to be executed in the second electronic device (102) to be four. The first electronic device (101) can obtain second information indicating the number of virtual machines to be executed in the second electronic device (102) (i.e., four).

[0116] The first electronic device (101) can transmit a first signal (605) to the second electronic device (102) to run four virtual machines in the first mode. The second electronic device (102) can receive the first signal (605).

[0117] The second electronic device (102) can run four virtual machines in the second electronic device (102) based on the first signal (605). For example, the second electronic device (102) can run the first virtual machine (601), the second virtual machine (602), the third virtual machine (603), and the fourth virtual machine (604) in the first mode. In other words, the second electronic device (102) can run the first virtual machine (601) through the fourth virtual machine (604) and operate in the first mode.

[0118] The first electronic device (101) can identify an event for adjusting the number of virtual machines (i.e., 4) indicated by the second information.

[0119] For example, the first electronic device (101) can identify that it is transitioning from a first time interval to a second time interval. For example, in the first time interval, the number of virtual machines running on the second electronic device (102) can be set to 4. In the second time interval, the number of virtual machines running on the second electronic device (102) can be set to 2.

[0120] The first electronic device (101) may obtain third information for adjusting the number of one or more virtual machines running in the second electronic device (102) as directed by the second information in response to the identification of an event. For example, the first electronic device (101) may obtain third information for adjusting the number of virtual machines running in the second electronic device (102) from four to two.

[0121] The first electronic device (101) may transmit a second signal (613) to the second electronic device (102) to adjust the number of one or more virtual machines running in the first mode based on the second information in response to the acquisition of the third information. For example, the second signal (613) may correspond to the second signal of operation 570 of FIG. 5. For example, the first electronic device (101) may transmit a second signal (613) to the second electronic device (102) to adjust the number of virtual machines running in the first mode from four to two in response to the acquisition of the third information.

[0122] The second electronic device (102) can adjust the number of virtual machines running in the second electronic device (102) from four to two based on the second signal (613). For example, the second electronic device (102) can stop the execution of the third virtual machine (603) and the fourth virtual machine (604) among the first virtual machine (601) to the fourth virtual machine (604). In other words, the second electronic device (102) can maintain the execution of only the first virtual machine (601) and the second virtual machine (602) among the first virtual machine (601) to the fourth virtual machine (604).

[0124] FIG. 7 illustrates an example of signaling between electronic devices according to various embodiments.

[0125] Referring to FIG. 7, in operation 701, the third electronic device (103) may receive a first user input for accessing a character corresponding to a user of the third electronic device (103). For example, the first user input may include a login input from the user for accessing the character.

[0126] For example, the third electronic device (103) can establish a first connection with the first electronic device (101) based on the first user input. As another example, the third electronic device (103) can receive the first user input while the first connection with the first electronic device (101) is established.

[0127] In operation 702, the third electronic device (103) can transmit a first signal regarding a first user input for accessing a character corresponding to the user of the third electronic device (103) through a first connection. Alternatively, the first electronic device (101) can receive the first signal through a first connection.

[0128] In operation 703, the first electronic device (101) may establish a second connection on the first electronic device (101) and the second electronic device (102) in response to the reception of the first signal. For example, the second connection may be used to transmit information regarding the control of a character.

[0129] In operation 704, the first electronic device (101) may establish a third connection on the second electronic device (102) and the third electronic device (103) in response to the reception of the first signal. The third connection may be used to transmit graphic data from the third electronic device (103) to the second electronic device (102).

[0130] For example, the first electronic device (101) may transmit information regarding the third electronic device (103) to the second electronic device (102). According to one embodiment, the first electronic device (101) may transmit to the second electronic device (102) at least a portion of the session corresponding to the first connection as information regarding the third electronic device (103). For example, the first electronic device (101) may transmit to the second electronic device (102) parameters used to connect with the third electronic device (103) among the information included in the session (e.g., the IP address, MAC address, and / or port number for receiving graphic data assigned by the operating system of the third electronic device (103)). For example, the first electronic device (101) may transmit information to the second electronic device (102) for establishing a connection with the third electronic device (103) through the second connection. As another example, the first electronic device (101) can transmit information to assign the third electronic device (103) to the virtual machine of the second electronic device (102) through the second connection.

[0131] Based on information regarding the third electronic device (103) above, the second electronic device (102) can establish a third connection with the third electronic device (103).

[0132] In operation 705, the third electronic device (103) may receive a second user input. For example, the third electronic device (103) may receive a second user input for controlling the character. The second user input may be configured in various ways. For example, the second user input may include input regarding the character's movement within the online game, input regarding the character's attack, input regarding the character's defense, or input regarding the character's dialogue.

[0133] In operation 706, the third electronic device (103) may transmit a second signal regarding the second user input to the first electronic device (101). Alternatively, the first electronic device (101) may receive the second signal from the third electronic device (103). The first electronic device (101) may perform data processing to control the character based on the second signal. For example, the first electronic device (101) may perform data processing to control the character based on the second user input. The first electronic device (101) may perform data processing to change the movement of the character according to the second user input.

[0134] In operation 707, the first electronic device (101) may transmit a third signal to the second electronic device (102) to request the generation of graphic data including a character controlled based on the second user input. For example, the first electronic device (101) may perform data processing to control the character and transmit a third signal including the result (or result value) performed to the second electronic device (102).

[0135] In operation 708, the second electronic device (102) can generate graphic data including a character controlled based on the second user input. For example, the second electronic device (102) can receive the result of data processing for character control from the first electronic device (101) and generate graphic data based on the received result.

[0136] In operation 709, the second electronic device (102) can transmit the generated graphic data to the third electronic device (103). Alternatively, the third electronic device (103) can receive the generated graphic data from the second electronic device (102). The third electronic device (103) can display the generated graphic data through the display of the third electronic device (103).

[0137] In operation 710, the second electronic device (102) may receive a third user input. The third user input may include an input for changing the operation mode of the third electronic device (103). For example, the third electronic device (103) may receive a third user input for changing the operation mode of the third electronic device (103) from a first operation mode to a second operation mode. For example, the third electronic device (103) may receive a third user input for maintaining access to the character without displaying the execution of an online game.

[0138] In operation 711, the third electronic device (103) may transmit a fourth signal regarding the third user input. Alternatively, the first electronic device (101) may receive the fourth signal regarding the third user input from the third electronic device (103).

[0139] In operation 712, the first electronic device (101) may disconnect the second connection between the first electronic device (101) and the second electronic device (102) based on the fourth signal. For example, the first electronic device (101) may transmit a signal to the second electronic device (102) to request the cessation of the generation and transmission of the graphic data based on the fourth signal. Subsequently, the first electronic device (101) may disconnect the second connection with the second electronic device (102).

[0140] In operation 713, the first electronic device (101) may disconnect the third connection between the second electronic device (102) and the third electronic device (103) based on the fourth signal. The first electronic device (101) may transmit a signal to the second electronic device (102) to request the disconnection of the third connection along with the disconnection of the second connection. Subsequently, the second electronic device (102) may disconnect the connection with the third electronic device (103). After the third connection is disconnected, the second electronic device (102) may not transmit graphic data to the third electronic device (103).

[0141] The third electronic device (103) can operate in a third operation mode based on the third connection being disconnected. For example, the third electronic device (103) can maintain access to the character without displaying the execution of the online game.

[0142] In operation 714, the first electronic device (101) can control a character independently of the transmission of graphic data based on the third connection. The first electronic device (101) can control the character based on a specified condition even if a second user input for controlling the character is not received. For example, the specified condition may be specified by a user of the third electronic device (103) or may be a state stored within the first electronic device (101).

[0143] Accordingly, the first electronic device (101) can control the character until it receives an input to change the operation mode of the third electronic device (103), even when the control screen of the character is not displayed on the third electronic device (103).

[0145] FIG. 8 illustrates examples of the operation of electronic devices according to various embodiments.

[0146] Referring to FIG. 8, the third electronic device (103) may operate in a third operation mode. For example, the third electronic device (103) may operate in a third operation mode before the user of the third electronic device (103) performs access to a character in an online game corresponding to the user. As an example, the third electronic device (103) may display a screen (803) for the user to perform access to the character on the display of the third electronic device (103).

[0147] The third electronic device (103) can receive a first user input for accessing a character corresponding to the user. For example, the third electronic device (103) can receive a first user input for logging into an online game.

[0148] The third electronic device (103) can transmit a first signal (801) regarding the first user input to the first electronic device (101).

[0149] For example, the first signal (801) may include information regarding the user's login. The information regarding the user's login may include the user's ID information and the user's password information.

[0150] As another example, the first signal (801) may include a signal for establishing a first connection (810) with the first electronic device (101). The connection with the first electronic device (101) may be used to request data processing regarding the control of a character controlled based on user input of the third electronic device (103). The first electronic device (101) may establish a first connection (810) with the third electronic device (103) based on the first signal.

[0151] The first electronic device (101) may request a connection from the second electronic device (102). The connection request may include a request for a second connection (820) between the first electronic device (101) and the second electronic device (102) and a third connection (830) between the second electronic device (102) and the third electronic device (103).

[0152] Based on the first signal above, the first electronic device (101) can establish a second connection (820) between the first electronic device (101) and the second electronic device (102). Additionally, the first electronic device (101) can establish a third connection (830) between the second electronic device (102) and the third electronic device (103).

[0153] The first electronic device (101) establishes a second connection (820) and can assign the first virtual machine (811) among the N virtual machines running in the second electronic device (102) as a virtual machine for transmitting graphic data to the third electronic device (103). The second electronic device (102) can generate graphic data for the third electronic device (103) through the first virtual machine (811) and transmit it to the third electronic device (103).

[0154] After the first connection (810), the second connection (820), and the third connection (830) are established, the third electronic device (103) can change its operation mode from the third operation mode to the first operation mode.

[0155] The third electronic device (103) can receive a second user input in the first operation mode. For example, the third electronic device (103) can receive a second user input for controlling a character in an online game.

[0156] The third electronic device (103) can transmit a second signal (804) regarding a second user input to the first electronic device (101). The first electronic device (101) can receive the second signal (804) regarding the second user input from the third electronic device (103).

[0157] The first electronic device (101) can perform data processing to control the character based on the second signal (804). For example, the first electronic device (101) can perform data processing to control the movement of the character or to control the background or objects related to the character.

[0158] The first electronic device (101) can perform data processing to control the character and transmit a third signal (805) containing the result of the processing to the second electronic device (102). The second electronic device (102) can receive the third signal from the first electronic device (101).

[0159] The second electronic device (102) can generate graphic data (806) including a character controlled based on a second user input through the first virtual machine (811) based on the third signal (805). For example, the second electronic device (102) can receive the result of data processing for character control from the first electronic device (101) and generate graphic data (806) through the first virtual machine (811) based on the received result.

[0160] The third electronic device (103) can receive graphic data (806) generated from the second electronic device (102). Based on the graphic data (806), the third electronic device (103) can display a screen (812) through the display of the third electronic device (103). The screen (812) may include a character controlled based on a second user input.

[0162] FIG. 9 illustrates examples of the operation of electronic devices according to various embodiments.

[0163] Referring to FIG. 9, the third electronic device (103) can operate in a first operation mode. For example, the third electronic device (103) can operate in a first operation mode in which a user of the third electronic device (103) controls a character in an online game corresponding to the user.

[0164] The third electronic device (103) may receive user input to change the operation mode of the third electronic device (103) from a first operation mode to a second operation mode. In the second operation mode, the third electronic device (103) may maintain access to the character without displaying the execution of the online game. For example, the third electronic device (103) may receive user input to request auto-hunting (or power-saving mode) within the online game. As an example, the third electronic device (103) may receive user input to set the login status within the online game so that screen switching regarding the user's character is not performed, while maintaining the login status.

[0165] The third electronic device (103) can transmit the reception information (901) of the user input to the first electronic device (101). In other words, the first electronic device (101) can receive the reception information (901) of the user input from the third electronic device (103).

[0166] The first electronic device (101) may transmit a signal to the second electronic device (102) for a disconnection request (902) based on the reception information (901) of the user input. The disconnection request (902) may include a request to disconnect a second connection (912) between the first electronic device (101) and the second electronic device (102) and a third connection (913) between the second electronic device (102) and the third electronic device (103).

[0167] For example, the first electronic device (101) may transmit a signal to stop the operation of the first virtual machine used to transmit graphic data to the third electronic device (103) among one or more virtual machines of the second electronic device (102). Based on the signal, the second electronic device (102) may stop the operation of the first virtual machine and disconnect the third connection (913) with the third electronic device (103).

[0168] With the second connection (912) and the third connection (913) disconnected, the third electronic device (103) may display a screen (914) indicating that it is operating in the second operation mode through the display of the third electronic device (103). For example, the third electronic device (103) may display a screen (914) indicating that it is in automatic hunting through the display of the third electronic device (103). As another example, the third electronic device (103) may display a screen (914) indicating that it is in automatic hunting within power saving mode through the display of the third electronic device (103). For example, the screen (914) may display a state in which a character corresponding to the user of the third electronic device (103) is controlled independently of user input.

[0169] The first electronic device (101) can control the character independently of the transmission of graphic data based on the third connection (913). The first electronic device (101) can control the character based on specified conditions even if no user input for controlling the character is received.

[0170] Accordingly, the first electronic device (101) can control the character until it receives an input to change the operation mode of the third electronic device (103), even when the control screen of the character is not displayed on the third electronic device (103).

[0172] FIG. 10 illustrates an example of a state change of a third electronic device according to various embodiments.

[0173] Referring to FIG. 10, the third electronic device (103) can operate in a third operation mode (1030). For example, the third electronic device (103) can operate in the third operation mode (1030) before the user of the third electronic device (103) accesses a character in an online game corresponding to the user.

[0174] The third electronic device (103) can receive a first user input (1001). The first user input (1001) may include input for the user to perform access to the character. For example, the third electronic device (103) can receive a first user input (1001) for logging into an online game.

[0175] The third electronic device (103) can change the operating mode of the third electronic device (103) from the third operating mode (1030) to the first operating mode (1010) based on the first user input (1001). For example, the third electronic device (103) can operate in the first operating mode (1010) to control the character after the user accesses the character.

[0176] In the first operation mode (1010) above, the third electronic device (103) can receive user input for controlling the user's character. The first electronic device (101) can perform data processing regarding the user input for controlling the user's character. The second electronic device (102) can generate graphic data through the first virtual machine based on the result of the data processing.

[0177] The third electronic device (103) can receive graphic data generated through the first virtual machine from the second electronic device (102). Based on the graphic data generated through the first virtual machine, the third electronic device (103) can display a screen through the display of the third electronic device (103).

[0178] While operating in the first operation mode (1010), the third electronic device (103) may receive a second user input (1002). The second user input (1002) may include an input for changing the operation mode of the third electronic device (103) from the first operation mode (1010) to the second operation mode (1020).

[0179] The third electronic device (103) can change the operation mode of the third electronic device (103) from the first operation mode (1010) to the second operation mode (1020) based on the second user input (1002). When the operation mode of the third electronic device is changed to the second operation mode (1020), the connection between the third electronic device (103) and the second electronic device (102) may be disconnected. Accordingly, the third electronic device (103) may not receive graphic data generated through the first virtual machine of the second electronic device (102).

[0180] While the third electronic device (103) is operating in the second operation mode (1020), the third electronic device (103) may receive a third user input (1003). The third user input (1003) may include a user input for changing the operation mode of the third electronic device (103) from the second operation mode (1020) to the first operation mode (1030).

[0181] Based on the above third user input (1003), the third electronic device (103) can change the operation mode of the third electronic device (103) from the second operation mode (1020) to the first operation mode (1010).

[0182] According to one embodiment, when the operation mode of the third electronic device (103) is changed back to the first operation mode (1010), the first virtual machine of the second electronic device (102) may be used again. Based on the change of the operation mode of the third electronic device (103) back to the first operation mode (1010), the second electronic device (102) may allocate the first virtual machine for the generation of graphic data including the character.

[0183] According to one embodiment, when the operation mode of the third electronic device (103) is changed back to the first operation mode (1010), the third electronic device (103) may establish a connection with another electronic device distinct from the second electronic device (102), rather than the second electronic device (102). For example, based on the operation mode of the third electronic device (103) being changed back to the first operation mode (1010), the first electronic device (101) may assign another electronic device distinct from the second electronic device (102) to generate graphic data. Thus, the third electronic device (103) may establish a connection with the other electronic device. Additionally, a second virtual machine running on the other electronic device may be assigned to generate graphic data containing the character. The third electronic device (103) receives graphic data generated through a second virtual machine running on the other electronic device, and can display a screen through the display of the third electronic device (103) based on the graphic data generated through the second virtual machine.

[0184] According to the above embodiment, based on the third user input (1003), the electronic device for displaying graphic data may be assigned the second electronic device (102) or another electronic device distinct from the second electronic device (102). The second electronic device (102) or the other electronic device may be running at least one virtual machine and operating in a first mode. Accordingly, based on the third user input (1003), the third electronic device (103) can receive graphic data from the second electronic device (102) or the other electronic device without delay and display the screen.

[0185] After the third user input (1003) is received, the third electronic device (103) may not receive user input during the first time interval (1004). Based on the fact that user input is not received during the first time interval (1004), the third electronic device (103) may change the operating mode of the third electronic device (103) from the first operating mode (1010) to the second operating mode (1020).

[0186] After the first time interval (1004) has elapsed, the third electronic device (103) may not receive user input during the second time interval (1005). Based on the fact that user input is not received during the second time interval (1005), the third electronic device (103) may change the operating mode of the third electronic device (103) from the second operating mode (1020) to the third operating mode (1030). For example, the length of the second time interval (1005) may correspond to a specified threshold for changing the operating mode of the third electronic device (103) to the third operating mode (1030). Referring to FIG. 10, the length of the time interval between the third user input (1003) and the second user input (1002) may be less than the length of the second time interval (1005). In one embodiment, the second time interval (1005) may be indicated by a session corresponding to a first connection established between the first electronic device (101) and the third electronic device (103). For example, the third electronic device (103) may enter the third operation mode (1030) from the second operation mode (1020) in response to identifying the expiration of the second time interval (1005) indicated by the session.

[0188] FIG. 11 is a flowchart illustrating examples of the operation of a first electronic device according to various embodiments.

[0189] Referring to FIG. 11, in operation 1110, the first electronic device (101) (e.g., the processor of the first electronic device (101)) can identify first information indicating the resources of the second electronic device (102).

[0190] For example, the first information may include information regarding the central processing unit of the second electronic device (102), information regarding the graphics processing unit of the second electronic device (102), information regarding the memory unit of the second electronic device (102), and information regarding the network status of the second electronic device (102).

[0191] For example, the first electronic device (101) may receive first information from the second electronic device (102). The first electronic device (101) may receive the first information from the second electronic device (102) periodically, or may receive it non-periodically based on the reception of user input or a change in the mode of the second electronic device (102).

[0192] In operation 1120, the first electronic device (101) can obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on the first information.

[0193] For example, the first electronic device (101) can identify the entire class information of the second electronic device (102) in order to obtain the second information.

[0194] The first electronic device (101) can identify first grade information based on information regarding the central processing unit of the second electronic device (102). The first electronic device (101) can identify second grade information based on information regarding the graphics processing unit of the second electronic device (102). The first electronic device (101) can identify third grade information based on information regarding the memory unit of the second electronic device (102). The first electronic device (101) can identify fourth grade information based on information regarding the network status of the second electronic device (102). The first electronic device (101) can identify total grade information of the second electronic device (102) based on the first grade information to the fourth grade information.

[0195] For example, the first electronic device (101) can identify the total grade information of the second electronic device (102) as the lowest grade among the first to fourth grade information. For another example, the first electronic device (101) can identify the total grade information of the second electronic device (102) as the highest grade among the first to fourth grade information. For another example, the first electronic device (101) can identify the total grade information of the second electronic device (102) as the average grade of the first to fourth grade information.

[0196] The first electronic device (101) can obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on the overall grade information of the second electronic device (102). For example, the higher the overall grade of the second electronic device (102), the more virtual machines can be executed in the second electronic device (102).

[0197] In operation 1130, the first electronic device (101) may, in response to the acquisition of the second information, transmit a first signal to the second electronic device (102) for running one or more virtual machines in the first mode as indicated by the second information.

[0198] For example, the first mode may differ from the second mode in which the virtual machine provides graphic data to any of the external electronic devices. In other words, the first mode may be a mode in which the virtual machine does not provide graphic data to any of the external electronic devices.

[0199] For example, in the first mode, the second electronic device (102) may not provide graphic data to any of the external electronic devices through one or more virtual machines running on the second electronic device (102). In other words, in the first mode, the second electronic device (102) may run one or more virtual machines and operate in a standby state.

[0200] As another example, the second electronic device (102) may provide graphic data to any of the external electronic devices through one or more virtual machines running on the second electronic device (102) in a second mode. In other words, the second electronic device (102) may run one or more virtual machines in a second mode. Additionally, the second electronic device (102) may generate graphic data through one or more virtual machines and provide the generated graphic data to any of the external electronic devices.

[0201] In operation 1140, the first electronic device (101) can identify an event for adjusting the number of one or more virtual machines indicated by the second information after transmitting the first signal.

[0202] For example, an event for adjusting the number of one or more virtual machines may include an event in which the overall class information of the second electronic device (102) is changed.

[0203] The resources of the second electronic device (102) may change over time. The network environment of the second electronic device (102) may change, or the second electronic device (102) may be used for the execution of other applications distinct from the execution of one or more virtual machines. Accordingly, the overall class information of the second electronic device (102) may change based on the change in the resources of the second electronic device (102). The first electronic device (101) can identify that the overall class information of the second electronic device (102) has changed.

[0204] As another example, an event for adjusting the number of one or more virtual machines may be determined based on the number of at least one external electronic device operating in an operation mode for displaying graphic data provided from the second electronic device (102) among the external electronic devices.

[0205] At least some of the one or more virtual machines running in the second electronic device (102) may be used to transmit graphic data to at least one external electronic device operating in the operation mode. Accordingly, an event for adjusting the number of one or more virtual machines may be determined based on the number of at least one external electronic device operating in the operation mode.

[0206] For example, the event for adjusting the number of the one or more virtual machines may include an event in which the time at which the one or more virtual machines are executed is switched from a first time interval to a second time interval.

[0207] For example, the first electronic device (101) can learn data regarding the number of at least one external electronic device operating in the operation mode. Based on the learned data, the first electronic device (101) can determine an event for adjusting the number of one or more virtual machines. Based on the learned data, the first electronic device (101) can determine (or predict) a first time interval and a second time interval.

[0208] The second time interval may refer to a time interval in which the number of at least one external electronic device operating in the operation mode increases compared to the first time interval. That is, the first electronic device (101) determines the second time interval in which the number of at least one external electronic device operating in the operation mode increases based on learned data, and can identify an event in which the time when one or more virtual machines are executed transitions from the first time interval to the second time interval.

[0209] In operation 1150, the first electronic device (101) may obtain third information for adjusting the number of one or more virtual machines running in the second electronic device (102) as directed by the second information in response to the identification of the event.

[0210] For example, the first electronic device (101) can identify that the class information of the second electronic device (102) has changed. Based on the change in the overall class information of the second electronic device (102), the first electronic device (101) can obtain third information for adjusting the number of one or more virtual machines running in the second electronic device (102).

[0211] In another example, the first electronic device (101) can identify that the time during which the one or more virtual machines are executed transitions from a first time interval to a second time interval. Based on identifying that the time during which the one or more virtual machines are executed transitions from a first time interval to a second time interval, the first electronic device (101) can obtain third information for adjusting the number of one or more virtual machines being executed in the second electronic device (102).

[0212] In operation 1160, the first electronic device (101) may, in response to the acquisition of third information, transmit a second signal to the second electronic device to adjust the number of one or more virtual machines running in the first mode based on the second information.

[0214] FIG. 12 is a flowchart illustrating examples of the operation of a first electronic device according to various embodiments.

[0215] Referring to FIG. 12, in operation 1210, the first electronic device (101) can receive a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device (103) from a third electronic device (103) that is distinct from the first electronic device (101), through a first connection between the first electronic device (101) and the third electronic device (103).

[0216] According to one embodiment, the first user input may include an input for logging into an application running on the third electronic device (103). The first electronic device (101) may establish a first connection based on the first user input of the third electronic device (103). The first electronic device (101) may receive a first signal regarding the first user input through the first connection.

[0217] Based on the first user input, the first electronic device (101) may receive a signal from the third electronic device (103) to request the establishment of a session based on an account indicated by the user input. In response to the request, the first electronic device (101) may establish a session based on the account with the third electronic device (103). The first electronic device (101) may store information regarding the third electronic device (103) indicated by the session in a storage device (e.g., memory) of the first electronic device (101).

[0218] In operation 1220, the first electronic device (101) may, in response to the reception of the first signal, establish a second connection between the first electronic device (101) and the second electronic device (102) which is distinct from the third electronic device (103), and a third connection for transmitting graphic data from the third electronic device (103) to the second electronic device (102).

[0219] For example, the second connection may be used to transmit information regarding the control of a character. The first electronic device (101) may receive a second user input regarding the control of the character from the second electronic device (102) through the second connection.

[0220] For example, the third connection may refer to a connection between the second electronic device (102) and the third electronic device (103). Additionally, the third connection may be used to transmit graphic data generated by the second electronic device (102) to the third electronic device (103).

[0221] In operation 1230, the first electronic device (101) may, in response to identifying a second user input by the third electronic device (103) through the first connection in a first state in which a first connection, a second connection, and a third connection are established, transmit a second signal to the second electronic device (102) through the second connection requesting the generation of the graphic data including the character controlled based on the second user input.

[0222] For example, the first state may mean a state in which the first connection, the second connection, and the third connection are established. The second state may mean a state in which at least one of the first connection, the second connection, and the third connection is released.

[0223] For example, the first electronic device (101) can identify a second user input by the third electronic device (103) through the first connection.

[0224] The second user input can be configured in various ways. For example, the second user input may include input regarding the character's movement, input regarding the character's attack, input regarding the character's defense, or input regarding the character's dialogue within an application (e.g., an online game).

[0225] The first electronic device (101) may receive a signal indicating that a second user input has been received through the first connection. The first electronic device (101) may perform data processing to control the character based on the second user input by the third electronic device (103). For example, the first electronic device (101) may perform data processing to change the movement of the character according to the second user input.

[0226] For example, the second electronic device (102) can generate graphic data including the character based on the result of data processing for controlling the character performed by the first electronic device (101). Accordingly, after the first electronic device (101) performs data processing for controlling the character, it can transmit a second signal requesting the generation of graphic data including the character controlled based on the second user input.

[0227] In operation 1240, the first electronic device (101) can control the character independently of the transmission of the graphic data based on the third connection in response to identifying entry into a second state distinct from the first state.

[0228] The first electronic device (101) can identify entry into a second state distinct from the first state. For example, the first electronic device (101) can identify a third user input by the third electronic device (103).

[0229] For example, the third user input may include an input for changing the operation mode of the third electronic device (103). The third electronic device (103) may operate in one of three operation modes. In the first operation mode, the third electronic device (103) may receive a second user input for controlling a character and, based on the second user input, receive graphic data from the second electronic device (102). In the second operation mode, the third electronic device (103) may not receive a second user input for controlling the character and may maintain the access state of the character. The third electronic device (103) may release access to the character in the third operation mode. As an example, the third user input may include an input for changing the operation mode of the third electronic device (103) from the first operation mode to the second operation mode.

[0230] The first electronic device (101) may transmit a signal to disconnect the second connection and the third connection based on the third user input. For example, the signal may be transmitted to the second electronic device (102). For another example, the signal may be transmitted to both the second electronic device (102) and the third electronic device (103). Based on the disconnection of the second connection and the third connection, the first electronic device (101) may identify that it has entered a second state distinct from the first state.

[0231] For example, the first electronic device (101) can control the character regardless of the transmission of graphic data based on the third connection. For example, the first electronic device (101) can control the character even when the third connection between the second electronic device (102) and the third electronic device (103) is disconnected and graphic data is not transmitted from the second electronic device (102) to the third electronic device (103). That is, independently of the transmission of graphic data, the first electronic device (101) can maintain data processing for controlling the character.

[0232] According to one embodiment, the first electronic device (101) can identify a fourth user input by the third electronic device (103). For example, the fourth user input may include a user input for changing the operating mode of the third electronic device (103) from a second operating mode to a first operating mode.

[0233] The first electronic device (101) can re-establish the second connection in response to identifying the fourth user input. Independently of the transmission of graphic data based on the third connection, information regarding a character controlled by the first electronic device (101) can be transmitted to the second electronic device (102).

[0234] For example, the first electronic device (101) can control the character even when the second connection is disconnected and can store information regarding the controlled character. The first electronic device (101) can re-establish the second connection with the second electronic device (102) and transmit information regarding the controlled character to the second electronic device (102). Accordingly, the first electronic device (101) can re-establish a connection with the second electronic device (102) to transmit graphic data to the third electronic device (103) based on the fourth user input. In one embodiment, the first electronic device (101) can transmit information related to the third electronic device (103) indicated by the session stored in the first electronic device (101). Based on the information related to the third electronic device (103) indicated by the session, the second electronic device (102) can re-establish a connection with the third electronic device (103) to transmit graphic data.

[0235] According to one embodiment, the first electronic device (101) can identify a fifth user input by the third electronic device (103). For example, the fifth user input may include a user input for changing the operating mode of the third electronic device (103) from a second operating mode to a first operating mode. In response to identifying the fifth user input by the third electronic device (103), the first electronic device (101) can establish a connection with a fourth electronic device that is distinct from the second electronic device (102). In one embodiment, the first electronic device (101) can transmit information related to the third electronic device (103) indicated by the session stored in the first electronic device (101) to the fourth electronic device. Based on the information related to the third electronic device (103) indicated by the session, the fourth electronic device can establish a connection with the third electronic device (103) to transmit graphic data.

[0236] The first electronic device (101) can transmit information regarding a character controlled by the first electronic device (101) to the fourth electronic device independently of the transmission of graphic data based on the third connection. Accordingly, the first electronic device (101) can change the electronic device for transmitting graphic data to the third electronic device (103) from the second electronic device (102) to the fourth electronic device based on the fifth user input.

[0237] According to one embodiment, the first electronic device (101) can identify that a signal regarding user input from the third electronic device (103) is not received during a first time interval. Based on the fact that a signal regarding user input from the third electronic device (103) is not received during the first time interval, the first electronic device (101) can disconnect the second connection and the third connection. The first electronic device (101) can maintain access to a character corresponding to the user of the third electronic device.

[0238] For example, the first electronic device (101) may identify that a signal regarding user input from the third electronic device (103) is not received during a first time interval and transmit a signal to change the operating mode of the third electronic device (103) from the first mode to the second mode. Based on the signal, the first electronic device (101) may disconnect the second connection and the third connection.

[0239] As another example, the first electronic device (101) may receive a signal from the third electronic device (103) to request the release of the third connection based on the fact that a signal regarding user input from the third electronic device (103) is not received during a first time interval. Based on the signal to request the release of the third connection, the first electronic device (101) may release the second connection and the third connection.

[0240] For example, the first electronic device (101) may release access to a character corresponding to the user of the third electronic device (103) and stop control of the character based on the fact that, after the first time interval has elapsed, a signal regarding user input from the third electronic device (103) has not been received during the second time interval. As an example, the first electronic device (101) may change the operating mode of the third electronic device (103) from the second mode to the third mode based on the fact that, after the first time interval has elapsed, a signal regarding user input from the third electronic device (103) has not been received during the second time interval.

[0242] FIG. 13 is a flowchart illustrating an example of the operation of a first electronic device according to various embodiments.

[0243] Referring to FIG. 13, in operation 1310, the first electronic device (101) can identify that the operation mode of the third electronic device (103) is changed from the third operation mode to the second operation mode.

[0244] For example, the third electronic device (103) can receive graphic data through the virtual machine of the second electronic device (102) in the third operating mode of the third electronic device (103). Subsequently, the operating mode of the third electronic device (103) can be changed from the third operating mode to the second operating mode based on the first user input.

[0245] In operation 1320, the first electronic device (101) may disconnect the third connection between the second electronic device (102) and the third electronic device (103) in response to the identification. The first electronic device (101) may maintain the second connection between the first electronic device (101) and the second electronic device (102). After the connection between the second electronic device (102) and the third electronic device (103) is disconnected, the first electronic device (101) may receive graphic data through the second connection at a frame rate lower than the frame rate before the connection was disconnected.

[0246] For example, while the second electronic device (102) is transmitting graphic data to the third electronic device (103), the third connection may be disconnected. Subsequently, the second electronic device (102) may transmit the graphic data that was being transmitted to the third electronic device (103) to the first electronic device (101). The graphic data transmitted to the first electronic device (101) may be set to a frame rate lower than the frame rate of the graphic data that was being transmitted to the third electronic device (103).

[0247] Accordingly, the first electronic device (101) can release the third connection in response to the identification and receive low frame rate graphic data through the second connection. The first electronic device (101) can receive low frame rate graphic data and store the received graphic data in the memory of the first electronic device (101).

[0248] In operation 1330, the first electronic device (101) can identify that the operation mode of the third electronic device (103) is changed from the second operation mode to the third operation mode. For example, the operation mode of the third electronic device (103) can be changed from the second operation mode to the third operation mode based on the second user input. Subsequently, the first electronic device (101) can identify that the operation mode of the third electronic device (103) is changed from the second operation mode to the third operation mode.

[0249] In operation 1340, the first electronic device (101) can transmit graphic data received from the second electronic device (102) to the third electronic device (103). The first electronic device (101) can transmit low frame rate graphic data that was stored in response to a change in the operation mode of the third electronic device (103). Thus, by the first electronic device (101) transmitting low frame rate graphic data, there is an effect that no screen delay occurs when the operation mode of the third electronic device (103) changes.

[0250] In operation 1350, the first electronic device (101) transmits the received graphic data to the third electronic device (103), and then reassigns the virtual machine of the second electronic device (102) to transmit the graphic data to the third electronic device (103). For example, the virtual machine may be set to one or more virtual machines within the second electronic device (102). Thus, a virtual machine within the second electronic device (102) that is generating low frame rate graphic data may be reassigned, or a virtual machine within the second electronic device (102) that is not generating low frame rate graphic data may be newly assigned.

[0252] FIG. 14 is a simplified block diagram illustrating the functional configurations of each of the electronic devices according to various embodiments.

[0253] Referring to FIG. 14, the electronic device (1400) may be an example of a first electronic device (101), a second electronic device (102), or a third electronic device (103). The electronic device (1400) may include a processor (1402), memory (1404), a storage device (1406), a high-speed controller (1408) (e.g., northbridge, MCH (main controller hub)), and a low-speed controller (1412) (e.g., southbridge, ICH (input / output controller hub)). Within the electronic device (1400), each of the processor (1402), memory (1404), storage device (1406), high-speed controller (1408), and low-speed controller (1412) may be interconnected using various buses.

[0254] For example, the processor (1402) may process instructions for execution within the electronic device (1400) to display graphic information for a graphical user interface (GUI) on an external input / output device, such as a display (1416) connected to a high-speed controller (1408). The instructions may be contained in memory (1404) or storage device (1406). The instructions may cause the electronic device (1400) to perform one or more of the operations described above and / or one or more of the operations described below when executed by the processor (1402). According to embodiments, the processor (1402) may be composed of a plurality of processors including a communication processor and a graphical processing unit (GPU).

[0255] For example, the memory (1404) can store information within the electronic device (1400). For example, the memory (1404) may be a volatile memory unit or units. For another example, the memory (1404) may be a non-volatile memory unit or units. For yet another example, the memory (1404) may be another form of computer-readable medium, such as a magnetic or optical disk.

[0256] For example, the storage device (1406) can provide mass storage space to the electronic device (1400). For example, the storage device (1406) may be a computer-readable medium, such as a hard disk device, an optical disk device, a flash memory, a solid-state memory device, or an array of devices within a storage area network (SAN).

[0257] For example, the high-speed controller (1408) may manage bandwidth-intensive operations for the electronic device (1400), while the low-speed controller (1412) may manage low bandwidth-intensive operations for the electronic device (1400). For example, the high-speed controller (1408) may be coupled to the memory (1404) and coupled to the display (1416) via a GPU or accelerator, while the low-speed controller (1412) may be coupled to the storage device (1406) and coupled to various communication ports (e.g., USB (universal serial bus), Bluetooth, Ethernet, wireless Ethernet) for communication with external electronic devices (e.g., keyboard, transducer, scanner, or network device (e.g., switch or router)).

[0258] The electronic device (1450) may be an example of a third electronic device (103). The electronic device (1450) may include a processor (1452), memory (1464), an input / output device such as a display (1454) (e.g., an OLED (organic light emitting diode) display or other suitable display), a communication interface (1466), and a transceiver (1468). Each of the processor (1452), memory (1464), the input / output device, the communication interface (1466), and the transceiver (1468) may be interconnected using various buses.

[0259] For example, the processor (1452) may process instructions contained in memory (1464) to display graphic information for the GUI on the input / output device. The instructions may cause the electronic device (1450) to perform one or more of the operations described above and / or one or more of the operations described below when executed by the processor (1452). For example, the processor (1452) may interact with the user through a display interface (1456) and a control interface (1458) coupled with the display (1454). For example, the display interface (1456) may include a circuit for driving the display (1454) to provide visual information to the user, and the control interface (1458) may include a circuit for receiving commands from the user and converting the commands to provide them to the processor (1452). According to embodiments, the processor (1452) may be implemented as a chipset of chips including analog and digital processors.

[0260] For example, the memory (1464) can store information within the electronic device (1450). For example, the memory (1464) may include at least one of one or more volatile memory units, one or more non-volatile memory units, or a computer-readable medium.

[0261] For example, the communication interface (1466) can perform wireless communication between the electronic device (1450) and an external electronic device through various communication techniques such as cellular communication techniques, Wi-Fi communication techniques, NFC techniques, or Bluetooth communication techniques, based on interaction with the processor (1452). For example, the communication interface (1466) may be coupled with a transceiver (1468) to perform the wireless communication. For example, the communication interface (1466) may be further coupled with a GNSS (global navigation satellite system) receiving module (1470) to obtain location information of the electronic device (1450).

[0263] The one or more programs of a computer-readable storage medium storing one or more programs according to various embodiments, when executed by at least one processor of a first electronic device (101) having a communication circuit, identify first information indicating a resource of a second electronic device (102), acquire second information indicating a number of one or more virtual machines to be executed in the second electronic device (102) based on the first information, and in response to the acquisition of the second information, transmit a first signal to the second electronic device (102) to execute one or more virtual machines in a first mode in a number indicated by the second information, - the first mode is different from a second mode in which a virtual machine provides graphic data to any of the external electronic devices -, after transmitting the first signal, identify an event to adjust the number of one or more virtual machines indicated by the second information, and in response to the identification of the event, the one or more virtual machines indicated by the second information and being executed in the second electronic device (102) Instructions may be included that cause the first electronic device (101) to acquire third information for adjusting the number of machines, and in response to the acquisition of said third information, to transmit a second signal to the second electronic device (102) for adjusting the number of said one or more virtual machines running in said first mode based on said second information.

[0264] According to one embodiment, the resources of the second electronic device (102) may be configured based on information regarding the central processing unit of the second electronic device (102), information regarding the graphics processing unit, information regarding the memory unit, and information regarding the network status.

[0265] According to one embodiment, the one or more programs may include instructions that cause the first electronic device (101) to identify first grade information based on information regarding the central processing unit, identify second grade information based on information regarding the graphics processing unit, identify third grade information based on information regarding the memory unit, identify fourth grade information based on information regarding the network state, identify total grade information of the second electronic device (102) based on the first grade information to the fourth grade information, and obtain second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on the total grade information of the second electronic device (102).

[0266] According to one embodiment, the event for adjusting the number of one or more virtual machines may include an event in which the overall grade information of the second electronic device (102) is changed.

[0267] According to one embodiment, the event for adjusting the number of one or more virtual machines may be determined based on the number of at least one external electronic device among the external electronic devices that operates in an operation mode for displaying the graphic data provided from the second electronic device (102).

[0268] According to one embodiment, the event for adjusting the number of the one or more virtual machines may include an event in which the time at which the one or more virtual machines are executed is switched from a first time interval to a second time interval.

[0269] According to one embodiment, the one or more programs may include instructions that cause the first electronic device (101) to learn data regarding the number of the at least one external electronic device operating in the operating mode and, based on the data, determine the first time interval and the second time interval.

[0271] The one or more programs of a computer-readable storage medium storing one or more programs according to various embodiments, when executed by at least one processor of a first electronic device (101) having a communication circuit, receive a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device (103) through a first connection between the first electronic device (101) and the third electronic device (103) from a third electronic device (103) distinguished from the first electronic device (101), and in response to the reception of the first signal, establish a second connection between a second electronic device (102) distinguished from the third electronic device (103) and the first electronic device (101), and a third connection for transmitting graphic data from the third electronic device (103) to the second electronic device (102), and in a first state in which the first connection, the second connection, and the third connection are established, by the third electronic device (103) through the first connection In response to identifying a second user input, a second signal is transmitted to the second electronic device (102) via the second connection requesting the generation of the graphic data including the character controlled based on the second user input, and in response to identifying entry into a second state distinct from the first state, instructions may be included that cause the first electronic device (101) to control the character independently of the transmission of the graphic data based on the third connection.

[0272] According to one embodiment, the one or more programs may further include instructions that cause the first electronic device (101) to transmit a third signal to release the second connection and the third connection based on a third user input by the third electronic device (103).

[0273] According to one embodiment, the one or more programs may further include instructions that cause the first electronic device (101) to generate the graphic data among other electronic devices that include the second electronic device (102) and are distinct from the first electronic device (101) in response to identifying a fourth user input by the third electronic device (103), and to transmit a fourth signal to the selected fourth electronic device to establish a connection between the first electronic device (101) and the fourth electronic device in response to selecting the fourth electronic device.

[0274] According to one embodiment, the one or more programs may further include instructions that cause the first electronic device (101) to establish a connection with a fourth electronic device distinct from the second electronic device (102) in response to identifying a fifth user input by the third electronic device (103), and to transmit information regarding a character controlled by the first electronic device (101) to the fourth electronic device independently of the transmission of the graphic data based on the third connection.

[0275] According to one embodiment, the graphic data may be used to be displayed through the display of the third electronic device (103).

[0276] According to one embodiment, the one or more programs may further include instructions that cause the first electronic device (101) to disconnect the second connection and the third connection based on the fact that a signal regarding user input from the third electronic device (103) is not received during a first time interval, and to maintain access to a character corresponding to the user of the third electronic device (103).

[0277] According to one embodiment, the one or more programs may further include instructions that cause the first electronic device (101) to release access to a character corresponding to a user of the third electronic device (103) and stop control of the character based on the fact that, after the first time interval has elapsed, a signal regarding user input from the third electronic device (103) is not received during the second time interval.

[0279] A method for operating a first electronic device (101) having at least one memory and a communication circuit according to various embodiments comprises: identifying first information indicating a resource of a second electronic device (102); acquiring second information indicating a number of one or more virtual machines to be executed in the second electronic device (102) based on the first information; transmitting a first signal to the second electronic device (102) in response to acquiring the second information to execute one or more virtual machines in a first mode as indicated by the second information, wherein the first mode is different from a second mode in which a virtual machine provides graphic data to any one of the external electronic devices; and, after transmitting the first signal, identifying an event to adjust the number of one or more virtual machines indicated by the second information. The method may include: an operation of obtaining third information for adjusting the number of one or more virtual machines running in the second electronic device (102) in response to the identification of the above event, indicated by the second information; and an operation of transmitting a second signal to the second electronic device (102) in response to the acquisition of the third information, for adjusting the number of one or more virtual machines running in the first mode based on the second information.

[0280] According to one embodiment, the resources of the second electronic device (102) may be configured based on information regarding the central processing unit of the second electronic device (102), information regarding the graphics processing unit, information regarding the memory unit, and information regarding the network status.

[0281] According to one embodiment, the method may further include: an operation of identifying first grade information based on information regarding the central processing unit; an operation of identifying second grade information based on information regarding the graphics processing unit; an operation of identifying third grade information based on information regarding the memory unit; an operation of identifying fourth grade information based on information regarding the network state; an operation of identifying total grade information of the second electronic device (102) based on the first grade information to the fourth grade information; and an operation of obtaining second information indicating the number of one or more virtual machines to be executed in the second electronic device (102) based on the total grade information of the second electronic device (102).

[0282] According to one embodiment, the event for adjusting the number of one or more virtual machines may be determined based on the number of at least one external electronic device among the external electronic devices that operates in an operation mode for displaying the graphic data provided from the second electronic device (102).

[0283] According to one embodiment, the event for adjusting the number of the one or more virtual machines may include an event in which the time at which the one or more virtual machines are executed is switched from a first time interval to a second time interval.

[0284] According to one embodiment, the method may further include: an operation of learning data regarding the number of at least one external electronic device operating in the operation mode; and an operation of determining the first time interval and the second time interval based on the data.

[0286] Methods according to the claims or embodiments described in the specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.

[0287] When implemented in software, a computer-readable storage medium may be provided for storing one or more programs (software modules). One or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. One or more programs include instructions that cause the electronic device to execute methods according to the claims or embodiments described in the specification of this disclosure.

[0288] One or more of these programs (software modules, software) may be stored in random access memory, non-volatile memory including flash memory, ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), magnetic disc storage device, optical storage device (e.g., Compact Disc-ROM (CD-ROM), Digital Versatile Discs (DVDs)), magnetic cassette, or a combination thereof. Or, they may be stored in memory composed of some or all of these. Additionally, the above program may be stored on an attachable storage device accessible via a communication network such as the Internet, Intranet, Local Area Network (LAN), Wide LAN (WLAN), or Storage Area Network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to a device performing an embodiment of the present disclosure.

[0289] In the specific embodiments of the present disclosure described above, the components of the electronic device included in the present disclosure are expressed in a singular or plural form according to the specific embodiments presented. However, the singular or plural expression of said components is selected to suit the situation presented for convenience of explanation, and the present disclosure is not limited to singular or plural components; even if a component is expressed in the plural form, it may be composed of a singular form, or even if a component is expressed in the singular form, it may be composed of a plural form.

[0290] Meanwhile, although specific embodiments have been described in the detailed description of the present disclosure, it is understood that various modifications are possible within the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be defined by the claims set forth below as well as equivalents thereof.

Claims

Claim 1 In a computer-readable storage medium storing one or more programs, the one or more programs, when executed by at least one processor of a first electronic device having a communication circuit, receive a first signal regarding a first user input for accessing a character corresponding to a user of the third electronic device through a first connection between the first electronic device and the third electronic device from a third electronic device distinct from the first electronic device, in response to the reception of the first signal, establish a second connection between a second electronic device distinct from the third electronic device and the first electronic device and a third connection for transmitting graphic data between the third electronic device and the second electronic device, in response to identifying a second user input by the third electronic device through the first connection, transmit a second signal requesting the second electronic device through the second connection to generate the graphic data including the character controlled based on the second user input, and identify entering a second state distinct from the first state. A computer-readable storage medium comprising instructions that cause the first electronic device to control the character independently of the transmission of the graphic data based on the third connection in response. Claim 2 A computer-readable storage medium according to claim 1, wherein the one or more programs further comprise instructions that cause the first electronic device to transmit a third signal for releasing the second connection and the third connection based on a third user input by the third electronic device. Claim 3 A computer-readable storage medium according to claim 2, wherein the one or more programs further include instructions to cause the first electronic device to generate the graphic data among other electronic devices, including the second electronic device, in response to identifying the fourth user input by the third electronic device, and in response to selecting the fourth electronic device, to transmit a fourth signal to the selected fourth electronic device to establish a connection between the first electronic device and the fourth electronic device. Claim 4 A computer-readable storage medium according to claim 2, wherein the one or more programs further comprise instructions that cause the first electronic device to establish a connection with the fourth electronic device distinct from the second electronic device in response to identifying a fourth user input by the third electronic device, and to transmit information regarding a character controlled by the first electronic device to the fourth electronic device independently of the transmission of the graphic data based on the third connection. Claim 5 In claim 1, the graphic data is a computer-readable storage medium used to be displayed through the display of the third electronic device. Claim 6 A computer-readable storage medium according to claim 1, wherein the one or more programs further include instructions that cause the first electronic device to release the second connection and the third connection based on the fact that a signal regarding user input from the third electronic device is not received during a first time interval, and to maintain access to a character corresponding to the user of the third electronic device. Claim 7 A computer-readable storage medium according to claim 6, wherein the one or more programs further include instructions that cause the first electronic device to release access to a character corresponding to a user of the third electronic device and to stop control of the character based on the fact that, after the first time interval has elapsed, a signal regarding user input from the third electronic device is not received during the second time interval.

Citation Information

Patent Citations

  • Delivering a single end user experience to a client from multiple servers

    KR1020140079402A

  • Paas hierarchial scheduling and auto-scaling

    KR1020140109940A

  • Apparatus and method for sending event information, apparatus and method for displayng event information

    KR1020200005066A

  • Methods and systems for bandwidth-efficient remote procedure calls

    US10051084B2

  • Game state save, transfer and resume for cloud gaming

    US20200129859A1