Electronic device, system, and cloud service providing method thereof
The system allows client devices to perform deep link operations and utilize user information locally within a cloud service environment, addressing the challenges of seamless application linking and data security, thereby enhancing user convenience and security.
Patent Information
- Application Number
- PCT/KR2024/021099
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-08
- Filing Date
- 2024-12-26
- Publication Date
- 2025-07-24
AI Technical Summary
Existing cloud service technologies face challenges in seamlessly linking applications and utilizing user information without requiring user data transmission and application storage on a server device, leading to suboptimal user experiences and potential security risks.
Implementing a system where client devices perform deep link operations and utilize user information locally, allowing applications to interact within a cloud service environment without transmitting sensitive data to the server, using pre-registered deep link schemes and redirect information handling.
Enhances user convenience and security by enabling local application linking and data utilization, providing a user experience similar to native application execution while reducing data exposure and installation requirements.
Smart Images

Figure KR2024021099_24072025_PF_FP_ABST
Abstract
Description
Electronic devices, systems, and methods for providing cloud services therefor
[0001] The embodiments disclosed in this document relate to a technology for performing the operation of an application using a cloud service.
[0002] Cloud services are services that store applications and / or data on an external device (e.g., a server device) that provides cloud services connected via a network, and use the applications and / or data through the external device when necessary on a client device. For example, some applications may require integration with other applications and / or other web services. When an application is to be integrated with other applications through a cloud service, the integration between applications may be performed on the server device that provides the cloud service. For example, when performing integration between applications on a server device, other applications that will be integrated with the application running on the server device or necessary user information must be stored in advance. In this case, the client device may need to provide user information to the server device in advance, or an application customized for the server device may need to be stored in advance on the server device, and data used in applications included in the client device (e.g., the user) may not be seamlessly integrated on the server device.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0004] An electronic device according to an embodiment disclosed in the present document may include a communication circuit, a memory storing at least one application, and at least one processor. The memory may store instructions that, when executed by the at least one processor, cause the electronic device to execute a first application corresponding to a request for a cloud service among the at least one application, based on a request for a cloud service related to the first application received from an external device through the communication circuit, recognize a request for an action related to another application from the first application during execution of the first application, and transmit the request for the action to the external device based on a determination that target information included in the request for the action corresponds to target information related to a pre-specified deep link.
[0005] An electronic device according to an embodiment disclosed in the present document may include a display, a communication circuit, at least one processor, and a memory including at least one application. The memory may store instructions that, when executed by the at least one processor, cause the electronic device to request a cloud service related to a first application from an external device through the communication circuit, receive cloud service data related to the first application executed by the external device from the external device, display an execution screen of the first application through the display based on the cloud service data, receive a request for an action related to another application from the first application while displaying the execution screen of the first application, execute a second application corresponding to the request for the action among the at least one application, and perform the action through the second application.
[0006] In addition, a method according to an embodiment disclosed in the present document may include, based on a request for a cloud service related to a first application received from an external device, executing a first application corresponding to the request for the cloud service; recognizing, during execution of the first application, a request for an action related to another application from the first application; and transmitting the request for the action to the external device based on a determination that target information included in the request for the action corresponds to target information related to a pre-specified deep link.
[0007] In addition, a method according to an embodiment disclosed in the present document may include an action of requesting a cloud service related to a first application from an external device, an action of receiving cloud service data related to the first application executed by the external device from the external device, an action of displaying an execution screen of the first application through the display based on the cloud service data, an action of receiving a request for an action related to another application from the first application while displaying the execution screen of the first application, an action of executing a second application corresponding to the request for the action among the at least one application, and an action of performing the action through the second application.
[0008] In addition, a storage medium according to an embodiment disclosed in the present document may store a program and / or instructions that, when executed by a processor of an electronic device, cause the electronic device to execute a first application corresponding to a request for a cloud service related to a first application received from an external device, recognize a request for an action related to another application from the first application during execution of the first application, and transmit the request for the action to the external device based on a determination that target information included in the request for the action corresponds to target information related to a pre-specified deep link.
[0009] In addition, a storage medium according to an embodiment disclosed in the present document may store a program and / or instructions that request a cloud service related to a first application from an external device, receive cloud service data related to the first application executed by the external device from the external device, display an execution screen of the first application through the display based on the cloud service data, and, while displaying the execution screen of the first application, receive a request for an action related to another application from the first application from the external device, execute a second application corresponding to the request for the action among the at least one application, and perform the action through the second application.
[0010] FIG. 1 is a block diagram of an electronic device according to one embodiment.
[0011] Figure 2 is a block diagram of an electronic device according to one embodiment.
[0012] FIG. 3 is a block diagram of a system providing a cloud service according to one embodiment.
[0013] Figure 4 is a flowchart of a method for providing a cloud service of a system according to one embodiment.
[0014] FIG. 5 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0015] FIG. 6 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0016] FIG. 7 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0017] FIG. 8 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0018] Fig. 9 is an electronic device according to one embodiment.
[0019] FIGS. 10A to 10C are examples of execution screens of an application through a cloud service provided by an electronic device, according to one embodiment.
[0020] FIG. 11 illustrates an electronic device within a network environment according to various embodiments.
[0021] In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
[0022] FIG. 1 is a block diagram of an electronic device according to one embodiment.
[0023] According to one embodiment, an electronic device (100) (e.g., a server device (300) of FIG. 3 or an electronic device (101) or a server (1108) of FIG. 11) may include a communication circuit (110) (e.g., a server communication module (331) or a communication module (1190) of FIG. 3), a memory (120) (e.g., a memory (1130) of FIG. 11), and at least one processor (130) (e.g., a processor (1120) of FIG. 11).
[0024] In one embodiment, the communication circuit (110) may transmit and receive information and / or data with an external device (e.g., a client device) and / or an external server. For example, the communication circuit (110) may transmit cloud service data (e.g., execution data of an application responding to a user request) to the external device. The communication circuit (110) may transmit a request for an action from an application to the external device, and / or receive redirect information related to an application running on the external device.
[0025] According to one embodiment, the memory (120) may store instructions that control the operation of the electronic device (100) when executed by at least one processor (130). According to one embodiment, the instructions may be stored in one memory (120) or multiple memories (120). The memory (120) may at least temporarily store information and / or data related to the operations of the electronic device (100). For example, the memory (120) may store application-related setting information (e.g., manifest) and / or pre-designated target information (e.g., scheme information).
[0026] According to one embodiment, the processor (130) may execute a first application corresponding to a cloud service request received from an external device via the communication circuit (110) in response to the cloud service request. For example, the processor (130) may execute a first application among a plurality of applications stored in the memory (120).
[0027] According to one embodiment, the processor (130) may recognize a request for an action related to another application from the first application while the first application is running. According to one embodiment, the request for the action may include at least one of target information (e.g., a scheme) corresponding to the action or uniform resource identifier (URI) (or uniform resource locator (URL)) information related to the action. For example, the request for the action may include an intent (e.g., an implicit intent) executed (or requested) by the first application. For example, an intent may be a messaging object that requests a specific action from a running application or another application. For example, an application may notify an operating system (e.g., an Android operating system) of an action and / or activity to be performed through an intent. For example, an intent may include an explicit intent and an implicit intent. An explicit intent may contain information that explicitly specifies the component to be executed (e.g., an activity, a service, and / or a receiver), while an implicit intent may contain information that implicitly specifies the component (e.g., action information, category information, and data information). The data information may include host information (e.g., domain information), scheme, and / or URI information related to the action.
[0028] According to one embodiment, the processor (130) may transmit the action request to the external device through the communication circuit (110) based on a determination that the target information (e.g., scheme) included in the action request (e.g., implicit intent) corresponds to the target information (e.g., scheme) associated with a pre-designated deep link. For example, a deep link may refer to a link configured to reach a specific web page. The specific web page may be provided through a designated application or may be provided through a browser. For example, a deep link may refer to a link that, when a user selects a URI and / or URL from a website or application in a mobile environment, executes another application corresponding to the URI and / or URI to perform a corresponding action, or performs an action to move to a web page corresponding to the URI and / or URI. For example, the processor (130) may store target information associated with a pre-designated deep link. For example, the processor (130) may register a deep link-related scheme in application-related configuration information (e.g., manifest information). If the scheme included in the intent requested from the first application corresponds to the deep link-related scheme registered in the manifest, the processor (130) may transmit the intent's data to an external device.
[0029] In one embodiment, the processor (130) may transmit intent data to an external device via the communication circuit (110), thereby causing the intent of a first application providing a cloud service to be executed by the external device. For example, the processor (130) may cause the external device to perform an action corresponding to the intent executed by the first application.
[0030] In one embodiment, the processor (130) may receive redirect information corresponding to an action request from an external device via the communication circuit (110). In one embodiment, the redirect information may be generated by an application different from the first application included in the external device. For example, the processor (130) may receive redirect information from the external device in response to a request (e.g., an intent) for an action requested from the first application providing a cloud service. For example, if the intent is intended to output a specific web view (e.g., a web page), the processor (130) may receive redirect information returned to the first application based on the specific web page and user input from the external device. For example, if the intent of the first application was to log in to a specific web page, the redirect information may include user authentication information based on a successful log in.
[0031] In one embodiment, the processor (130) may provide redirect information to the first application based on a determination that the redirect information is related to the first application. For example, the processor (130) may determine whether the redirect information is related to the first application based on configuration information (e.g., manifest information) related to the first application. For example, the configuration information (e.g., manifest) may include designated target information (e.g., scheme information) related to the redirect. The processor (130) may provide the redirect information to the first application if the scheme included in the redirect information corresponds to a scheme related to the redirect included in the manifest.
[0032] In one embodiment, the processor (130) may perform an action of the first application based at least in part on the redirect information. For example, the processor (130) may invoke or provide an activity of the first application corresponding to the redirect information, at least in part based on the redirect information. For example, the processor (130) may link user account information between the first application and the second application (or a specific web page) based on the redirect information.
[0033] According to one embodiment, the operations described as being performed by the processor (130) may be performed by at least one processor (130). For example, each of the operations described above may be performed by the same or different processor (130), and / or may be performed by at least some of a plurality of processors (130). For example, at least some of the operations described above may be performed by a first processor (130), and at least some of the remaining operations may be performed by a second processor (130). According to one embodiment, the processor (130) may include a circuit such as a central processing unit (CPU), a microprocessor unit (MPU), an application processor (AP), a communication processor (CP), a system on chip (SoC), and / or an integrated circuit (IC).
[0034] According to various embodiments, the configuration of the electronic device (100) is not limited to that described in FIG. 1, and at least one configuration may be omitted or at least one configuration (for example, at least one of the components of the server device (303) of FIG. 3 or the electronic device (1101) of FIG. 11) may be added.
[0035] According to one embodiment, an electronic device (100) (e.g., a server device) may, when providing a cloud service, allow interworking with other applications and / or other services to be performed by an external device (e.g., a client device) rather than by the electronic device (100). The electronic device (100) according to one embodiment may increase user convenience when providing a cloud service by receiving user information and / or applications stored in the external device, or by allowing interworking between applications and user information to be utilized by the external device without having to store them in advance, and may provide a user of the external device with a user experience that is substantially the same as running an application on the external device itself rather than through a cloud service.
[0036]
[0037] Figure 2 is a block diagram of an electronic device according to one embodiment.
[0038] According to one embodiment, an electronic device (200) (e.g., a client device (301) of FIG. 3 or an electronic device (1101) of FIG. 11) may include a communication circuit (210) (e.g., a client communication module (311) of FIG. 3 or a communication module (1190) of FIG. 11), a display (220) (e.g., a display module (1160) of FIG. 11), a memory (230) (e.g., a memory (1130) of FIG. 11), and at least one processor (240) (e.g., a processor (1120) of FIG. 11).
[0039] According to one embodiment, the communication circuit (210) can transmit and receive information and / or data with an external device (e.g., a server device). For example, the communication circuit (210) can receive cloud service data (e.g., execution data of an application responding to a user request) from the external device. The communication circuit (210) can receive an action request from an application from the external device, and / or transmit redirect information generated as a result of performing an action request received from the external device to the external device.
[0040] In one embodiment, the display (220) can visually output data. For example, the display (220) can output an execution screen of an application via a cloud service, a web view (e.g., a web page) corresponding to an action request received from an external device, and / or an execution screen of an application executed on the electronic device (200).
[0041] According to one embodiment, the memory (230) may store instructions that control the operation of the electronic device (200) when executed by at least one processor (240). According to one embodiment, the instructions may be stored in one memory (230) or multiple memories (230). The memory (230) may at least temporarily store information and / or data related to the operations of the electronic device (200). For example, the memory (230) may store application-related setting information (e.g., manifest) and / or pre-designated target information (e.g., scheme information).
[0042] In one embodiment, the processor (240) may request a cloud service related to the first application from an external device via the communication circuit (210). In one embodiment, the processor (240) may receive cloud service data related to the first application executed by the external device from the external device via the communication circuit (210). For example, the cloud service data may include execution data of the first application.
[0043] According to one embodiment, the processor (240) may display an execution screen of the first application through the display (220) based on cloud service data. According to one embodiment, the execution screen of the first application may include an indication indicating that the first application is being executed based on the cloud service.
[0044] According to one embodiment, the processor (240) may receive a request for an action related to another application from the first application from the external device while displaying the execution screen of the first application. According to one embodiment, the request for the action may include at least one of target information (e.g., scheme) corresponding to the action or uniform resource identifier (URI) (or uniform resource locator (URL)) information related to the action. For example, the request for the action may include an intent (e.g., implicit intent) executed (or requested) by the first application.
[0045] According to one embodiment, the processor (240) may execute a second application corresponding to the action request from among at least one application included in the electronic device (200). The second application may include at least one application pre-stored in the electronic device (200) and / or at least one third-party provided application. The second application may be an application that is not stored in an external device. According to one embodiment, the processor (240) may determine the second application from among at least one application included in the electronic device (200) based on target information (e.g., a scheme) included in an action request (e.g., an intent). According to one embodiment, the processor (240) may provide a user interface (e.g., an application chooser screen) for determining the second application from among a plurality of applications based on recognizing a plurality of applications corresponding to the target information included in the action request from among at least one application. The processor (240) may determine the second application based on a user input received through the user interface.
[0046] In one embodiment, the processor (240) may perform an action corresponding to a request from the first application through the second application. For example, the processor (240) may call or provide an activity corresponding to a request from the first application through the second application. In one embodiment, the processor (240) may display the result of executing the action through the display (220). For example, if the action is to perform a specific function through the second application or to download a specific application, the processor (240) may output the result of performing the specific function or the result of downloading the specific function through the display (220).
[0047] In one embodiment, the processor (240) may receive user input related to the execution of an action. For example, the processor (240) may output a web view (e.g., a web page) related to the execution of the action. For example, the web view may include a login screen for a specified website or application related to the action. The processor (240) may receive user input for login while displaying the web view.
[0048] In one embodiment, the processor (240) may generate redirect information related to the action request through a second application, based at least in part on user input. For example, upon successful login based on user input, the processor (240) may obtain redirect information including user authentication information through the second application (or website).
[0049] According to one embodiment, the processor (240) may transmit the redirect information to the external device.
[0050] According to one embodiment, the operations described as being performed by the processor (240) may be performed by at least one processor (240). For example, each of the operations described above may be performed by the same or different processor (240), and / or may be performed by at least some of a plurality of processors (240). For example, at least some of the operations described above may be performed by a first processor (240), and at least some of the remaining operations may be performed by a second processor (240). According to one embodiment, the processor (240) may include a circuit such as a central processing unit (CPU), a microprocessor unit (MPU), an application processor (AP), a communication processor (CP), a system on chip (SoC), and / or an integrated circuit (IC).
[0051] According to various embodiments, the configuration of the electronic device (200) is not limited to that described in FIG. 1, and at least one configuration may be omitted or at least one configuration (for example, at least one of the components of the client device (301) of FIG. 3 or the components of the electronic device (1101) of FIG. 11) may be added.
[0052] According to one embodiment, when an electronic device (200) (e.g., a client device) uses a cloud service, if it needs to link with other applications and / or other services, it can do so on the electronic device (200) rather than on a cloud environment (e.g., an external device (e.g., a server device)). According to one embodiment, the electronic device (200) can increase user convenience when providing a cloud service by utilizing linkage between applications and user information without transmitting user information and / or applications stored in the electronic device to an external device, and can provide the user with a user experience that is substantially the same as when running an application on the electronic device (200) itself.
[0053]
[0054] For example, when providing a cloud service, if a server device (e.g., a cloud device) performs linking (e.g., deep linking) between applications, the server device may need to receive user data from a client device (e.g., a user terminal) in advance or store an application customized to suit the server device in advance. An electronic device (e.g., a client device and / or a server device) and / or a system according to an embodiment may perform linking with other applications and / or other services on the client device, rather than in a cloud environment (e.g., a server device), when providing a cloud service. The electronic device and / or system according to an embodiment may increase user convenience when providing a cloud service by utilizing linking and user information between applications without transmitting user information and / or applications stored on the client device to the server device, and may provide the user with a user experience substantially the same as when executing an application on the client device itself.
[0055] An electronic device (e.g., a server device) according to one embodiment of the present disclosure may include a communication circuit, a memory storing at least one application, and at least one processor. According to one embodiment, the memory may store instructions that, when executed by the at least one processor, control the operation of the electronic device.
[0056] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to execute, based on a request for a cloud service related to the first application received from an external device through the communication circuit, a first application corresponding to the request for the cloud service among the at least one application.
[0057] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to recognize, during execution of the first application, a request for an action related to another application from the first application.
[0058] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to transmit a request for the action to the external device based on a determination that target information included in the request for the action corresponds to target information associated with a pre-specified deep link.
[0059] The above instructions, when executed by the at least one processor, may cause the electronic device to receive redirect information corresponding to a request for the action from the external device through the communication circuit.
[0060] The instructions, when executed by the at least one processor, may cause the electronic device to provide the redirect information to the first application based on a determination that the redirect information is related to the first application.
[0061] The instructions, when executed by the at least one processor, may cause the electronic device to perform an action of the first application based at least in part on the redirect information.
[0062] In one embodiment, the redirect information may be generated through an application different from the first application included in the external device.
[0063] The instructions, when executed by the at least one processor, may cause the electronic device to determine whether the redirect information is related to the first application based on whether target information included in the redirect information corresponds to setting information related to the first application.
[0064] According to one embodiment, the request for the action may include at least one of the target information corresponding to the action or uniform resource identifier (URI) information related to the action.
[0065] An electronic device (e.g., a client device) according to one embodiment of the present disclosure may include a display, a communication circuit, at least one processor, and a memory including at least one application. According to one embodiment, the memory may store instructions that, when executed by the at least one processor, control the operation of the electronic device.
[0066] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to request a cloud service related to the first application from an external device through the communication circuit.
[0067] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to receive, from the external device, cloud service data related to the first application executed by the external device.
[0068] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to display an execution screen of the first application through the display based on the cloud service data.
[0069] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to receive, from the external device, a request for an action related to another application from the first application while displaying the execution screen of the first application.
[0070] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to execute a second application from among the at least one application that corresponds to the request for the action.
[0071] According to one embodiment, the instructions, when executed by the at least one processor, may cause the electronic device to perform the action via the second application.
[0072] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to receive user input related to execution of the action.
[0073] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to generate redirect information related to a request for the action through the second application based at least in part on the user input.
[0074] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to transmit the redirect information to the external device via the communication circuit.
[0075] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to display a result of execution of the action through the display.
[0076] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to determine the second application from among the at least one application based on target information included in the request for the action.
[0077] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to provide a user interface for determining the second application from among the plurality of applications based on recognizing a plurality of applications corresponding to target information included in the request for the action from among the at least one application.
[0078] According to one embodiment, the instructions, when executed by the at least one electronic device, may cause the electronic device to determine the second application based on user input received through the user interface.
[0079] According to one embodiment, the execution screen of the first application may include an indication indicating that the first application is being executed based on the cloud service.
[0080]
[0081] FIG. 3 is a block diagram of a system providing a cloud service according to one embodiment.
[0082] According to one embodiment, the system (300) may include a client device (301) (e.g., electronic device (200) of FIG. 2 or electronic device (1101) of FIG. 11) and a server device (303) (e.g., electronic device (100) of FIG. 1, electronic device (1101) of FIG. 11, or server (1108)).
[0083] According to one embodiment, a client device (301) may include a client application (310) and at least one second application (320).
[0084] The client application (310) may be an application pre-stored in the client device (301). The client application (310) may control the operation of the client device (301) (e.g., data transmission and reception with the server device (303). For example, the client application (310) may control the overall operation of the client device (301) under the operating system of the client device (301) (e.g., Android operating system). For example, the client application (310) may receive information about a request for an action (e.g., intent) from a first application (350) running from the server device (303), and output a screen corresponding to the request for the action (e.g., intent) through a browser (313), or execute a second application (320) to perform a function and / or action of the second application (320) corresponding to the request for the action, and / or call or provide an activity of the second application (320). When redirection information (e.g., URL information requiring redirection) is generated (occurred) while the browser (313) is running, the client application (310) can transmit the redirection information to the server device (303).
[0085] In one embodiment, the client application (310) may include a client communication module (311) and a browser (313). In one embodiment, the client communication module (311) may perform peer-to-peer communication with a server device (303) (e.g., the server communication module (331)). For example, the client communication module (311) may form a data channel with the server device (303) (e.g., the server communication module (331)) using a specified protocol and / or application programming interface (API), and may transmit and receive data (e.g., a data stream and / or a text message) with the server device (303) through the data channel. For example, the specified protocol and / or application programming interface (API) may include, but is not limited to, WebRTC (web real time communication) and / or socket (e.g., web socket) communication.
[0086] According to one embodiment, the browser (313) is an internal browser (313) of the client application (310) and can provide a web view (e.g., an Internet screen) based on uniform resource identifier (URI) and / or uniform resource locator (URL) information included in a request for an action (e.g., an intent).
[0087] According to one embodiment, the second application (320) may include at least one application stored on the client device (301), excluding the client application (310). For example, the second application (320) may include at least one application pre-stored on the client device (301) (e.g., built-in when the client device (301) is manufactured). The second application (320) may include at least one application provided by a third party (e.g., a service provider). For example, the third-party provided application (320) may include at least one application downloaded from an external source via a network by the client user. For example, the second application (320) may include at least one application that is identical to or corresponding to the first application (350). For example, the second application (320) may include, but is not limited to, a game application.
[0088] According to one embodiment, the server device (303) may include a cloud container. The server device (303) (e.g., the cloud container) may include a framework (310) (e.g., the Android framework (310)).
[0089] According to one embodiment, the framework (310) may include a server communication module (331), at least one first application (350), and a server application (340).
[0090] According to one embodiment, the server communication module (331) can perform peer-to-peer communication with a client device (301) (e.g., the client communication module (311)). For example, the server communication module (331) can form a data channel with the client device (301) (e.g., the client communication module (311)) using a specified protocol and / or application programming interface (API), and can transmit and receive data (e.g., a data stream and / or a text message) with the client device (301) through the data channel. For example, the specified protocol and / or application programming interface (API) can include, but is not limited to, WebRTC (web real time communication).
[0091] According to one embodiment, the first application (350) may include at least one application stored on the server device (303), excluding the server application (340). For example, the first application (350) may include at least one application pre-stored on the server device (303) (e.g., initially built into the server device (303). The first application (350) may include at least one application provided by a third party (e.g., a service provider) other than the server device (303) (e.g., a cloud service provider). For example, the first application (350) may be executed in response to a cloud service request from the client device (301). For example, the first application (350) may also be stored on the client device (350), but is not limited thereto. For example, the first application (350) may include, but is not limited to, a game application.
[0092] The server application (340) may be an application pre-stored in the server device (303). The server application (340) may control the operation of the server device (303) (e.g., data transmission and reception with the client device (301). For example, the server application (340) may control the overall operation of the server device (303) under the operating system of the server device (303) (e.g., the Android operating system).
[0093] In one embodiment, the server application (340) may include an intent handler (341). For example, the intent handler (341) may include an activity that is executed in response to a request for an action (e.g., an intent) from an application running on the Android operating system. In one embodiment, the intent handler (341) may control operations related to a request for an action requested from an application. For example, the intent handler (341) may receive a request for an action (e.g., an intent) from a first application. The intent handler (341) may transmit information related to the request for the action to the client device (301). The intent handler (341) may receive redirect information from the client device (301) (e.g., a second application (320)). The intent handler (341) can provide the received redirect information to the first application (350).
[0094] According to various embodiments, the configuration of the client device (301) is not limited to that described in FIG. 3, and at least one component may be omitted or at least one component (for example, at least one of the components of the electronic device (200) of FIG. 2 and / or the electronic device (1101) of FIG. 11) may be added. The configuration of the server device (303) is not limited to that described in FIG. 3, and at least one component may be omitted or at least one component (for example, at least one of the components of the electronic device (100) of FIG. 1 and / or the electronic device (1101) of FIG. 11) may be added. According to one embodiment, the operations of the server device (303) (for example, the server application (340)) described in FIG. 3 may be performed by the processor (130) of FIG. 1, and the operations of the client device (301) (for example, the client application (310)) may be performed by the processor (240) of FIG. 2.
[0095] According to one embodiment, the system (300) may, when providing a cloud service, perform interworking with other applications and / or other services, not on the server device (303), but on the client device (301). According to one embodiment, the system (300) may increase user convenience when providing a cloud service by performing interworking operations between applications on the client device (301) without transmitting user information and / or applications stored on the client device (301) to the server device (303) in advance, or storing them in the server device (303) in advance, and / or utilizing user information stored on the client device (301), and may provide the user of the client device (301) with a user experience that is substantially the same or similar to running an application on the client device (301) itself without going through the server device (303). According to embodiments of the present disclosure, it is possible to allow a client device to interact with an application within a server device (e.g., a cloud device) without being limited by the circumstances or environment of the client device (e.g., performance and / or storage space of the client device). According to embodiments of the present disclosure, events suitable for a mobile environment, such as a deep link-related event (e.g., a web page launch or an intent action in an Android environment) that occurred in an application within a server device, can be received and processed by a client device, and the processing result can be transmitted back to the application of the server device, thereby enabling smooth interaction between a user and an application via a cloud service.
[0096] According to embodiments of the present disclosure, the infrastructure required for a virtual environment can be installed in a lightweight manner. Instead of pre-installing a second application (320) included in a client device (310) in a virtual environment (server device), necessary events can be transmitted and directly processed through the client device, or applications can be installed when necessary. This reduces the need to install necessary applications on the server device in advance, taking all scenarios into account when building the virtual environment infrastructure.
[0097] According to embodiments of the present disclosure, the security of user information can be enhanced by performing deep link-related operations on a client device rather than a server device. For example, this can address the problem of personal information (e.g., login information) remaining in the cache of a server device within a reusable virtual environment (e.g., a server device), potentially exposing the user's personal information. Furthermore, embodiments of the present disclosure can prevent users from providing personal information to the server device. Furthermore, by transmitting data between applications on a client device and a server device in an encrypted state, the possibility of personal information leakage can be reduced.
[0098]
[0099] FIG. 4 is a flowchart illustrating a method for providing a cloud service according to one embodiment of the system. For example, the method of FIG. 4 is described assuming that the system (300) of FIG. 3 performs operations in the Android operating system, but is not limited thereto.
[0100] According to one embodiment, in operation 410, the server device (303) (e.g., the electronic device (100) of FIG. 1, or the electronic device (1101) or the server (1108) of FIG. 11) may register deep link related target information (e.g., a scheme). For example, the server device (303) may register the deep link related scheme in the application related configuration information (e.g., manifest information) (e.g., configuration information (900) of FIG. 9). For example, the server device (303) may register the deep link related scheme (e.g., http, https, about, javascript, market, samsungapps, or tel, etc.) in the intent filter in the manifest information.
[0101] According to one embodiment, in operation 420, the server device (303) may execute a first application among at least one first application (350) that responds to a cloud service request of a client device (301) (e.g., the electronic device (200) of FIG. 2 or the electronic device (1101) of FIG. 11). The server device (303) may recognize a request to execute a deep link of the first application. For example, the server device (303) may recognize a request (e.g., an intent) for an action related to another application of the first application. The server device (303) may determine whether the intent of the first application is an intent related to a deep link based on registered deep link-related target information. For example, if the first application executes an intent related to a deep link, the server application (340) (e.g., an intent handler (341)) may be executed. The server application (340) (e.g., intent handler (341)) can recognize the type of intent related to the deep link. For example, the intent can include target information (e.g., scheme). For example, the intent handler (341) can recognize the type of the intent based on the scheme included in the intent. For example, the type of the intent can include a web type or an intent type. For example, the intent handler (341) can determine the type of the intent as a web type if the intent includes a scheme (e.g., http, https) corresponding to a deep link uniform resource identifier (URI) and / or uniform resource locator (URL) that can be opened through a browser (313), and can determine the type of the intent as an intent type if the intent includes a scheme other than the browser (313) (e.g., market, samsungapps, tel).
[0102] According to one embodiment, in operation 430, the server device (303) may transmit deep link data to the client device (301). For example, the server application (340) (e.g., intent handler (341)) may transmit data of an intent executed by the first application to the client device (301) through the server communication module (331). According to one embodiment, when transmitting data of the intent, the intent handler (341) may transmit information about the type of the intent to the client device (301).
[0103] For example, if the intent is of web type (e.g., the intent contains the https scheme), the intent handler (341)
[0104] {
[0105] “type”: “web_url”,
[0106] “url”: “https / fac*.com / v13.0 / dialog / pauth / ?client_id=319553”
[0107] }
[0108] Data of the same intent can be transmitted to the client device (301).
[0109] As another example, if the intent is of an intent type (e.g., the intent includes the market scheme), the intent handler (341)
[0110] {
[0111] “type”: “intent_url”,
[0112] “url”: “market: / details?id=com.togamesinc / evony”
[0113] }
[0114] Data of the same intent can be transmitted to the client device (301).
[0115] According to one embodiment, in operation 440, the client device (301) (e.g., the client application (310)) may execute a deep link. For example, the client device (301) may receive data of an intent from the server device (303) through the client communication module (311). The client device (301) (e.g., the client application (310)) may execute a deep link corresponding to the intent based on the data of the received intent. According to one embodiment, the client device (301) may execute a deep link based on the type of the intent. For example, the client device (301) may execute a deep link based on information about the type of the intent received from the server device (303), or may recognize scheme information included in the intent based on data of the intent received from the server to recognize the type of the intent and execute the deep link. For example, if the intent is of web type, the client application (310) can output a web page corresponding to the intent through the browser (313). If the intent is of intent type, the client application (310) can transfer the intent to an application (e.g., a second application (320)) that can execute the intent. For example, in an Android environment, the client device (301) can execute an intent (e.g., an implicit intent) corresponding to the data of the received intent, and an application capable of processing the intent can be executed within the client device (301). For example, if there are multiple applications capable of processing the intent within the client device (301), the client device (301) can provide a user interface for selecting one of the multiple apps based on a user input. For example, if there is no application capable of processing the intent within the client device (301), the client device (301) can provide a user interface that induces installation of a related application.
[0116] According to one embodiment, in operation 450, when redirect information is generated by the client device (301), the redirect information may be transmitted to the server device (303). For example, when the browser (313) is outputting a web page in response to a web-type intent, the browser (313) may obtain redirect information based on a user input. For example, when the browser (313) is outputting a login-related web page and login is completed based on a user input, the browser (313) may obtain redirect information (e.g., a redirect URL) that the first application (350) can receive and process. For example, the redirect information may include a URL of a specific scheme including user authentication information. The client device (301) may transmit the obtained redirect information to the server device (303) via the client communication module (311).
[0117] According to one embodiment, in operation 460, the server device (303) may provide redirect information to the first application. For example, the intent handler (341) may receive the redirect information from the client device (301) via the server communication module (331). The intent handler (341) may determine whether to deliver the redirect information to the first application based on configuration information (e.g., manifest information) related to the first application. For example, the first application and the manifest information may include URL information of a specified scheme related to the redirect (e.g., “fbconnect: / ”, “fleetcommand: / loggedin / ?code”, “mygms-com.my.lts: / ”, or “scopelyid: / loggedin”, etc.) within the intent filter. For example, if the target information (e.g., scheme) included in the redirect information corresponds to the target information (e.g., scheme) related to the redirect registered in the configuration information, the intent handler (341) can provide the redirect information to the first application. For example, the intent handler (341) can deliver an intent including the redirect information to the first application. The first application can receive the intent including the redirect information based on the host information and / or scheme information registered in the intent filter of the configuration information (manifest) related to the first application. The first application can perform an action corresponding to the intent based on the redirect information.
[0118] According to one embodiment, the system (300) may, when providing a cloud service, perform linkage with other applications and / or other services, not on the server device (303), but on the client device (301). According to one embodiment, the system (300) may increase user convenience when providing a cloud service by performing linkage operations between applications on the client device (301) without transmitting user information and / or applications stored on the client device (301) to the server device (303) in advance, or storing the information on the server device (303) in advance, and / or utilizing user information stored on the client device (301), and may provide a user experience substantially the same or similar to that of executing an application on the client device (301) itself without going through the server device (303).
[0119]
[0120] FIG. 5 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0121] According to one embodiment, in operation 510, an electronic device (e.g., the electronic device (100) of FIG. 1, the server device (303) of FIG. 3, or the electronic device (1101) or server (1108) of FIG. 11) may execute a first application corresponding to the request of a cloud service based on a request of a cloud service related to the first application received from an external device (e.g., the electronic device (200) of FIG. 2, the client device (301) of FIG. 3, or the electronic device (1101) of FIG. 11). For example, the electronic device may execute a first application among a plurality of applications stored in a memory.
[0122] According to one embodiment, in operation 520, the electronic device may recognize a request for an action related to another application from the first application while the first application is running. According to one embodiment, the request for the action may include at least one of target information (e.g., a scheme) corresponding to the action or uniform resource identifier (URI) (or uniform resource locator (URL)) information related to the action. For example, the request for the action may include an intent (e.g., an implicit intent) executed (or requested) by the first application. For example, an intent may be a messaging object requesting a specific action to a running application or another application. For example, an application may notify an operating system (e.g., an Android operating system) of an action and / or activity to be performed through an intent. For example, an intent may include an explicit intent and an implicit intent. An explicit intent may contain information that explicitly specifies the component to be executed (e.g., an activity, a service, and / or a receiver), while an implicit intent may contain information that implicitly specifies the component (e.g., action information, category information, and data information). The data information may include host information (e.g., domain information), scheme, and / or URI information related to the action.
[0123] According to one embodiment, in operation 530, the electronic device may transmit the action request to the external device based on a determination that the target information (e.g., a scheme) included in the action request (e.g., an implicit intent) corresponds to the target information (e.g., a scheme) associated with a pre-specified deep link. For example, the electronic device may store the target information associated with the pre-specified deep link. For example, the electronic device may register the deep link-related scheme in the configuration information (e.g., manifest information) associated with the application. If the scheme included in the intent requested from the first application corresponds to the deep link-related scheme registered in the manifest, the electronic device may transmit the data of the intent to the external device.
[0124] In one embodiment, the electronic device can transmit intent data to an external device, thereby causing the external device to execute the intent of a first application providing a cloud service. For example, the electronic device can cause the external device to perform an action corresponding to the intent executed by the first application.
[0125] According to one embodiment, a method for providing a cloud service in an electronic device may, when providing a cloud service, require linkage with other applications and / or other services, perform this on an external device (e.g., a client device) instead of on the electronic device. According to one embodiment, a method for providing a cloud service in an electronic device may increase user convenience when providing a cloud service by allowing the electronic device to receive user information and / or applications stored in the external device, or to allow linkage between applications and use of user information by the external device without having to store them in advance, and may provide a user of the external device with a user experience that is substantially the same as running an application on the external device itself rather than a cloud service.
[0126]
[0127] FIG. 6 is a flowchart of a method for providing a cloud service to an electronic device, according to one embodiment. For example, the operations of FIG. 6 may be performed after the operations of FIG. 5, but are not limited thereto.
[0128] According to one embodiment, in operation 610, an electronic device (e.g., the electronic device (100) of FIG. 1, the server device (303) of FIG. 3, or the electronic device (1101) or server (1108) of FIG. 11) may receive redirect information corresponding to a request for an action from an external device (e.g., the electronic device (200) of FIG. 2, the client device (301) of FIG. 3, or the electronic device (1101) of FIG. 11). According to one embodiment, the redirect information may be generated through an application different from the first application included in the external device. For example, the electronic device may receive redirect information from the external device in response to a request for an action (e.g., an intent) requested from a first application providing a cloud service. For example, if the intent is to display a specific web view (e.g., a web page), the electronic device may receive redirect information from the external device that returns to the first application based on the specific web page and user input. For example, if the intent of the first application was to log in to a specific web page, the redirect information may include user authentication information based on a successful login.
[0129] According to one embodiment, in operation 620, the electronic device may provide redirect information to the first application based on a determination that the redirect information is related to the first application. For example, the electronic device may determine whether the redirect information is related to the first application based on configuration information (e.g., manifest information) related to the first application. For example, the configuration information (e.g., manifest) may include designated target information (e.g., scheme information) related to the redirect. The electronic device may provide the redirect information to the first application if the scheme included in the redirect information corresponds to a scheme related to the redirect included in the manifest.
[0130] According to one embodiment, in operation 630, the electronic device may perform an action of the first application based at least in part on the redirect information. For example, the electronic device may invoke or provide an activity of the first application corresponding to the redirect information based at least in part on the redirect information. For example, the electronic device may link user account information through the first application and the second application (or a specific web page) based on the redirect information.
[0131] According to one embodiment, a method for providing a cloud service in an electronic device may, when providing a cloud service, require linkage with other applications and / or other services, perform this on an external device (e.g., a client device) instead of on the electronic device. According to one embodiment, a method for providing a cloud service in an electronic device may increase user convenience when providing a cloud service by allowing the electronic device to receive user information and / or applications stored in the external device, or to allow linkage between applications and use of user information by the external device without having to store them in advance, and may provide a user of the external device with a user experience that is substantially the same as running an application on the external device itself rather than a cloud service.
[0132]
[0133] FIG. 7 is a flowchart of a method for providing a cloud service of an electronic device, according to one embodiment.
[0134] According to one embodiment, in operation 710, an electronic device (e.g., an electronic device (200) of FIG. 2, a client device (301) of FIG. 3, or an electronic device (1101) of FIG. 11) may request a cloud service related to a first application from an external device (e.g., an electronic device (100) of FIG. 1, a server device (303) of FIG. 3, or an electronic device (1101) or server (1108) of FIG. 11).
[0135] According to one embodiment, in operation 720, the electronic device may receive cloud service data related to a first application executed by the external device from the external device. For example, the cloud service data may include execution data of the first application.
[0136] According to one embodiment, in operation 730, the electronic device may display a first application execution screen through the display of the electronic device based on cloud service data. According to one embodiment, the first application execution screen may include an indication indicating that the first application is being executed based on the cloud service.
[0137] According to one embodiment, in operation 740, while the electronic device is displaying the execution screen of the first application, the electronic device may receive a request for an action related to another application from the first application from the external device. According to one embodiment, the request for the action may include at least one of target information (e.g., a scheme) corresponding to the action or uniform resource identifier (URI) (or uniform resource locator (URL)) information related to the action. For example, the request for the action may include an intent (e.g., an implicit intent) executed (or requested) by the first application.
[0138] According to one embodiment, in operation 750, the electronic device may execute a second application corresponding to the action request from among at least one application included in the electronic device. The second application may include a third-party provided application. The second application may be an application that is not stored on an external device. According to one embodiment, the electronic device may determine the second application from among at least one application included in the electronic device based on target information (e.g., a scheme) included in the action request (e.g., an intent). According to one embodiment, the electronic device may provide a user interface (e.g., an application chooser screen) for determining the second application from among a plurality of applications based on recognizing a plurality of applications corresponding to the target information included in the action request from among at least one application. The electronic device may determine the second application from among a plurality of applications based on a user input received through the user interface.
[0139] According to one embodiment, in operation 760, the electronic device may perform an action corresponding to a request from the first application through the second application. For example, the electronic device may call or provide an activity corresponding to a request from the first application through the second application. According to one embodiment, the electronic device may display the result of executing the action through the display. For example, if the action is to perform a specific function through the second application or to download a specific application, the electronic device may output the result of performing the specific function or the result of downloading the specific function through the display.
[0140] According to one embodiment, a method for providing a cloud service in an electronic device can perform, when a linkage with another application and / or another service is required while using a cloud service, the linkage can be performed on the electronic device, rather than in a cloud environment (e.g., an external device (e.g., a server device)). According to one embodiment, a method for providing a cloud service in an electronic device can increase user convenience when providing a cloud service by utilizing linkage between applications and user information without transmitting user information and / or applications stored in the electronic device to an external device, and can provide the user with a user experience substantially identical to that of running an application on the electronic device itself.
[0141]
[0142] FIG. 8 is a flowchart of a method for providing a cloud service to an electronic device, according to one embodiment. For example, FIG. 8 may be performed as at least part of operation 760 of FIG. 7, but is not limited thereto.
[0143] According to one embodiment, in operation 810, an electronic device (e.g., electronic device 200 of FIG. 2 , client device 301 of FIG. 3 , or electronic device 1101 of FIG. 11 ) may receive user input related to the execution of an action. For example, the electronic device may output a web view (e.g., a web page) related to the execution of the action. For example, the web view may include a login screen of a specified website or application related to the action. The electronic device may receive user input for login while displaying the web view.
[0144] In one embodiment, in operation 820, the electronic device may generate redirect information related to the request for the action through a second application, based at least in part on user input. For example, upon successful login based on user input, the electronic device may obtain redirect information including user authentication information through the second application (or website).
[0145] According to one embodiment, in operation 830, the electronic device may transmit the redirect information to an external device (e.g., the electronic device (100) of FIG. 1, the server device (303) of FIG. 3, or the electronic device (1101) or server (1108) of FIG. 11).
[0146] According to one embodiment, a method for providing a cloud service in an electronic device can perform, when a linkage with another application and / or another service is required while using a cloud service, the linkage can be performed on the electronic device, rather than in a cloud environment (e.g., an external device (e.g., a server device)). According to one embodiment, a method for providing a cloud service in an electronic device can increase user convenience when providing a cloud service by utilizing linkage between applications and user information without transmitting user information and / or applications stored in the electronic device to an external device, and can provide the user with a user experience substantially identical to that of running an application on the electronic device itself.
[0147]
[0148] FIG. 9 is an example of setting information of an electronic device according to one embodiment.
[0149] According to one embodiment, an electronic device (e.g., a server device) (e.g., the electronic device (100) of FIG. 1, the server device (303) of FIG. 3, or the electronic device (1101) or server (1108) of FIG. 11) may store configuration information (900) related to an application. Hereinafter, manifest information related to an application in an Android environment is described as an example of configuration information (900), but embodiments of the present disclosure are not limited thereto.
[0150] For example, manifest information may include filter information (910, 930) (e.g., intent filters) related to an action (e.g., intent) of the application, which includes at least one target information (911, 940) (e.g., scheme information).
[0151] For example, filter information (910, 930) (e.g., intent filter) can specify (or register) at least one target information (e.g., scheme) (911, 940). For example, referring to FIG. 9, the first intent filter (911) can specify the schemes of “http”, “https”, “about”, and “javascript”, and the second intent filter (940) can specify the scheme “market”.
[0152] According to one embodiment, when an electronic device recognizes a request (e.g., an intent) for an action related to another application from an application, the electronic device may perform a deep link operation based on whether the scheme included in the action request corresponds to a scheme specified in the configuration information. For example, when the scheme information included in the request (intent) for the action requested from the running application corresponds to “http”, “https”, “about”, “javascript”, or “market”, the electronic device may transmit the intent data to an external device (e.g., a client device) and perform the deep link operation.
[0153] According to one embodiment, the configuration information may further include target information (e.g., a scheme) related to the redirect. For example, when the electronic device receives redirect information (e.g., a redirect URL) from an external device (e.g., a client device) (e.g., the electronic device (200) of FIG. 2 , the client device (301) of FIG. 3 , or the electronic device (1101) of FIG. 11 ), the electronic device may determine whether the target information (e.g., a scheme) included in the redirect information corresponds to target information specified in the configuration information (900) (e.g., manifest information). If the target information included in the redirect information corresponds to target information (911, 940) specified in the configuration information (900), the electronic device may provide the redirect information to the running application.
[0154]
[0155] FIGS. 10A to 10C are examples of execution screens of an application through a cloud service provided by an electronic device, according to one embodiment.
[0156] According to one embodiment, referring to FIG. 10A, a first screen (1001) represents a screen in which a first application (e.g., a game application) is executed through a cloud service on a client device (e.g., the electronic device (200) of FIG. 2, the client device (301) of FIG. 3, or the electronic device (1101) of FIG. 11). For example, when a client device requests a cloud service for the first application, a server device (e.g., the electronic device (100) of FIG. 1, the server device (303) of FIG. 3, or the electronic device (1101) or server (1108) of FIG. 11) may execute the first application stored in the server device and provide cloud data related to the execution of the first application to the client device in real time. The client device may output an execution screen (the first screen (1001)) of the first application based on the cloud data. According to one embodiment, the first screen (1001) may include an indication (1010) indicating that the first application is being executed based on a cloud service. In one embodiment, the server device may transmit a request for an action related to another application (e.g., an intent related to a deep link) requested from the first application while the first application is running to the client device. The client device may output a first screen (1001) related to account login based on the action request received from the server device. The first screen (1001) may include a first user interface (1020) for linking with a user account of the second application. For example, based on a user input to the first user interface (1020), the client device may output a second screen (1003).
[0157] According to one embodiment, referring to FIG. 10B, the second screen (1003) represents a screen on which a second application (e.g., an SNS application or a browser application) is executed on the client device. For example, the client device may execute the second application included in the client device in response to an action request received from the server device. According to one embodiment, the second application may not be stored on the server device. For example, the client device may execute a second application that may be linked with the first application and output the second screen (1003). The client device may receive user input for the second application (e.g., user input for logging in). For example, the second screen (1003) may include a second user interface (1030) for approving a login and a third user interface (1040) for rejecting a login. The client device may log in to a user account associated with the second application based on the user input received through the second user interface (1030). For example, upon successful login, the client device may obtain redirect information (e.g., a redirect URL (uniform resource locator)) from the second application. For example, the redirect information may be generated through the login of the second application. The client device may transmit the redirect information to the server device.
[0158] According to one embodiment, referring to FIG. 10c, the third screen (1005) represents a screen in which a first application (e.g., a game application) is executed on a client device through a cloud service. For example, the server device may perform an action of the first application based on redirect information received from the client device. For example, the server device may call an activity (e.g., the third screen (1005)) of the first application corresponding to the redirect information based on the redirect information. For example, the server device may link the first application with the second application based on the redirect information and transmit cloud data related to the third screen (1005) indicating that the linking is complete to the client device. The client device may output an execution screen (the third screen (1005)) of the first application indicating that the linking with the second application is complete based on the cloud data received from the server device. For example, the third screen (1005) may include a fourth user interface (1025) indicating that the first application has logged in and / or linked with the user account of the second application. In one embodiment, the third screen (1005) may include an indication (1010) indicating that the first application is running based on a cloud service.
[0159] According to one embodiment, a client device and a server device can link a first application executed on the server device and a second application stored on the client device while providing a cloud service. For example, the client device can execute a second application stored on the client device to perform an action based on a request for an action (e.g., an intent) received from the server device, and when redirect information is generated, the generated redirect information can be provided to the server device (e.g., the first application of the server device), and the server device can perform an action (or activity) of the first application based on the redirect information. Through this, the client device and the server device can provide a cloud service by utilizing the same method of executing or linking the first application and / or the second application on a local device (e.g., the client device) without a cloud service. Accordingly, the server device can perform a linking operation between applications through the client device while providing a cloud service without receiving or storing an application (e.g., the second application) and / or user information stored on the client device.
[0160]
[0161] A method for providing a cloud service of an electronic device (e.g., a server device) according to one embodiment of the present disclosure may include an operation of executing a first application corresponding to a request for a cloud service related to a first application received from an external device.
[0162] According to one embodiment, the method may include an operation of recognizing, during execution of the first application, a request for an action related to another application from the first application.
[0163] According to one embodiment, the method may include an operation of transmitting a request for the action to the external device based on a determination that target information included in the request for the action corresponds to target information associated with a pre-specified deep link.
[0164] According to one embodiment, the method may include receiving redirect information corresponding to a request for the action from the external device.
[0165] In one embodiment, the method may include providing the redirect information to the first application based on a determination that the redirect information is related to the first application.
[0166] In one embodiment, the method may further include performing an action of the first application based at least in part on the redirect information.
[0167] In one embodiment, the redirect information may be generated through an application different from the first application included in the external device.
[0168] According to one embodiment, the operation of providing the redirect information to the first application may include an operation of determining whether the redirect information is related to the first application based on whether target information included in the redirect information corresponds to preset setting information related to the first application.
[0169] According to one embodiment, the request for the action may include at least one of the target information corresponding to the action or uniform resource identifier (URI) information related to the action.
[0170] A method for providing a cloud service by an electronic device (e.g., a client device) according to one embodiment of the present disclosure may include an operation of requesting a cloud service related to a first application from an external device.
[0171] According to one embodiment, the method may include receiving, from the external device, cloud service data related to the first application executed by the external device.
[0172] According to one embodiment, the method may include an operation of displaying an execution screen of the first application through the display based on the cloud service data.
[0173] According to one embodiment, the method may include an operation of receiving a request for an action related to another application from the first application from the external device while displaying the execution screen of the first application.
[0174] According to one embodiment, the method may include executing a second application corresponding to the request for the action among the at least one application.
[0175] In one embodiment, the method may include performing the action via the second application.
[0176] According to one embodiment, the method may include receiving user input related to execution of the action.
[0177] In one embodiment, the method may include generating redirect information related to the request for the action through the second application based at least in part on the user input.
[0178] According to one embodiment, the method may include transmitting the redirect information to the external device via the communication circuit.
[0179] According to one embodiment, the method may include an operation of displaying a result of execution of the action through the display.
[0180] According to one embodiment, the method may include an operation of determining the second application from among the at least one application based on target information included in the request for the action.
[0181] According to one embodiment, the operation of determining the second application may include an operation of providing a user interface for determining the second application among the plurality of applications based on recognizing a plurality of applications corresponding to target information included in the request for the action among the at least one application.
[0182] According to one embodiment, the act of determining the second application may include an act of determining the second application based on user input received through the user interface.
[0183] According to one embodiment, the execution screen of the first application may include an indication indicating that the first application is being executed based on the cloud service.
[0184] According to one embodiment, a method for providing a cloud service can perform, when interworking with other applications and / or other services is required while providing a cloud service, this operation can be performed on a client device rather than in a cloud environment (e.g., a server device). The method for providing a cloud service according to one embodiment can increase user convenience when providing a cloud service by utilizing interworking between applications and user information without transmitting stored user information and / or applications to a server device, and can provide the user with a user experience substantially identical to that of running applications on the client device itself.
[0185]
[0186] FIG. 11 is a block diagram of an electronic device (1101) within a network environment (1100) according to various embodiments. Referring to FIG. 11, in the network environment (1100), the electronic device (1101) may communicate with the electronic device (1102) via a first network (1198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (1104) or the server (1108) via a second network (1199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (1101) may communicate with the electronic device (1104) via the server (1108). According to one embodiment, the electronic device (1101) may include a processor (1120), a memory (1130), an input module (1150), an audio output module (1155), a display module (1160), an audio module (1170), a sensor module (1176), an interface (1177), a connection terminal (1178), a haptic module (1179), a camera module (1180), a power management module (1188), a battery (1189), a communication module (1190), a subscriber identification module (1196), or an antenna module (1197). In some embodiments, the electronic device (1101) may omit at least one of these components (e.g., the connection terminal (1178)), or may have one or more other components added. In some embodiments, some of these components (e.g., sensor module (1176), camera module (1180), or antenna module (1197)) may be integrated into a single component (e.g., display module (1160)).
[0187] The processor (1120) may, for example, execute software (e.g., a program (1140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (1101) connected to the processor (1120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (1120) may store commands or data received from other components (e.g., a sensor module (1176) or a communication module (1190)) in a volatile memory (1132), process the commands or data stored in the volatile memory (1132), and store result data in a non-volatile memory (1134). According to one embodiment, the processor (1120) may include a main processor (1121) (e.g., a central processing unit or an application processor) or an auxiliary processor (1123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (1121). For example, when the electronic device (1101) includes the main processor (1121) and the auxiliary processor (1123), the auxiliary processor (1123) may be configured to use less power than the main processor (1121) or to be specialized for a given function. The auxiliary processor (1123) may be implemented separately from the main processor (1121) or as a part thereof.
[0188] The auxiliary processor (1123) may control at least a portion of functions or states associated with at least one component (e.g., the display module (1160), the sensor module (1176), or the communication module (1190)) of the electronic device (1101), for example, on behalf of the main processor (1121) while the main processor (1121) is in an inactive (e.g., sleep) state, or together with the main processor (1121) while the main processor (1121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (1123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (1180) or a communication module (1190)). In one embodiment, the auxiliary processor (1123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (1101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (1108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0189] The memory (1130) can store various data used by at least one component (e.g., the processor (1120) or the sensor module (1176)) of the electronic device (1101). The data can include, for example, software (e.g., the program (1140)) and input data or output data for commands related thereto. The memory (1130) can include a volatile memory (1132) or a non-volatile memory (1134).
[0190] The program (1140) may be stored as software in memory (1130) and may include, for example, an operating system (1142), middleware (1144), or an application (1146).
[0191] The input module (1150) can receive commands or data to be used in a component of the electronic device (1101) (e.g., a processor (1120)) from an external source (e.g., a user) of the electronic device (1101). The input module (1150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0192] The audio output module (1155) can output audio signals to the outside of the electronic device (1101). The audio output module (1155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0193] The display module (1160) can visually provide information to an external party (e.g., a user) of the electronic device (1101). The display module (1160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (1160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0194] The audio module (1170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (1170) can acquire sound through the input module (1150), output sound through the sound output module (1155), or an external electronic device (e.g., electronic device (1102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (1101).
[0195] The sensor module (1176) can detect the operating status (e.g., power or temperature) of the electronic device (1101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (1176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0196] The interface (1177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (1101) with an external electronic device (e.g., the electronic device (1102)). In one embodiment, the interface (1177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0197] The connection terminal (1178) may include a connector through which the electronic device (1101) may be physically connected to an external electronic device (e.g., the electronic device (1102)). According to one embodiment, the connection terminal (1178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0198] The haptic module (1179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (1179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0199] The camera module (1180) can capture still images and videos. According to one embodiment, the camera module (1180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0200] The power management module (1188) can manage power supplied to the electronic device (1101). According to one embodiment, the power management module (1188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0201] A battery (1189) may power at least one component of the electronic device (1101). In one embodiment, the battery (1189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0202] The communication module (1190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (1101) and an external electronic device (e.g., electronic device (1102), electronic device (1104), or server (1108)), and the performance of communication through the established communication channel. The communication module (1190) may operate independently from the processor (1120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (1190) may include a wireless communication module (1192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (1194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, a corresponding communication module can communicate with an external electronic device (1104) via a first network (1198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (1199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (1192) can verify or authenticate the electronic device (1101) within a communication network such as the first network (1198) or the second network (1199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (1196).
[0203] The wireless communication module (1192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (1192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (1192) may support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (1192) may support various requirements specified in the electronic device (1101), an external electronic device (e.g., the electronic device (1104)), or a network system (e.g., the second network (1199)). According to one embodiment, the wireless communication module (1192) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0204] The antenna module (1197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (1197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (1197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (1198) or the second network (1199), may be selected from the plurality of antennas by, for example, the communication module (1190). A signal or power may be transmitted or received between the communication module (1190) and the external electronic device via the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (1197).
[0205] According to various embodiments, the antenna module (1197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0206] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0207] According to one embodiment, commands or data may be transmitted or received between the electronic device (1101) and an external electronic device (1104) via a server (1108) connected to a second network (1199). Each of the external electronic devices (1102 or 104) may be the same or a different type of device as the electronic device (1101). According to one embodiment, all or part of the operations executed in the electronic device (1101) may be executed in one or more of the external electronic devices (1102, 104, or 108). For example, when the electronic device (1101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (1101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (1101). The electronic device (1101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (1101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (1104) may include an Internet of Things (IoT) device. The server (1108) may be an intelligent server utilizing machine learning and / or a neural network.In one embodiment, an external electronic device (1104) or server (1108) may be included in the second network (1199). The electronic device (1101) may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology and IoT-related technology.
[0208] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0209] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the 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 the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0210] The term "module" used in various embodiments of this document 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 an integral component, or a minimum unit or part of such a component 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).
[0211] Various embodiments of the present document may be implemented as software (e.g., a program (1140)) including one or more instructions stored in a storage medium (e.g., an internal memory (1136) or an external memory (1138)) readable by a machine (e.g., an electronic device (1101)). For example, a processor (e.g., a processor (1120)) of the machine (e.g., an electronic device (1101)) may call at least one instruction among 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 executable by an interpreter. The machine-readable storage medium 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 signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0212] According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0213] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component 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.
Claims
1. In electronic devices, communication circuit; Memory storing at least one application; and comprising at least one processor, The above memory, when executed by the at least one processor, causes the electronic device to: Through the above communication circuit, based on a request for a cloud service related to a first application received from an external device, executing the first application corresponding to the request for the cloud service among the at least one application, During execution of the first application, a request for an action related to another application is recognized from the first application, An electronic device storing instructions for transmitting a request for the action to the external device based on a determination that the target information included in the request for the action corresponds to target information related to a pre-specified deep link.
2. In claim 1, The above instructions, when executed by the at least one processor, cause the electronic device to: Receiving redirect information corresponding to a request for the action from the external device through the communication circuit; Based on the determination that the above redirect information is related to the first application, the above redirect information is provided to the first application, To cause the first application to perform an action based at least in part on the above redirect information; The above redirect information is an electronic device generated through an application different from the first application included in the external device.
3. In claim 2, The above instructions, when executed by the at least one processor, cause the electronic device to: An electronic device that determines whether the redirect information is related to the first application based on whether target information included in the redirect information corresponds to setting information related to the first application.
4. In claims 1 to 3, An electronic device wherein a request for said action includes at least one of the target information corresponding to said action or uniform resource identifier (URI) information related to said action.
5. In electronic devices, display; communication circuit; at least one processor; and Contains memory containing at least one application, The above memory, when executed by the at least one processor, causes the electronic device to: Through the above communication circuit, request a cloud service related to the first application to an external device, Receive cloud service data related to the first application executed by the external device from the external device, Based on the above cloud service data, the execution screen of the first application is displayed through the display, While displaying the execution screen of the first application, a request for an action related to another application is received from the first application from the external device, Executing a second application that responds to the request for the action among at least one of the above applications, An electronic device storing instructions causing said second application to perform said action.
6. In claim 5, The above instructions, when executed by the at least one electronic device, cause the electronic device to: Receiving user input related to the execution of the above action, Generating redirect information related to a request for said action via said second application based at least in part on said user input; An electronic device that transmits the redirect information to the external device through the communication circuit.
7. In claim 5, The above instructions, when executed by the at least one electronic device, cause the electronic device to: An electronic device that displays the result of executing the action through the display.
8. In claim 5, The above instructions, when executed by the at least one electronic device, cause the electronic device to: An electronic device that determines the second application from among the at least one application based on target information included in the request for the action.
9. In claim 8, The above instructions, when executed by the at least one electronic device, cause the electronic device to: Providing a user interface for determining the second application among the plurality of applications based on recognizing a plurality of applications corresponding to target information included in the request for the action among the at least one application; An electronic device that determines the second application based on user input received through the user interface.
10. In claim 5, An electronic device, wherein the execution screen of the first application includes an indication indicating that the first application is being executed based on the cloud service.
11. In the method of providing cloud services for electronic devices, An operation of executing a first application corresponding to a request of a cloud service related to a first application received from an external device; An action of recognizing a request for an action related to another application from the first application while the first application is running; A method comprising an action of transmitting a request for said action to said external device based on a determination that target information included in the request for said action corresponds to target information associated with a pre-specified deep link.
12. In claim 11, An action of receiving redirect information corresponding to a request for said action from said external device; An action of providing said redirect information to said first application based on a determination that said redirect information is related to said first application; and Further comprising an action of performing an action of the first application based at least in part on the redirect information; A method in which the above redirect information is generated through an application different from the first application included in the external device.
13. In claim 12, The action of providing the above redirect information to the first application is: A method including an action of determining whether the redirect information is related to the first application based on whether target information included in the redirect information corresponds to setting information related to the first application.
14. In the method of providing cloud services for electronic devices, An action to request a cloud service related to a first application from an external device; An operation of receiving cloud service data related to the first application executed by the external device from the external device; An action of displaying the execution screen of the first application through the display of the electronic device based on the above cloud service data; An action of receiving a request for an action related to another application from the first application from the external device while displaying the execution screen of the first application; An action of executing a second application corresponding to a request for said action among at least one of said applications; and A method comprising performing said action via said second application.
15. In claim 14, An action for receiving user input related to the execution of the above action; An action of generating redirect information related to a request for said action via said second application based at least in part on said user input; and A method further comprising the action of transmitting said redirect information to said external device.
Citation Information
Patent Citations
Application partial deep link to a corresponding resource
KR1020170130603A
System for diagonising cable
KR1020210094809A
Systems and methods for deep linking of saas application via embedded browser
US20200097612A1
System and method for mobile application deep linking
US20200106850A1
Methods and apparatus for mobile device messaging-based communications using custom-generated deeplinks and based on the hyper text transfer protocol (HTTP)
US20230259949A1