KR20230101536A - Method and apparatus for controlling applications - Google Patents

Method and apparatus for controlling applications Download PDF

Info

Publication number
KR20230101536A
KR20230101536A KR1020210191708A KR20210191708A KR20230101536A KR 20230101536 A KR20230101536 A KR 20230101536A KR 1020210191708 A KR1020210191708 A KR 1020210191708A KR 20210191708 A KR20210191708 A KR 20210191708A KR 20230101536 A KR20230101536 A KR 20230101536A
Authority
KR
South Korea
Prior art keywords
app
identifier
server
controlling
signal
Prior art date
Application number
KR1020210191708A
Other languages
Korean (ko)
Other versions
KR102582398B1 (en
Inventor
김진호
Original Assignee
주식회사 카카오엔터프라이즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오엔터프라이즈 filed Critical 주식회사 카카오엔터프라이즈
Priority to KR1020210191708A priority Critical patent/KR102582398B1/en
Publication of KR20230101536A publication Critical patent/KR20230101536A/en
Application granted granted Critical
Publication of KR102582398B1 publication Critical patent/KR102582398B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Abstract

어플리케이션을 제어하는 방법 및 장치가 개시된다. 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법은 제1 앱을 호출한 제2 앱으로부터, 제2 앱에 대응하는 디바이스의 제2 식별자를 획득하는 단계, 제2 식별자를 제1 앱에 대응하는 디바이스의 제1 식별자와 매핑하여 저장하는 단계 및 제1 식별자와 매핑하여 저장된 제2 식별자에 기초하여, 제2 앱과 연동된 제2 서버에, 디바이스에 설치된 제2 앱의 제어를 위한 신호를 전송하는 단계를 포함할 수 있다.A method and apparatus for controlling an application are disclosed. A method of operating a first server interlocked with a first app installed in a device according to an embodiment includes obtaining a second identifier of a device corresponding to the second app from a second app that called the first app; Mapping and storing the identifier with the first identifier of the device corresponding to the first app, and based on the stored second identifier mapped to the first app, in a second server linked with the second app, a second identifier installed in the device. It may include transmitting a signal for app control.

Figure P1020210191708
Figure P1020210191708

Description

어플리케이션을 제어하는 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING APPLICATIONS}Method and apparatus for controlling application {METHOD AND APPARATUS FOR CONTROLLING APPLICATIONS}

아래 실시예들은 어플리케이션을 제어하는 방법 및 장치에 관한 것으로, 구체적으로는 휴대용 통신 디바이스에 설치된 어플리케이션을 제어하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for controlling an application, and more specifically, to a method and apparatus for controlling an application installed in a portable communication device.

스마트폰 및 태블릿 PC를 비롯한 휴대용 통신 디바이스(이하, 디바이스라 지칭함)의 사용이 보편화되면서, 디바이스에서 실행되는 수많은 기능을 제공하는 다양한 어플리케이션이 보급되고 있다. 어플리케이션의 다양한 기능을 위해 서버와 통신을 하거나 다른 어플리케이션을 호출하여 데이터를 송수신하는 기술이 개발되고 있다. 앱 투 앱 통신이 가능해지면서, 미리 설정된 보안 정책에 따라 디바이스에 설치된 앱의 사용을 제어하기 위하여 이용되는 MDM(Mobile Device Management) 솔루션과 같은 디바이스 제어에 관한 솔루션의 활용도가 증가하고 있으며, 디바이스에 설치된 앱 제어에 관한 효율 및 편의를 증진시킬 수 있는 다양한 기술의 개발이 요구되고 있다. As the use of portable communication devices (hereinafter, referred to as devices) including smart phones and tablet PCs has become common, various applications that provide numerous functions running on the devices are becoming popular. For various functions of an application, a technology for transmitting/receiving data by communicating with a server or calling another application is being developed. As app-to-app communication becomes possible, the utilization of solutions related to device control, such as MDM (Mobile Device Management) solutions used to control the use of apps installed on devices according to preset security policies, is increasing. There is a demand for the development of various technologies capable of enhancing efficiency and convenience related to app control.

아래 실시 예들을 통해, 단일 디바이스에 대하여 서로 다른 식별자를 관리하는 복수의 앱을 제어하는 기술을 제공할 수 있다.Through the embodiments below, a technique for controlling a plurality of apps managing different identifiers for a single device may be provided.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenges are not limited to the above-described technical challenges, and other technical challenges may exist.

일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법은 상기 제1 앱을 호출한 제2 앱으로부터, 상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 획득하는 단계; 상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계; 및 상기 제1 식별자와 매핑하여 저장된 상기 제2 식별자에 기초하여, 상기 제2 앱과 연동된 제2 서버에, 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는 단계를 포함한다.A method of operating a first server linked with a first app installed in a device according to an embodiment includes acquiring a second identifier of the device corresponding to the second app from a second app that called the first app. ; mapping and storing the second identifier with the first identifier of the device corresponding to the first app; and transmitting a signal for controlling the second app installed in the device to a second server interworking with the second app based on the stored second identifier mapped to the first identifier.

상기 제2 앱의 제어를 위한 신호를 전송하는 단계는 상기 제1 앱으로부터, 상기 제2 앱의 제어를 위한 신호를 획득하는 단계; 및 상기 디바이스의 상기 제1 식별자에 매핑된 상기 제2 식별자를 획득하는 단계를 더 포함할 수 있다.Transmitting the signal for controlling the second app may include acquiring a signal for controlling the second app from the first app; and obtaining the second identifier mapped to the first identifier of the device.

상기 제2 앱의 제어를 위한 신호는 상기 제2 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함할 수 있다.The signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the second identifier.

상기 제2 앱은 상기 제1 앱의 호출을 위한 앱 스킴(scheme) 정보에 기초하여, 상기 제1 앱을 호출할 수 있다.The second app may call the first app based on app scheme information for calling the first app.

상기 제2 앱은 상기 제어를 위한 신호에 기초하여, 상기 디바이스의 백그라운드에서 실행될 수 있다.The second app may be executed in the background of the device based on the control signal.

상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계는 상기 제1 앱에 대응하는 제어 대상에 관한 조건에 기초하여, 상기 제2 앱이 제어 대상인지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여, 상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계를 포함할 수 있다.The step of mapping and storing the mapping with the first identifier of the device may include determining whether the second app is a control target based on a condition related to a control target corresponding to the first app; and mapping and storing the second identifier with the first identifier of the device corresponding to the first app, based on a result of the determination.

일 실시 예에 따른 디바이스에 설치된 제2 앱의 동작 방법은 상기 디바이스에 설치된 제1 앱을 호출하여, 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자를 획득하는 단계; 상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 상기 제1 식별자로 교체하는 단계; 상기 교체된 제1 식별자를 상기 제2 앱과 연동된 제2 서버에 전송하는 단계; 및 상기 제1 앱과 연동된 제1 서버로부터 상기 제1 식별자에 기초하여 전송된 상기 제2 앱을 제어하기 위한 신호를 수신하는 단계를 포함한다.According to an embodiment, a method of operating a second app installed on a device includes calling a first app installed on the device and acquiring a first identifier of the device corresponding to the first app; replacing a second identifier of the device corresponding to the second app with the first identifier; Transmitting the replaced first identifier to a second server linked with the second app; and receiving a signal for controlling the second app transmitted based on the first identifier from a first server interworking with the first app.

상기 제1 식별자를 획득하는 단계는 상기 제1 앱의 호출을 위한 앱 스킴(scheme) 정보에 기초하여, 상기 제1 앱을 호출하는 단계; 상기 호출에 응답한 상기 제1 앱에 상기 제1 식별자를 요청하는 단계; 및 상기 제1 식별자의 요청에 대한 응답으로, 상기 제1 앱으로부터 상기 제1 식별자를 획득하는 단계를 포함할 수 있다.The obtaining of the first identifier may include calling the first app based on app scheme information for calling the first app; requesting the first identifier from the first App that has responded to the call; and obtaining the first identifier from the first App in response to the request for the first identifier.

상기 제1 식별자를 획득하는 단계는 상기 제1 앱으로부터 상기 호출에 대한 응답이 수신되지 않는 경우, 상기 제1 앱을 호출하는 단계를 일정 주기로 반복하는 단계; 및 상기 제1 앱으로부터 상기 제1 식별자의 요청에 대한 응답이 수신되지 않는 경우, 상기 제1 식별자를 요청하는 단계를 일정 주기로 반복하는 단계 중 적어도 하나를 더 포함할 수 있다.The acquiring of the first identifier may include repeating the calling of the first app at regular intervals when a response to the call is not received from the first app; and when a response to the request for the first identifier is not received from the first app, at least one of repeating the requesting of the first identifier at regular intervals.

상기 제2 앱을 제어하기 위한 신호는 상기 제1 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함할 수 있다.The signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the first identifier.

상기 제2 앱을 제어하기 위한 신호를 수신하는 단계는 상기 디바이스의 백그라운드에서 상기 제2 앱을 제어하기 위한 신호에 포함된 상기 실행 명령을 실행하는 단계를 포함할 수 있다.Receiving the signal for controlling the second app may include executing the execution command included in the signal for controlling the second app in the background of the device.

상기 제1 식별자를 획득하는 단계는 상기 제1 앱에 관하여 미리 정해진 호출 조건을 모니터링하는 단계; 및 상기 모니터링 결과에 기초하여, 상기 제1 앱을 호출하여, 상기 제1 식별자를 획득하는 단계를 포함할 수 있다.The acquiring of the first identifier may include monitoring a predetermined call condition for the first app; and obtaining the first identifier by calling the first app based on a result of the monitoring.

일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법은 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자에 기초하여, 제2 서버와 연동된 제2 앱의 제어를 위한 신호를 수신하는 단계; 상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단하는 단계; 및 상기 제1 식별자에 기초하여, 상기 제1 식별자를 공유하는 서버로 판단된 상기 제2 서버에 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는 단계를 포함한다.A method of operating a first server linked with a first app installed in a device according to an embodiment controls a second app linked with a second server based on a first identifier of the device corresponding to the first app. receiving a signal for; determining whether the second server is a server sharing the first identifier; and transmitting a signal for controlling the second app installed in the device to the second server determined to be a server sharing the first identifier based on the first identifier.

상기 제1 식별자가 공유된 서버로 판단된 상기 제2 서버는 상기 제2 앱이 상기 제1 앱으로부터 획득한 상기 제1 식별자를, 상기 제2 앱이 설치된 상기 디바이스를 식별하기 위한 정보로 저장할 수 있다.The second server determined to be the server with which the first identifier is shared may store the first identifier obtained by the second app from the first app as information for identifying the device on which the second app is installed. there is.

상기 제2 앱의 제어를 위한 신호는 상기 제1 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함할 수 있다.The signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the first identifier.

상기 제2 앱의 제어를 위한 신호를 수신하는 단계는 상기 제1 앱 및 제3 서버 중 적어도 하나로부터 상기 제2 앱의 제어를 위한 신호를 수신하는 단계를 포함할 수 있다.Receiving a signal for controlling the second app may include receiving a signal for controlling the second app from at least one of the first app and a third server.

상기 제3 서버는 상기 제1 식별자를 공유하는 서버를 포함할 수 있다.The third server may include a server sharing the first identifier.

일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버는 상기 제1 앱을 호출한 제2 앱으로부터, 상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 획득하고, 상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하고, 상기 제1 식별자와 매핑하여 저장된 상기 제2 식별자에 기초하여, 상기 제2 앱과 연동된 제2 서버에, 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는, 적어도 하나의 프로세서를 포함한다.According to an embodiment, a first server interworking with a first app installed in a device obtains a second identifier of the device corresponding to the second app from a second app that called the first app, and An identifier is mapped to and stored with a first identifier of the device corresponding to the first app, and based on the stored second identifier mapped to the first identifier, a second server interlocked with the second app, and at least one processor that transmits a signal for controlling the second app installed in the device.

상기 제1 서버는 상기 제1 앱이 설치된 디바이스들 각각에 대응하여, 상기 제1 앱에 대응하는 해당 디바이스의 제1 식별자 및 상기 제2 앱에 대응하는 상기 해당 디바이스의 제2 식별자의 매핑 정보를 저장하는 메모리를 더 포함할 수 있다.The first server provides mapping information between a first identifier of the corresponding device corresponding to the first app and a second identifier of the corresponding device corresponding to the second app, corresponding to each of the devices on which the first app is installed. A storage memory may be further included.

상기 프로세서는, 상기 제2 앱의 제어를 위한 신호를 전송함에 있어서, 상기 제1 앱으로부터, 상기 제2 앱의 제어를 위한 신호를 획득하고, 상기 디바이스의 상기 제1 식별자에 매핑된 상기 제2 식별자를 획득할 수 있다.In transmitting a signal for controlling the second app, the processor obtains a signal for controlling the second app from the first app, and the second app mapped to the first identifier of the device. identifier can be obtained.

상기 제2 앱의 제어를 위한 신호는 상기 제2 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함할 수 있다.The signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the second identifier.

일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버는 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자에 기초하여, 제2 서버와 연동된 제2 앱의 제어를 위한 신호를 수신하고, 상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단하며, 상기 제1 식별자에 기초하여, 상기 제1 식별자를 공유하는 서버로 판단된 상기 제2 서버에 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는, 적어도 하나의 프로세서를 포함한다.According to an embodiment, the first server linked with the first app installed in the device transmits a signal for controlling the second app linked with the second server based on the first identifier of the device corresponding to the first app. receive, determine whether the second server is a server sharing the first identifier, and based on the first identifier, the second server determined to be a server sharing the first identifier is installed in the device. and at least one processor that transmits a signal for controlling the second app.

상기 프로세서는, 상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단함에 있어서, 상기 제2 앱이 상기 제1 앱으로부터 획득한 상기 제1 식별자를, 상기 제2 앱이 설치된 상기 디바이스를 식별하기 위한 정보로 저장하는 경우, 상기 제1 식별자를 공유하는 서버로 판단할 수 있다.In determining whether the second server is a server sharing the first identifier, the processor uses the first identifier obtained by the second app from the first app to the device in which the second app is installed. When storing as information for identifying, it can be determined as a server sharing the first identifier.

도 1은 일 실시 예에 따른 앱을 제어하는 시스템의 동작 흐름도이다.
도 2는 일 실시 예에 따른 제1 식별자 및 제2 식별자의 매핑 정보를 저장하는 매핑 테이블의 예시를 도시한 도면이다.
도 3은 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법의 흐름도이다.
도 4는 일 실시 예에 따른 앱을 제어하는 시스템의 동작 흐름도이다.
도 5는 일 실시 예에 따른 디바이스에 설치된 제2 앱의 동작 방법의 흐름도이다.
도 6은 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법의 흐름도이다.
도 7은 일 실시예에 따른 앱을 제어하는 시스템의 하드웨어 구성의 예시도이다.
1 is a flowchart illustrating an operation of a system for controlling an app according to an exemplary embodiment.
2 is a diagram illustrating an example of a mapping table storing mapping information of a first identifier and a second identifier according to an embodiment.
3 is a flowchart of a method of operating a first server linked with a first app installed in a device according to an exemplary embodiment.
4 is a flowchart illustrating an operation of a system for controlling an app according to an exemplary embodiment.
5 is a flowchart of a method of operating a second app installed in a device according to an exemplary embodiment.
6 is a flowchart of a method of operating a first server linked with a first app installed in a device according to an embodiment.
7 is an exemplary diagram of a hardware configuration of a system for controlling an app according to an embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be changed and implemented in various forms. Therefore, the form actually implemented is not limited only to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 일 실시 예에 따른 앱을 제어하는 시스템의 동작 흐름도이다.1 is a flowchart illustrating an operation of a system for controlling an app according to an exemplary embodiment.

도 1을 참조하면, 일 실시 예에 따른 시스템은 복수의 어플리케이션(이하, 앱)이 설치된 디바이스(130), 제1 서버(110) 및 제2 서버(120)를 포함할 수 있다. 디바이스(130)에 설치된 복수의 앱은 제1 앱(131) 및 제2 앱(132)을 포함할 수 있다. 제1 서버(110)는 디바이스(130)에 설치된 제1 앱(131)과 연동된 서버를 포함할 수 있다. 일 예로, 제1 서버(110)는 디바이스(130)에 제1 앱(131)의 설치를 위한 파일을 제공할 수 있으며, 제1 앱(131)이 설치된 디바이스(130)는 제1 앱(131)의 제어에 따라 제1 서버(110)가 제공하는 서비스나 컨텐츠를 수신할 수 있다. 제2 서버(120)는 디바이스(130)에 설치된 제2 앱(132)과 연동된 서버를 포함할 수 있다. 일 예로, 제2 서버(120)는 디바이스(130)에 제2 앱(132)의 설치를 위한 파일을 제공할 수 있으며, 제2 앱(132)이 설치된 디바이스(130)는 제2 앱(132)의 제어에 따라 제2 서버(120)가 제공하는 서비스나 컨텐츠를 수신할 수 있다.Referring to FIG. 1 , a system according to an embodiment may include a device 130 on which a plurality of applications (hereinafter referred to as apps) are installed, a first server 110 and a second server 120. The plurality of apps installed in the device 130 may include a first app 131 and a second app 132 . The first server 110 may include a server linked with the first app 131 installed on the device 130 . As an example, the first server 110 may provide a file for installing the first app 131 to the device 130, and the device 130 in which the first app 131 is installed may provide the device 130 with the first app 131. ), services or contents provided by the first server 110 may be received. The second server 120 may include a server linked with the second app 132 installed on the device 130 . As an example, the second server 120 may provide a file for installing the second app 132 to the device 130, and the device 130 in which the second app 132 is installed may provide the device 130 with the second app 132. ), services or contents provided by the second server 120 may be received.

일 실시 예에 따르면, 제1 앱(131)에는 제1 앱(131)의 호출을 위한 앱 스킴(scheme)이 정의될 수 있으며, 정의된 앱 스킴은 공개될 수 있다. 앱 스킴은 외부에서 해당 앱에 접근할 수 있는 통로로, 예를 들어 URL 스킴을 포함할 수 있다. 일 실시 예에 따른 제2 앱(132)은 제1 앱(131)의 호출을 위한 앱 스킴에 기초하여 제1 앱(131)을 호출할 수 있다. 제2 앱(132)은 제1 앱(131)을 호출함으로써, 제1 앱(131)의 실행을 제어할 수 있으며, 제1 앱(131)과 데이터 통신을 수행할 수 있다. 예를 들어, 제1 앱(131) 및 제2 앱(132)은 미리 정해진 파라미터를 이용하여 데이터를 송수신할 수 있다.According to an embodiment, an app scheme for invoking the first app 131 may be defined in the first app 131, and the defined app scheme may be made public. An app scheme is a path through which a corresponding app can be accessed from the outside, and may include, for example, a URL scheme. The second app 132 according to an embodiment may call the first app 131 based on an app scheme for calling the first app 131 . The second app 132 may control execution of the first app 131 by calling the first app 131 and may perform data communication with the first app 131 . For example, the first app 131 and the second app 132 may transmit and receive data using predetermined parameters.

일 실시 예에 따르면, 제2 앱(132)은 제1 앱(131)에 관하여 미리 정해진 호출 조건을 모니터링할 수 있으며, 모니터링 결과에 기초하여 제1 앱(131)을 호출(101)할 수 있다. 예를 들어, 호출 조건은 미리 정해진 시점이 도달한 경우 혹은 미리 정해진 이벤트가 발생한 경우 만족되는 조건을 포함할 수 있다. 일 예로, 제2 앱(132)은 호출 조건에 따라 미리 정해진 시점에 제1 앱(131)을 호출할 수 있다. 또 일 예로, 제2 앱(132)은 호출 조건에 따라 제2 앱(132)이 디바이스(130)에 설치되는 이벤트가 발생한 경우 및/또는 제2 앱(132)에 로그인 이벤트가 발생한 경우 제1 앱(131)을 호출할 수 있다.According to an embodiment, the second app 132 may monitor a predetermined calling condition with respect to the first app 131, and call 101 the first app 131 based on the monitoring result. . For example, the calling condition may include a condition to be satisfied when a predetermined time point arrives or when a predetermined event occurs. For example, the second app 132 may call the first app 131 at a predetermined time point according to a calling condition. As another example, the second app 132 is activated when an event in which the second app 132 is installed on the device 130 occurs and/or when a login event occurs in the second app 132 according to a call condition. App 131 can be called.

일 실시 예에 따르면, 제2 앱(132)에 의하여 호출된 제1 앱(131)은 제2 앱(132)에 호출에 대한 응답을 전송(102)할 수 있다. 제2 앱(132)은 제1 앱(131)으로부터 호출에 대한 응답이 수신되지 않는 경우, 미리 정해진 주기로 제1 앱(131)을 호출하는 동작을 반복할 수 있다. 예를 들어, 제1 앱(131)이 디바이스(130)에 설치되지 않은 경우, 제1 앱(131)의 호출에 대한 응답이 수신되지 않을 수 있고, 제1 앱(131)이 설치는 되었으나 정상적으로 동작하지 않거나 통신이 불가능한 경우, 제1 앱(131)의 호출에 대한 응답이 수신되지 않을 수 있다.According to an embodiment, the first app 131 called by the second app 132 may transmit (102) a response to the call to the second app 132. When a response to the call is not received from the first app 131, the second app 132 may repeat an operation of calling the first app 131 at predetermined intervals. For example, when the first app 131 is not installed in the device 130, a response to a call of the first app 131 may not be received, and the first app 131 is installed but normally. If it does not operate or communication is impossible, a response to the call of the first app 131 may not be received.

일 실시 예에 따르면, 제2 앱(132)은 제1 앱(131)의 호출(101) 시, 호출하려는 제1 앱(131)이 디바이스(130)에 설치되었는지 여부를 확인할 수 있다. 제1 앱(131)이 디바이스(130)에 설치된 것으로 확인된 경우, 제2 앱(132)에서 제1 앱(131)을 호출할 수 있다. 제1 앱(131)이 디바이스(130)에 설치되지 않은 것으로 확인된 경우, 제1 앱(131)의 설치를 위한 페이지에 연결되는 동작과 같이 제1 앱(131)의 설치를 요청하는 동작이 수행될 수 있다.According to an embodiment, when the first app 131 is called 101 , the second app 132 may check whether the first app 131 to be called is installed in the device 130 . When it is determined that the first app 131 is installed in the device 130 , the second app 132 may call the first app 131 . When it is determined that the first app 131 is not installed in the device 130, an operation of requesting installation of the first app 131, such as an operation of connecting to a page for installing the first app 131, is performed. can be performed

일 실시 예에 따르면, 제1 앱(131)으로부터 호출에 대한 응답이 수신(102)되어, 제1 앱(131)이 정상적으로 호출된 경우, 제2 앱(132)은 제1 앱(131)에 데이터를 전송할 수 있다. 제1 앱(131)에 전송되는 데이터는 제2 앱(132)에 대응하는 디바이스(130)의 식별자(이하, 제2 식별자)를 포함할 수 있다.According to an embodiment, when a response to the call is received from the first app 131 (102) and the first app 131 is normally called, the second app 132 sends the first app 131 data can be transmitted. Data transmitted to the first app 131 may include an identifier (hereinafter, referred to as a second identifier) of the device 130 corresponding to the second app 132 .

일 실시 예에 따르면, 디바이스(130)에 설치된 앱은 해당 디바이스(130)를 식별하기 위한 디바이스(130)의 식별자를 포함할 수 있다. 앱에 포함된 디바이스(130)의 식별자는 해당 앱에서 관리 및/또는 저장되는 디바이스(130)에 고유한 식별자로, 앱이 설치된 디바이스(130)가 서로 다른 경우 해당 앱에 대응하는 디바이스(130)의 식별자는 서로 구분될 수 있다. 예를 들어, 특정 앱에 대응하는 제1 디바이스의 식별자는 ‘1122’이고, 동일한 특정 앱에 대응하는 제2 디바이스의 식별자는 ‘1134’로 서로 다를 수 있다.According to one embodiment, an app installed on the device 130 may include an identifier of the device 130 for identifying the corresponding device 130 . The identifier of the device 130 included in the app is a unique identifier of the device 130 managed and/or stored in the app, and if the devices 130 on which the app is installed are different, the device 130 corresponding to the app The identifiers of can be distinguished from each other. For example, the identifier of a first device corresponding to a specific app is '1122' and the identifier of a second device corresponding to the same specific app is '1134', which may be different from each other.

일 실시 예에 따르면, 특정 앱에 대응하는 디바이스(130)의 식별자는 해당 앱이 설치된 후부터 해당 앱이 삭제되거나 해당 앱의 앱 데이터가 삭제되기 전까지 유지되는 단일 앱 범위의 식별자에 해당할 수 있다. 다시 말해, 동일한 디바이스(130)에 설치된 서로 다른 복수의 앱들에 대응하는 디바이스(130)의 식별자들은 서로 구분될 수 있다. 예를 들어, 디바이스(130)에 제1 앱(131) 및 제2 앱(132)이 설치된 경우, 제1 앱(131)에 대응하는 디바이스(130)의 식별자는 ‘1122’이고, 제2 앱(132)에 대응하는 디바이스(130)의 식별자는 ‘9837’로 서로 다를 수 있다.According to an embodiment, the identifier of the device 130 corresponding to a specific app may correspond to an identifier of a single app scope that is maintained after the app is installed until the app is deleted or the app data of the app is deleted. In other words, identifiers of the device 130 corresponding to a plurality of different apps installed on the same device 130 may be distinguished from each other. For example, when the first app 131 and the second app 132 are installed on the device 130, the identifier of the device 130 corresponding to the first app 131 is '1122', and the second app The identifier of the device 130 corresponding to (132) is '9837' and may be different from each other.

일 실시 예에 따르면, 앱에 대응하는 디바이스(130)의 식별자는 앱 그룹의 범위의 식별자에 해당할 수 있다. 앱 그룹은 서명 키가 동일한 적어도 하나의 앱의 집합에 해당할 수 있다. 다시 말해, 서명 키가 서로 동일한 서로 다른 복수의 앱들에 대응하는 디바이스(130)의 식별자들은 서로 동일할 수 있으며, 서명 키가 서로 다른 복수의 앱들에 대응하는 디바이스(130)의 식별자들은 서로 다를 수 있다.According to an embodiment, the identifier of the device 130 corresponding to the app may correspond to an identifier within the scope of the app group. The app group may correspond to a set of at least one app having the same signing key. In other words, identifiers of the device 130 corresponding to a plurality of different apps having the same signing key may be identical to each other, and identifiers of the device 130 corresponding to a plurality of apps having different signing keys may be different from each other. there is.

도 1은 제1 앱(131)의 호출(101) 이후에 제2 앱(132)에서 제1 앱(131)으로 데이터(예를 들어, 제2 식별자)가 전송(103)되는 동작이 수행되는 것으로 도시하고 있으나, 일 실시 예에 따르면, 제2 앱(132)에서 제1 앱(131)으로의 데이터의 전송(103)은 제1 앱(131)의 호출(101)과 동시에 수행될 수도 있다. 예를 들어, 제2 앱(132)은 제1 앱(131)을 호출함(101)과 동시에 제1 앱(131)에 제2 식별자를 전송(103)할 수 있다.1 shows an operation in which data (eg, a second identifier) is transmitted (103) from a second app 132 to a first app 131 after a call 101 of a first app 131 is performed. However, according to an embodiment, data transfer 103 from the second app 132 to the first app 131 may be performed simultaneously with the call 101 of the first app 131. . For example, the second app 132 may call the first app 131 (101) and transmit (103) the second identifier to the first app 131.

일 실시 예에 따르면, 제1 서버(110)는 제1 앱(131)을 호출한 제2 앱(132)으로부터, 제2 앱(132)에 대응하는 디바이스(130)의 제2 식별자를 획득(104)할 수 있다. 일 예로, 제2 앱(132)은 호출된 제1 앱(131)에 제2 식별자를 전송(103)할 수 있으며, 제2 앱(132)은 수신한 제2 식별자를 제2 서버(120)에 전송(104)할 수 있다. 또 일 예로, 제2 앱(132)은 제1 앱(131)으로부터 제1 서버(110)에 접근하기 위한 주소를 수신하여, 제1 서버(110)로 제2 식별자를 전송할 수도 있다.According to an embodiment, the first server 110 acquires the second identifier of the device 130 corresponding to the second app 132 from the second app 132 that called the first app 131 ( 104) can. For example, the second app 132 may transmit 103 the second identifier to the called first app 131, and the second app 132 may send the received second identifier to the second server 120. can be sent (104) to. As another example, the second app 132 may receive an address for accessing the first server 110 from the first app 131 and transmit the second identifier to the first server 110 .

일 실시 예에 따르면, 제2 식별자를 수신한 제1 서버(110)는 제1 앱(131)에 대응하는 디바이스(130)의 식별자(이하, 제1 식별자)와 제2 식별자를 매핑하여 저장(105)할 수 있다.According to an embodiment, the first server 110 that has received the second identifier maps the identifier of the device 130 corresponding to the first app 131 (hereinafter, the first identifier) and the second identifier and stores ( 105) can.

일 실시 예에 따르면, 제1 앱(131)은 서로 다른 복수의 디바이스에 설치될 수 있으며, 제1 서버(110)는 제1 앱(131)이 설치된 디바이스를 구분하기 위하여, 제1 앱(131)이 설치된 복수의 디바이스들 각각의 제1 식별자를 저장할 수 있다. 일 예로, 제1 서버(110)는 저장된 복수의 디바이스들 각각의 제1 식별자 중 디바이스(130)의 제1 식별자에 기초하여, 제1 식별자가 지시하는 디바이스(130)에 데이터가 전송되도록 디바이스(130)에 설치된 제1 앱(131)을 제어할 수 있다. 또 일 예로, 제1 서버(110)는 저장된 복수의 디바이스들 각각의 제1 식별자 중 디바이스(130)의 제1 식별자에 기초하여, 제1 식별자가 지시하는 디바이스(130)로부터 데이터를 수신하도록, 디바이스(130)에 설치된 제1 앱(131)을 제어할 수 있다.According to an embodiment, the first app 131 may be installed on a plurality of different devices, and the first server 110 may distinguish the device on which the first app 131 is installed, the first app 131 ) may store the first identifier of each of the plurality of devices installed. For example, the first server 110 transmits data to the device 130 indicated by the first identifier based on the first identifier of the device 130 among the first identifiers of each of the plurality of stored devices ( The first app 131 installed in 130 may be controlled. As another example, the first server 110 receives data from the device 130 indicated by the first identifier based on the first identifier of the device 130 among the first identifiers of each of the plurality of stored devices, The first app 131 installed in the device 130 may be controlled.

일 실시 예에 따르면, 제1 서버(110)는 디바이스(130)의 제1 식별자에 기초하여, 디바이스(130)에 설치된 제1 앱(131)으로부터 제2 식별자를 수신할 수 있으며, 제2 식별자에 대응하는 디바이스(130)를 식별할 수 있다. 제1 서버(110)는 수신된 제2 식별자를 디바이스(130)에 대응하는 제1 식별자와 매핑하여 저장(105)할 수 있다. 일 예로, 제1 서버(110)는 디바이스 별로 제1 식별자 및 제2 식별자의 매핑 정보가 저장되는 데이터베이스(예를 들어, 매핑 테이블)를 포함할 수 있다. 또 일 예로, 제1 서버(110)는 디바이스 별로 제1 식별자 및 제2 식별자의 매핑 정보가 저장되는 데이터베이스에 접근할 수 있다. 일 실시 예에 따른 디바이스 별로 제1 식별자 및 제2 식별자가 저장되는 데이터베이스의 구체적인 예시는 이하의 도 2를 통해 상술한다.According to an embodiment, the first server 110 may receive a second identifier from the first app 131 installed on the device 130 based on the first identifier of the device 130, and the second identifier It is possible to identify the device 130 corresponding to . The first server 110 may map and store the received second identifier with the first identifier corresponding to the device 130 (105). For example, the first server 110 may include a database (eg, a mapping table) in which mapping information of a first identifier and a second identifier for each device is stored. As another example, the first server 110 may access a database storing mapping information of the first identifier and the second identifier for each device. A specific example of a database in which a first identifier and a second identifier are stored for each device according to an embodiment will be described in detail with reference to FIG. 2 below.

일 실시 예에 따르면, 제1 서버(110)는 수신된 제2 식별자에 대응하는 제2 앱(132)이 제1 앱(131)의 제어 대상인지 여부를 판단할 수 있다. 일 예로, 제1 앱(131)에 대응하는 제어 대상에 관한 조건에 기초하여, 제2 앱(132)이 제어 대상인지 여부를 판단할 수 있다. 제1 앱(131)에 대응하는 제어 대상에 관한 조건은 제1 앱(131)이 제어할 수 있는 앱인지 여부를 판별하기 위하여 제1 앱(131)에 대응하여 미리 정해진 조건으로, 예를 들어 제1 앱(131)이 제어 가능한 것으로 미리 정해진 앱의 목록에 제2 앱(132)이 포함되는 경우 만족되는 조건을 포함할 수 있다. 제2 앱(132)이 제어 대상에 관한 조건에 따라 제어 대상으로 판단된 경우, 제2 앱(132)에 대응하는 디바이스(130)의 제2 식별자는 제1 식별자에 매핑되어 저장(105)될 수 있다. 한편, 제2 앱(132)이 제어 대상에 관한 조건에 따라 제어 대상으로 판단되지 않은 경우, 제2 식별자는 저장되지 않을 수 있다.According to an embodiment, the first server 110 may determine whether the second app 132 corresponding to the received second identifier is a control target of the first app 131 . For example, it may be determined whether the second app 132 is the control target based on the condition for the control target corresponding to the first app 131 . The condition for the control object corresponding to the first app 131 is a predetermined condition corresponding to the first app 131 in order to determine whether the first app 131 is a controllable app, for example, A condition that is satisfied when the second app 132 is included in the list of predefined apps that can be controlled by the first app 131 may be included. When the second app 132 is determined to be a control target according to the control target condition, the second identifier of the device 130 corresponding to the second app 132 is mapped to the first identifier and stored (105). can Meanwhile, when the second app 132 is not determined as a control target according to the control target condition, the second identifier may not be stored.

일 실시 예에 따르면, 제1 서버(110)는 제1 식별자와 매핑된 제2 식별자에 기초하여, 제2 서버(120)에 디바이스(130)에 설치된 제2 앱(132)의 제어를 위한 신호(이하, 제어 신호)를 전송(107)할 수 있다. 일 예로, 제1 서버(110)는 디바이스(130)에 설치된 제1 앱(131)으로부터 디바이스(130)에 설치된 제2 앱(132)의 제어 요청을 수신(106)할 수 있으며, 수신된 제어 요청에 기초하여 제2 앱(132)의 제어를 위한 신호를 제2 서버(120)에 전송할 수 있다.According to an embodiment, the first server 110 sends a signal for controlling the second app 132 installed in the device 130 to the second server 120 based on the second identifier mapped to the first identifier. (hereinafter referred to as a control signal) may be transmitted (107). For example, the first server 110 may receive (106) a control request of the second app 132 installed on the device 130 from the first app 131 installed on the device 130, and receive the control request. A signal for controlling the second app 132 may be transmitted to the second server 120 based on the request.

일 실시 예에 따르면, 제1 앱(131)으로부터 제2 앱(132)의 제어 요청을 수신한 제1 서버(110)는 제1 앱(131)이 설치된 디바이스(130)의 제1 식별자에 기초하여, 제1 식별자에 매핑된 디바이스(130)의 제2 식별자를 획득할 수 있다. 예를 들어, 제1 서버(110)는 디바이스 별 제1 식별자 및 제2 식별자의 매핑 정보를 저장하는 매핑 테이블에서 제2 앱(132)의 제어를 요청한 디바이스(130)의 제1 식별자를 쿼리로, 해당 디바이스(130)의 제2 식별자를 검색할 수 있다. 제2 식별자에 기초하여, 제1 서버(110)는 제2 서버(120)에 해당 디바이스(130)에 설치된 제2 앱(132)의 제어를 위한 신호를 전송(107)할 수 있다. According to an embodiment, the first server 110 receiving the control request of the second app 132 from the first app 131 is based on the first identifier of the device 130 on which the first app 131 is installed. Thus, the second identifier of the device 130 mapped to the first identifier may be obtained. For example, the first server 110 queries the first identifier of the device 130 that has requested control of the second app 132 in a mapping table storing mapping information of the first identifier and the second identifier for each device. , the second identifier of the corresponding device 130 may be searched. Based on the second identifier, the first server 110 may transmit (107) a signal for controlling the second app 132 installed in the corresponding device 130 to the second server 120.

일 실시 예에 따르면, 제2 앱(132)은 서로 다른 복수의 디바이스에 설치될 수 있으며, 제2 서버(120)는 제1 앱(132)이 설치된 디바이스를 구분하기 위하여, 제2 앱(132)이 설치된 복수의 디바이스들 각각의 제2 식별자를 저장할 수 있다. 일 예로, 제2 서버(120)는 저장된 복수의 디바이스들 각각의 제2 식별자 중 디바이스(130)의 제2 식별자에 기초하여, 제2 식별자가 지시하는 디바이스(120)에 데이터가 전송되도록 디바이스(120)에 설치된 제2 앱(132)을 제어할 수 있다. 또 일 예로, 제2 서버(120)는 저장된 복수의 디바이스들 각각의 제2 식별자 중 디바이스(120)의 제2 식별자에 기초하여, 제2 식별자가 지시하는 디바이스(130)로부터 데이터를 수신하도록, 디바이스(130)에 설치된 제2 앱(132)을 제어할 수 있다.According to an embodiment, the second app 132 may be installed on a plurality of different devices, and the second server 120 may distinguish a device on which the first app 132 is installed, so that the second app 132 ) may store the second identifier of each of the plurality of devices installed. For example, the second server 120 transmits data to the device 120 indicated by the second identifier based on the second identifier of the device 130 among the second identifiers of each of the plurality of stored devices ( The second app 132 installed in 120 may be controlled. As another example, the second server 120 receives data from the device 130 indicated by the second identifier based on the second identifier of the device 120 among the second identifiers of each of the plurality of stored devices, The second app 132 installed in the device 130 may be controlled.

일 실시 예에 따르면, 제2 서버(120)는 제1 서버(110)로부터 제2 식별자에 기초하여, 제2 앱(132)의 제어 신호를 수신(107)할 수 있다. 제2 서버(120)는 수신된 제2 앱(132)의 제어 신호를 제2 식별자가 지시하는 디바이스(130)에 전송되도록, 디바이스(130)에 설치된 제2 앱(132)을 제어할 수 있다. 예를 들어, 제2 앱(132)의 제어를 위한 신호는 제2 식별자가 지시하는 디바이스(130)에 전송되는 제2 앱(132)의 실행 명령을 포함할 수 있다. 일 실시 예에 따르면, 제2 서버(120)는 제1 서버(110)로부터 수신된 신호에 대응하는 동작이 실행되도록 제2 앱(132)을 제어할 수 있다.According to an embodiment, the second server 120 may receive a control signal of the second app 132 from the first server 110 based on the second identifier (107). The second server 120 may control the second app 132 installed in the device 130 so that the received control signal of the second app 132 is transmitted to the device 130 indicated by the second identifier. . For example, the signal for controlling the second app 132 may include an execution command of the second app 132 transmitted to the device 130 indicated by the second identifier. According to an embodiment, the second server 120 may control the second app 132 to execute an operation corresponding to a signal received from the first server 110 .

일 실시 예에 따르면, 제2 앱(132)의 제어를 위한 신호는 제2 앱(132)을 디바이스(130)의 백그라운드에서 실행시키기 위한 명령을 포함할 수 있다. 다시 말해, 제2 앱(132)은 제2 앱(132)의 제어를 위한 신호에 기초하여, 디바이스(130)의 백그라운드에서 실행될 수 있다.According to one embodiment, the signal for controlling the second app 132 may include a command for executing the second app 132 in the background of the device 130 . In other words, the second app 132 may be executed in the background of the device 130 based on a signal for controlling the second app 132 .

도 2는 일 실시 예에 따른 제1 식별자 및 제2 식별자의 매핑 정보를 저장하는 매핑 테이블의 예시를 도시한 도면이다.2 is a diagram illustrating an example of a mapping table storing mapping information of a first identifier and a second identifier according to an embodiment.

도 2를 참조하면, 제1 서버(예를 들어, 도 1의 제1 서버(110))는 매핑 테이블(200)에 디바이스 별로 제1 식별자 및 제2 식별자의 매핑 정보를 저장할 수 있다. 상술한 바와 같이, 일 실시 예에 따른 매핑 테이블(200)은 제1 서버에 포함될 수도 있고, 제1 서버가 접근 가능한 저장소에 저장될 수도 있다.Referring to FIG. 2 , a first server (eg, the first server 110 of FIG. 1 ) may store mapping information of a first identifier and a second identifier for each device in a mapping table 200 . As described above, the mapping table 200 according to an embodiment may be included in the first server or stored in a storage accessible by the first server.

도 2를 참조하면, 매핑 테이블(200)의 각 행(210, 220, 230)은 제1 앱(예를 들어, 도 1의 제1 앱(131))이 설치된 각 디바이스(예를 들어, 도 1의 디바이스(130))에 대응될 수 있다. 상술한 바와 같이, 일 실시 예에 따른 제1 서버는 제1 앱이 설치된 디바이스들 각각의 제1 식별자를 저장할 수 있으며, 제2 앱(예를 들어, 도 1의 제2 앱(132))에 대응하는 디바이스의 제2 식별자를 수신한 경우, 제2 식별자가 수신된 해당 디바이스의 제1 식별자와 매핑하여 수신된 제2 식별자를 저장할 수 있다. 예를 들어, 매핑 테이블(200)의 제1행(210)은 제1 앱에 대응하는 제1 디바이스의 제1 식별자 '1123' 및 제2 앱에 대응하는 제1 디바이스의 제2 식별자 '3143'의 매핑 정보를 포함할 수 있으며, 제2 행(220)은 제1 앱에 대응하는 제2 디바이스의 제1 식별자 '1124' 및 제2 앱에 대응하는 제2 디바이스의 제2 식별자 '3142'의 매핑 정보를 포함할 수 있다.Referring to FIG. 2 , each row 210 , 220 , and 230 of the mapping table 200 corresponds to each device (eg, FIG. It may correspond to the device 130 of 1). As described above, the first server according to an embodiment may store the first identifier of each of the devices on which the first app is installed, and the second app (eg, the second app 132 of FIG. 1 ) When the second identifier of the corresponding device is received, the second identifier may be mapped with the received first identifier of the corresponding device and the received second identifier may be stored. For example, in the first row 210 of the mapping table 200, the first identifier '1123' of the first device corresponding to the first app and the second identifier '3143' of the first device corresponding to the second app may include mapping information of, and the second row 220 includes a first identifier '1124' of the second device corresponding to the first app and a second identifier '3142' of the second device corresponding to the second app. It may contain mapping information.

일 예로, 제3 디바이스에 대응되는 제3 행(230)을 참조하면, 제1 서버에 제2 앱에 대응하는 제3 디바이스의 제2 식별자가 수신되지 않은 경우, 제3 디바이스의 제2 식별자는 저장되지 않을 수 있다.For example, referring to the third row 230 corresponding to the third device, if the second identifier of the third device corresponding to the second app is not received from the first server, the second identifier of the third device is may not be saved.

일 실시 예에 따르면, 제1 앱을 호출하여 앱에 대응하는 디바이스의 식별자를 전송하는 앱은 복수 개 있을 수 있다. 예를 들어, 제3 앱은 공개된 제1 앱의 호출을 위한 앱 스킴에 기초하여, 제1 앱을 호출할 수 있으며, 제1 앱에 제3 앱에 대응하는 디바이스의 제3 식별자를 전송할 수 있다. 제1 서버는 제2 앱에 디바이스의 제2 식별자 뿐 아니라, 제3 앱에 대응하는 디바이스의 제3 식별자를 디바이스의 제1 식별자와 매핑하여 저장할 수 있다. 예를 들어, 매핑 테이블(200)의 제1행(210)은 제1 앱에 대응하는 제1 디바이스의 제1 식별자 '1123', 제2 앱에 대응하는 제1 디바이스의 제2 식별자 '3143' 및 제3 앱에 대응하는 제1 디바이스의 제3 식별자 '9655'의 매핑 정보를 포함할 수 있으며, 제3 행(230)은 제1 앱에 대응하는 제3 디바이스의 제1 식별자 '1140' 및 제3 앱에 대응하는 제3 디바이스의 제3 식별자 '9456'의 매핑 정보를 포함할 수 있다.According to an embodiment, there may be a plurality of apps that call the first app and transmit the identifier of the device corresponding to the app. For example, the third app may call the first app based on an open app scheme for calling the first app, and may transmit a third identifier of a device corresponding to the third app to the first app. there is. The first server may store, in the second app, not only the second identifier of the device, but also the third identifier of the device corresponding to the third app, mapped to the first identifier of the device. For example, in the first row 210 of the mapping table 200, the first identifier '1123' of the first device corresponding to the first app and the second identifier '3143' of the first device corresponding to the second app and mapping information of the third identifier '9655' of the first device corresponding to the third app, and the third row 230 includes the first identifier '1140' and the third device corresponding to the first app. It may include mapping information of the third identifier '9456' of the third device corresponding to the third app.

일 실시 예에 따르면, 제2 앱 및 제3 앱 뿐 아니라, 제1 앱을 호출하여 앱에 대응하는 디바이스의 식별자를 전송하는 앱은 더 존재할 수 있으며, 해당 앱에 대응하는 디바이스의 식별자가 제1 서버에 전송된 경우, 제1 서버는 해당 디바이스의 제1 식별자에 매핑하여 해당 앱에 대응하는 식별자를 저장할 수 있다.According to an embodiment, an app that calls a first app and transmits an identifier of a device corresponding to the app may further exist, in addition to the second app and the third app, and the identifier of the device corresponding to the app is the first app. When transmitted to the server, the first server may store the identifier corresponding to the corresponding app by mapping it to the first identifier of the corresponding device.

도 3은 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법의 흐름도이다.3 is a flowchart of a method of operating a first server linked with a first app installed in a device according to an exemplary embodiment.

일 예로, 도 3에 도시된 제1 서버의 동작은 도 1에 도시된 제1 서버(110)의 동작에 대응될 수 있다. 도 3을 참조하면, 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법은 제1 앱을 호출한 제2 앱으로부터, 제2 앱에 대응하는 디바이스의 제2 식별자를 획득하는 단계(310), 제2 식별자를 제1 앱에 대응하는 디바이스의 제1 식별자와 매핑하여 저장하는 단계(320) 및 제1 식별자와 매핑하여 저장된 제2 식별자에 기초하여, 제2 앱과 연동된 제2 서버에, 디바이스에 설치된 제2 앱의 제어를 위한 신호를 전송하는 단계(330)를 포함할 수 있다.For example, the operation of the first server shown in FIG. 3 may correspond to the operation of the first server 110 shown in FIG. 1 . Referring to FIG. 3 , in an operation method of a first server linked with a first app installed on a device according to an embodiment, a second identifier of a device corresponding to the second app is obtained from a second app that called the first app. Obtaining (310), mapping and storing the second identifier with the first identifier of the device corresponding to the first app (320), and based on the stored second identifier mapped with the first identifier, the second app and It may include transmitting a signal for controlling the second app installed in the device to the interlocked second server (step 330).

일 실시 예에 따른 단계(310)에서 제2 앱은 디바이스에 설치된 앱에 해당할 수 있다. 일 예로, 제2 앱은 제1 앱의 호출을 위한 앱 스킴 정보에 기초하여, 제1 앱을 호출할 수 있다. 제2 앱은 제1 앱을 호출하여, 제1 앱에 제2 앱에 대응하는 디바이스의 제2 식별자를 전송할 수 있다. 제1 서버는 제1 앱으로부터 디바이스에 설치된 제2 앱에 대응하는 디바이스의 제2 식별자를 획득할 수 있다.In step 310 according to an embodiment, the second app may correspond to an app installed on the device. For example, the second app may call the first app based on app scheme information for calling the first app. The second app may call the first app and transmit the second identifier of the device corresponding to the second app to the first app. The first server may obtain the second identifier of the device corresponding to the second app installed in the device from the first app.

일 실시 예에 따른 단계(320)는 제1 앱에 대응하는 제어 대상에 관한 조건에 기초하여, 제2 앱이 제어 대상인지 여부를 판단하는 단계 및 판단 결과에 기초하여, 제2 식별자를 제1 앱에 대응하는 디바이스의 제1 식별자와 매핑하여 저장하는 단계를 포함할 수 있다.Step 320 according to an embodiment includes determining whether a second app is a control target based on a condition related to a control target corresponding to the first app, and based on the determination result, a second identifier is set to a first It may include mapping and storing the first identifier of the device corresponding to the app.

일 실시 예에 따른 단계(330)에서 제2 앱의 제어를 위한 신호는 제2 식별자가 지시하는 디바이스에 전송되는 제2 앱의 실행 명령을 포함할 수 있다. 일 실시 예에 따른 단계(330)는 제1 앱으로부터, 제2 앱의 제어를 위한 신호를 획득하는 단계 및 디바이스의 제1 식별자에 매핑된 제2 식별자를 획득하는 단계를 더 포함할 수 있다. 제1 서버는 획득된 디바이스의 제2 식별자에 기초하여, 제2 앱과 연동된 제2 서버에 디바이스에 설치된 제2 앱의 제어를 위한 신호를 전송할 수 있다.In step 330 according to an embodiment, the signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the second identifier. Step 330 according to an embodiment may further include acquiring a signal for controlling the second app from the first app and obtaining a second identifier mapped to the first identifier of the device. The first server may transmit a signal for controlling the second app installed in the device to the second server linked with the second app based on the obtained second identifier of the device.

도 4는 일 실시 예에 따른 앱을 제어하는 시스템의 동작 흐름도이다. 4 is a flowchart illustrating an operation of a system for controlling an app according to an exemplary embodiment.

도4를 참조하면, 일 실시 예에 따른 시스템은 복수의 앱이 설치된 디바이스(130), 제1 서버(110) 및 제2 서버(120)를 포함할 수 있다. 디바이스(130)에 설치된 복수의 앱은 제1 앱(131) 및 제2 앱(132)을 포함할 수 있다. 일 예로, 디바이스(130)는 도 1의 디바이스(130), 제1 서버(110)는 도 1의 제1 서버(110), 및 제2 서버(120)는 도 1의 제2 서버(120)에 대응될 수 있다.Referring to FIG. 4 , the system according to an embodiment may include a device 130 on which a plurality of apps are installed, a first server 110 and a second server 120 . The plurality of apps installed in the device 130 may include a first app 131 and a second app 132 . For example, the device 130 is the device 130 of FIG. 1, the first server 110 is the first server 110 of FIG. 1, and the second server 120 is the second server 120 of FIG. can correspond to

일 실시 예에 따르면, 디바이스(130)에 설치된 제2 앱(132)은 디바이스(130)에 설치된 제1 앱을 호출(401)할 수 있다. 예를 들어, 제2 앱(132)의 제1 앱을 호출하는 동작(401)은 제1 앱(131)에 대응하는 디바이스(130)의 제1 식별자를 요청하는 동작을 포함할 수 있다.According to an embodiment, the second app 132 installed on the device 130 may call 401 the first app installed on the device 130 . For example, the operation 401 of calling the first app of the second app 132 may include an operation of requesting a first identifier of the device 130 corresponding to the first app 131 .

일 실시 예에 따르면, 제1 앱(131)은 제2 앱(132)에 호출에 대한 응답을 전송(402)할 수 있다. 예를 들어, 제2 앱(132)의 제1 앱을 호출하는 동작(401)은 제1 앱(131)에 대응하는 디바이스(130)의 제1 식별자를 요청하는 동작을 포함하는 경우, 제1 앱(131)의 호출에 대한 응답을 전송하는 동작(402)은 요청된 디바이스(130)의 제1 식별자를 전송하는 동작을 포함할 수 있다.According to an embodiment, the first app 131 may transmit (402) a response to the call to the second app 132. For example, when an operation 401 of calling a first app of the second app 132 includes an operation of requesting a first identifier of the device 130 corresponding to the first app 131, the first Operation 402 of transmitting a response to the call of the app 131 may include an operation of transmitting the first identifier of the requested device 130 .

일 실시 예에 따르면, 호출에 대한 응답이 수신되지 않는 경우, 제1 앱을 호출하는 동작(401)은 일정 주기로 반복될 수 있다. According to an embodiment, when a response to the call is not received, the operation 401 of calling the first app may be repeated at regular intervals.

일 실시 예에 따르면, 제2 앱(132)의 제1 식별자를 요청하는 동작은 제1 앱(131)을 호출하고, 제1 앱(131)으로부터 호출에 대한 응답이 수신(402)된 이후에 수행될 수도 있다. 제1 앱(131)으로부터 제1 식별자의 요청에 대한 응답이 수신되지 않은 경우, 제1 식별자를 요청하는 동작은 일정 주기로 반복될 수 있다.According to an embodiment, the operation of requesting the first identifier of the second app 132 calls the first app 131 and receives a response to the call from the first app 131 (402). may be performed. When a response to the request for the first identifier is not received from the first app 131, the operation of requesting the first identifier may be repeated at regular intervals.

일 실시 예에 따르면, 제1 앱(131)으로부터 제1 식별자를 수신한 제2 앱(132)은 제2 앱(132)에 포함된 디바이스(130)의 제2 식별자를 제1 식별자로 교체(403)할 수 있다. 제1 식별자로의 교체에 의해 제2 앱(132)에 포함된 디바이스(130)의 식별자는 제2 식별자가 아닌 제1 식별자에 해당할 수 있다. 제2 앱(132)은 제1 식별자를 제2 서버(120)와 공유(404)할 수 있으며, 제2 서버(120)는 해당 디바이스(130)에 대응하여 제1 식별자를 해당 디바이스(130)의 식별자로 관리 및/또는 저장할 수 있다.According to an embodiment, the second app 132 receiving the first identifier from the first app 131 replaces the second identifier of the device 130 included in the second app 132 with the first identifier ( 403) can. The identifier of the device 130 included in the second app 132 by being replaced with the first identifier may correspond to the first identifier instead of the second identifier. The second app 132 may share the first identifier with the second server 120 (404), and the second server 120 corresponds to the corresponding device 130 and transmits the first identifier to the corresponding device 130. It can be managed and / or stored as an identifier of.

일 실시 예에 따르면, 제1 서버(110)는 제2 앱(132)의 제어를 위한 신호를 획득(405)할 수 있다. 제2 앱(132)의 제어를 위한 신호는 제1 앱(131), 외부 앱 혹은 외부 서버로부터 수신될 수 있다. 제2 앱(132)의 제어를 위한 신호를 디바이스(130)에 전송하는 외부 앱 혹은 외부 서버는 디바이스(130)의 제1 식별자가 공유된 앱 혹은 서버에 해당할 수 있다. 예를 들어, 디바이스(130)에 설치된 제3 앱과 연동된 서버로, 제3 앱은 제1 앱(131)을 호출하여 제1 앱(131)에 대응하는 디바이스(130)의 제1 식별자를 수신하여 제3 서버에 공유할 수 있다. 제3 서버는 제1 식별자에 기초하여, 제1 서버(110)에 제1 식별자가 지시하는 디바이스(130)에 설치된 제2 앱(132)의 제어를 위한 신호를 전송할 수 있다.According to an embodiment, the first server 110 may acquire a signal for controlling the second app 132 (405). A signal for controlling the second app 132 may be received from the first app 131, an external app, or an external server. An external app or external server that transmits a signal for controlling the second app 132 to the device 130 may correspond to an app or server in which the first identifier of the device 130 is shared. For example, as a server linked with a third app installed in the device 130, the third app calls the first app 131 to obtain a first identifier of the device 130 corresponding to the first app 131. It can be received and shared to a third server. The third server may transmit a signal for controlling the second app 132 installed in the device 130 indicated by the first identifier to the first server 110 based on the first identifier.

일 실시 예에 따르면, 제1 서버(110)는 디바이스(130)의 제1 식별자에 기초하여, 제2 서버(120)에 디바이스(130)에 설치된 제2 앱(132)의 제어를 위한 신호를 전송(406)할 수 있다. According to an embodiment, the first server 110 transmits a signal for controlling the second app 132 installed in the device 130 to the second server 120 based on the first identifier of the device 130. Send 406 .

일 실시 예에 따르면, 제1 서버(110)는 제2 앱(132)의 제어를 위한 신호가 수신된 경우, 제2 앱(132)이 제1 앱(131)의 제어 대상인지 여부를 판단할 수 있다. 일 예로, 제1 앱(131)에 대응하는 제어 대상에 관한 조건에 기초하여, 제2 앱(132)이 제어 대상인지 여부를 판단할 수 있다. 제어 대상에 관한 조건은 제1 앱(131)이 제어할 수 있는 앱인지 여부를 판별하기 위하여 제1 앱(131)에 대응하여 미리 정해진 조건으로, 예를 들어 제1 앱(131)이 제어 가능한 것으로 미리 정해진 앱의 목록에 제2 앱(132)이 포함되는 경우 만족되는 조건, 제2 서버(120)가 제1 식별자를 저장하고 있는 경우 만족되는 조건을 포함할 수 있다. 제2 앱(132)이 제어 대상에 관한 조건에 따라 제어 대상으로 판단된 경우, 제2 서버(120)에 상기 디바이스(130)에 설치된 상기 제2 앱(132)의 제어를 위한 신호를 전송할 수 있다. 한편, 제2 앱(132)이 제어 대상에 관한 조건에 따라 제어 대상이 아닌 것으로 판단된 경우, 제2 앱(132)의 제어를 위한 신호를 전송한 대상 혹은 제2 앱(132)의 제어를 요청한 대상에 제2 앱(132)을 제어할 수 없음을 알리는 메시지를 전송할 수 있다.According to an embodiment, the first server 110 determines whether the second app 132 is a control target of the first app 131 when a signal for controlling the second app 132 is received. can For example, it may be determined whether the second app 132 is the control target based on the condition for the control target corresponding to the first app 131 . The condition for the control target is a predetermined condition corresponding to the first app 131 in order to determine whether the first app 131 is a controllable app, for example, the first app 131 is controllable. It may include a condition satisfied when the second app 132 is included in the list of apps predetermined as such, and a condition satisfied when the second server 120 stores the first identifier. When the second app 132 is determined to be a control target according to the control target condition, a signal for controlling the second app 132 installed in the device 130 may be transmitted to the second server 120 . there is. On the other hand, when it is determined that the second app 132 is not a control target according to the conditions related to the control target, the control of the target or the second app 132 is transmitted with a signal for controlling the second app 132. A message notifying that the second app 132 cannot be controlled may be transmitted to the requested target.

도 5는 일 실시 예에 따른 디바이스에 설치된 제2 앱의 동작 방법의 흐름도이다.5 is a flowchart of a method of operating a second app installed in a device according to an exemplary embodiment.

일 예로, 도 5에 도시된 제2 앱의 동작은 도 4에 도시된 제2앱(132)의 동작에 대응될 수 있다. 도 5를 참조하면, 일 실시 예에 따른 디바이스에 설치된 제2 앱의 동작 방법은 디바이스에 설치된 제1 앱을 호출하여, 제1 앱에 대응하는 디바이스의 제1 식별자를 획득하는 단계(510), 제2 앱에 대응하는 디바이스의 제2 식별자를 제1 식별자로 교체하는 단계(520), 교체된 제1 식별자를 제2 앱과 연동된 제2 서버에 전송하는 단계(530) 및 제1 서버로부터 제1 식별자에 기초하여 전송된 제2 앱을 제어하기 위한 신호를 수신하는 단계를 포함할 수 있다.For example, the operation of the second app shown in FIG. 5 may correspond to the operation of the second app 132 shown in FIG. 4 . Referring to FIG. 5 , a method for operating a second app installed on a device according to an embodiment includes calling a first app installed on the device and obtaining a first identifier of the device corresponding to the first app (510); Replacing the second identifier of the device corresponding to the second app with the first identifier (520), transmitting the replaced first identifier to a second server linked with the second app (530), and from the first server The method may include receiving a signal for controlling a second app transmitted based on the first identifier.

일 실시 예에 따르면, 단계(510)는 제1 앱의 호출을 위한 앱 스킴 정보에 기초하여, 제1 앱을 호출하는 단계, 호출에 응답한 제1 앱에 제1 식별자를 요청하는 단계 및 제1 식별자의 요청에 대한 응답으로, 제1 앱으로부터 제1 식별자를 획득하는 단계를 포함할 수 있다. 상술한 바와 같이, 제2 앱은 제1 앱을 호출함과 동시에 디바이스의 제1 식별자를 요청할 수도 있으며, 이 경우 제1 앱으로부터 수신되는 응답은 요청된 제1 식별자를 포함할 수 있다.According to an embodiment, step 510 includes calling a first app based on app scheme information for calling the first app, requesting a first identifier from the first app that has responded to the call, and In response to the request for identifier 1, obtaining the first identifier from the first app. As described above, the second app may request the first identifier of the device simultaneously with calling the first app, and in this case, a response received from the first app may include the requested first identifier.

일 실시 예에 따르면, 단계(510)는 제1 앱으로부터 제1 앱의 호출에 대한 응답이 수신되지 않는 경우, 제2 앱은 제1 앱을 호출하는 단계를 일정 주기로 반복하는 단계를 더 포함할 수 있다. 예를 들어, 제1 앱이 디바이스에 설치되지 않았거나, 제1 앱의 통신이 불가능한 상태인 경우에 제1 앱으로부터 제1 앱의 호출에 대한 응답이 수신되지 않을 수 있다. 제2 앱은 제1 앱의 호출에 대한 응답이 수신되어 제1 앱의 호출 동작이 정상적으로 수행될 때까지 일정한 주기로 제1 앱을 호출하는 동작을 반복할 수 있다.According to an embodiment, step 510 may further include repeating the calling of the first app by the second app at regular intervals when a response to the call of the first app is not received from the first app. can For example, when the first app is not installed in the device or when communication with the first app is impossible, a response to a call of the first app may not be received from the first app. The second app may repeat an operation of calling the first app at regular intervals until a response to the call of the first app is received and the calling operation of the first app is normally performed.

일 실시 예에 따르면, 단계(510)는 제1 앱으로부터 제1 식별자의 요청에 대한 응답이 수신되지 않는 경우, 제1 식별자를 요청하는 단계를 일정 주기로 반복하는 단계를 더 포함할 수 있다. 예를 들어, 제1 앱이 디바이스에 설치되지 않았거나, 제1 앱의 통신이 불가능한 상태이거나, 제1 앱에 대응하는 디바이스의 제1 식별자를 전송하는 것이 불가능한 상태인 경우에 제1 앱으로부터 제1 앱의 호출에 대한 응답이 수신되지 않을 수 있다. 제2 앱은 제1 앱으로부터 제1 식별자가 정상적으로 수신될 때까지 일정한 주기로 제1 식별자를 요청하는 동작을 반복할 수 있다.According to an embodiment, step 510 may further include repeating the requesting of the first identifier at regular intervals when a response to the request for the first identifier is not received from the first app. For example, when the first app is not installed on the device, when communication with the first app is impossible, or when it is impossible to transmit the first identifier of the device corresponding to the first app, a request is removed from the first app. 1 A response to a call from the app may not be received. The second app may repeat the operation of requesting the first identifier at regular intervals until the first identifier is normally received from the first app.

일 실시 예에 따른 단계(510)는 제1 앱에 관하여 미리 정해진 호출 조건을 모니터링하는 단계 및 모니터링 결과에 기초하여, 제1 앱을 호출하여, 제1 식별자를 획득하는 단계를 포함할 수 있다. 상술한 바와 같이, 호출 조건은 예를 들어 미리 정해진 시점이 도달한 경우 혹은 미리 정해진 이벤트가 발생한 경우 만족되는 조건을 포함할 수 있다.Step 510 according to an embodiment may include monitoring a predetermined calling condition for the first app and obtaining a first identifier by calling the first app based on the monitoring result. As described above, the call condition may include, for example, a condition to be satisfied when a predetermined time arrives or when a predetermined event occurs.

일 실시 예에 따른 단계(520)는 제2 앱에 포함된 디바이스의 식별자를 제2 식별자에서 제1 식별자로 교체하는 단계로, 교체에 의해 제2 앱에 포함된 디바이스의 식별자는 제2 식별자가 아닌 제1 식별자에 해당할 수 있다.Step 520 according to an embodiment is a step of replacing the identifier of the device included in the second app from the second identifier to the first identifier, and the identifier of the device included in the second app by the replacement is the second identifier. may correspond to a first identifier other than

일 실시 예에 따른 단계(530)는 단계(520)에서 교체된 제2 식별자를 제2 앱과 연동된 제2 서버에 공유하는 단계에 해당할 수 있다. 제2 서버는 해당 디바이스에 대응하여 제1 식별자를 해당 디바이스의 식별자로 관리 및/또는 저장할 수 있다. 다시 말해, 제2 서버는 제1 식별자로 디바이스를 식별할 수 있으며, 제1 식별자가 지시하는 디바이스와 데이터 송수신을 하도록 해당 디바이스에 설치된 제2 앱을 제어할 수 있다.Step 530 according to an embodiment may correspond to a step of sharing the second identifier replaced in step 520 to a second server linked with the second app. The second server may manage and/or store the first identifier as an identifier of the corresponding device in correspondence with the corresponding device. In other words, the second server can identify the device with the first identifier, and can control the second app installed in the corresponding device to transmit/receive data with the device indicated by the first identifier.

일 실시 예에 따른 단계(540)에서, 제2 앱을 제어하기 위한 신호는 제1 식별자가 지시하는 디바이스에 전송되는 제2 앱의 실행 명령을 포함할 수 있다. 일 실시 예에 따른 단계(540)는 제2 앱을 제어하기 위한 신호에 포함된 실행 명령을 실행하는 단계를 포함할 수 있다. 일 예로, 제2 앱은 디바이스의 백그라운드에서 제2 앱을 제어하기 위한 신호에 포함된 실행 명령이 실행되도록 디바이스를 제어할 수 있다.In step 540 according to an embodiment, the signal for controlling the second app may include an execution command of the second app transmitted to the device indicated by the first identifier. Step 540 according to an embodiment may include executing an execution command included in a signal for controlling the second app. For example, the second app may control the device so that an execution command included in a signal for controlling the second app is executed in the background of the device.

도 6은 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법의 흐름도이다.6 is a flowchart of a method of operating a first server linked with a first app installed in a device according to an embodiment.

일 예로, 도 6에 도시된 제1 서버의 동작은 도 4에 도시된 제1 서버(110)의 동작에 대응될 수 있다. 도 6을 참조하면, 일 실시 예에 따른 디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법은 제1 앱에 대응하는 디바이스의 제1 식별자에 기초하여, 제2 서버와 연동된 제2 앱의 제어를 위한 신호를 수신하는 단계(610), 제2 서버가 제1 식별자를 공유하는 서버인지 여부를 판단하는 단계(620) 및 제1 식별자에 기초하여, 제1 식별자를 공유하는 서버로 판단된 제2 서버에 디바이스에 설치된 제2 앱의 제어를 위한 신호를 전송하는 단계(630)를 포함할 수 있다.For example, the operation of the first server shown in FIG. 6 may correspond to the operation of the first server 110 shown in FIG. 4 . Referring to FIG. 6 , in an operating method of a first server linked with a first app installed on a device according to an embodiment, a second server linked with a second server is performed based on a first identifier of a device corresponding to the first app. Receiving a signal for controlling the app (610), determining whether the second server is a server sharing the first identifier (620), and based on the first identifier, to a server sharing the first identifier It may include transmitting a signal for controlling the second app installed in the device to the determined second server (step 630).

일 실시 예에 따른 단계(610)는 제1 앱 및 제3 서버 중 적어도 하나로부터 제2 앱의 제어를 위한 신호를 수신하는 단계를 포함할 수 있다. 예를 들어, 제3 서버는 제1 식별자를 공유하는 서버를 포함할 수 있다. 일 예로, 제2 앱의 제어를 위한 신호는 제3 앱으로부터 수신될 수도 있으며, 제3 앱은 제1 식별자를 공유하는 앱을 포함할 수 있다. 제1 식별자를 공유하는 앱 혹은 서버는 디바이스의 식별자로 제1 식별자를 저장하고 있는 앱 혹은 서버에 해당할 수 있다.Step 610 according to an embodiment may include receiving a signal for controlling the second app from at least one of the first app and the third server. For example, the third server may include a server sharing the first identifier. For example, a signal for controlling the second app may be received from a third app, and the third app may include an app sharing the first identifier. An app or server that shares the first identifier may correspond to an app or server that stores the first identifier as an identifier of a device.

일 실시 예에 따른 제2 앱의 제어를 위한 신호는 제1 식별자가 지시하는 디바이스에 전송되는 제2 앱의 실행 명령을 포함할 수 있다. 제1 식별자를 공유하는 서버 혹은 앱은 제1 식별자가 지시하는 디바이스에 제2 앱의 제어를 위한 신호를 전달하기 위하여, 제1 식별자에 기초하여 제1 서버에 제2 앱의 제어를 위한 신호를 전송할 수 있다.The signal for controlling the second app according to an embodiment may include an execution command of the second app transmitted to a device indicated by the first identifier. The server or app sharing the first identifier transmits a signal for controlling the second app to the first server based on the first identifier in order to transmit a signal for controlling the second app to a device indicated by the first identifier. can transmit

일 실시 예에 따른 단계(620)에서 제2 서버 혹은 제2 앱에 제1 앱으로부터 획득한 제1 식별자가, 제2 앱이 설치된 디바이스를 식별하기 위한 정보로 저장된 경우, 제2 서버는 제1 식별자를 공유하는 서버로 판단될 수 있다. 일 예로, 제1 서버는 제1 앱에 제1 식별자를 요청한 앱 혹은 서버의 목록 혹은 제1 식별자의 요청이 허용된 앱 혹은 서버의 목록을 저장할 수 있다. 제1 서버는 제2 서버 혹은 제2 서버와 연동된 제2 앱이 저장된 목록에 포함되는지 여부에 기초하여, 제2 서버가 제1 식별자를 공유하는 서버인지 여부를 판단할 수 있다.In step 620 according to an embodiment, when the first identifier obtained from the first app is stored in the second server or the second app as information for identifying a device on which the second app is installed, the second server stores the first identifier. It can be determined as a server sharing an identifier. For example, the first server may store a list of apps or servers that have requested the first identifier from the first app or a list of apps or servers that are permitted to request the first identifier. The first server may determine whether the second server is a server sharing the first identifier based on whether the second server or a second app linked with the second server is included in the stored list.

일 실시 예에 따른 단계(630)는 단계(620)에서 제2 서버가 제1 식별자를 공유하는 서버로 판단된 경우, 수행될 수 있다. 예를 들어, 제1 서버는 제1 식별자에 기초하여, 제1 식별자가 지시하는 디바이스에 설치된 제2 앱의 제어를 위한 신호를 제2 서버에 전송할 수 있다. 제2 서버가 제2 식별자를 공유하는 서버가 아닌 것으로 판단된 경우, 제2 서버는 제1 식별자가 지시하는 디바이스를 인식할 수 없으므로, 제2 서버에 제2 앱의 제어를 위한 신호가 전송되지 않을 수 있다.Step 630 according to an embodiment may be performed when it is determined in step 620 that the second server is a server sharing the first identifier. For example, the first server may transmit a signal for controlling a second app installed in a device indicated by the first identifier to the second server based on the first identifier. If it is determined that the second server is not a server sharing the second identifier, the second server cannot recognize the device indicated by the first identifier, and therefore, a signal for controlling the second app is not transmitted to the second server. may not be

일 실시 예에 따르면, 도 1 내지 도 6을 통하여 전술한 제1 앱은 디바이스 관리 서비스 앱에 해당할 수 있고, 제2 앱은 관리 서비스 앱에 의해 제어되는 백신 서비스 앱에 해당할 수 있다. 관리 서비스 앱인 제1 앱과 연동된 디바이스를 관리하는 서비스를 제공하는 제1 서버는 도 1 내지 도 6에서 전술한 방법을 통해 백신 서비스 앱인 제2 앱과 연동된 백신 서비스를 제공하는 제2 서버에 백신 서비스 앱의 제어를 위한 신호를 전송함으로써, 디바이스에서 백신 서비스 앱의 실행을 제어할 수 있다.According to an embodiment, the first app described above with reference to FIGS. 1 to 6 may correspond to a device management service app, and the second app may correspond to an antivirus service app controlled by the management service app. The first server that provides a service for managing a device linked with the first app, which is a management service app, is connected to the second server that provides an antivirus service linked with the second app, which is an antivirus service app, through the methods described above in FIGS. 1 to 6 . By transmitting a signal for controlling the anti-virus service app, the device may control execution of the anti-virus service app.

일 실시 예에 따르면, 도 1 내지 도 6을 통하여 전술한 제1 앱은 보안 키보드를 이용하는 앱에 해당할 수 있고, 제2 앱은 보안 키보드를 이용하는 앱에 의해 제어되는 보안 키보드를 실행하는 앱에 해당할 수 있다. 보안 키보드를 이용하는 제1 앱과 연동된 제1 서버는 도 1 내지 도 6에서 전술한 방법을 통해 보안 키보드를 실행하는 제2 앱과 연동된 제2 서버에 보안 키보드를 실행하는 앱의 제어를 위한 신호를 전송함으로써, 디바이스에서 제2 앱의 보안 키보드의 실행을 제어할 수 있다.According to an embodiment, the first app described above with reference to FIGS. 1 to 6 may correspond to an app using a secure keyboard, and the second app may correspond to an app executing a secure keyboard controlled by an app using a secure keyboard. may apply. The first server linked with the first app using the security keyboard is for controlling the app that runs the security keyboard in the second server linked with the second app that runs the security keyboard through the method described above with reference to FIGS. 1 to 6 . By sending a signal, the device may control execution of the secure keyboard of the second app.

일 실시 예에 따르면, 도 1 내지 도 6을 통하여 전술한 제1 앱은 디지털 가계부 앱에 해당할 수 있고, 제2 앱은 가계부 앱에 의해 제어되는 모바일 뱅킹 앱에 해당할 수 있다. 디지털 가계부 앱인 제1 앱과 연동된 디지털 가계부 서비스를 제공하는 제1 서버는 도 1 내지 도 6에서 전술한 방법을 통해 모바일 뱅킹 앱인 제2 앱과 연동된 제2 서버에 모바일 뱅킹 앱을 백그라운드에서 실행하여 계좌의 잔액 정보를 제1 앱에 전송하도록 제2 앱을 제어할 수 있다.According to an embodiment, the first app described above with reference to FIGS. 1 to 6 may correspond to a digital household account book app, and the second app may correspond to a mobile banking app controlled by the household account book app. The first server that provides the digital household account book service linked with the first app, which is a digital household account book app, executes the mobile banking app in the background on the second server linked with the second app, which is a mobile banking app, through the method described above in FIGS. 1 to 6 Thus, the second app may be controlled to transmit account balance information to the first app.

도 7은 일 실시예에 따른 앱을 제어하는 시스템의 하드웨어 구성의 예시도이다.7 is an exemplary diagram of a hardware configuration of a system for controlling an app according to an embodiment.

도 7을 참조하면, 일 실시 예에 따른 시스템은 도 1에 도시된 시스템 및/또는 도 4에 도시된 시스템에 대응될 수 있다. 예를 들어, 일 실시 예에 따른 시스템은 네트워크(730)를 통해 연결된 디바이스(130)(예를 들어, 도 1의 디바이스(130) 또는 도 4의 디바이스(130)), 제1 서버(110)(예를 들어, 도 1의 제1 서버(110) 또는 도 4의 제1 서버(110)) 및 제2 서버(120)(예를 들어, 도 1의 제2 서버(120) 또는 도 4의 제2 서버(120))를 포함할 수 있다.Referring to FIG. 7 , a system according to an embodiment may correspond to the system shown in FIG. 1 and/or the system shown in FIG. 4 . For example, the system according to an embodiment includes a device 130 connected through a network 730 (eg, the device 130 of FIG. 1 or the device 130 of FIG. 4 ), the first server 110 (eg, the first server 110 in FIG. 1 or the first server 110 in FIG. 4) and the second server 120 (eg, the second server 120 in FIG. 1 or the first server 110 in FIG. 4) The second server 120) may be included.

일 실시 예에 따른 디바이스(130)는 컴퓨터 장치로 구현되는 모바일 단말일 수 있다. 일 예로, 디바이스(130)는 무선 또는 유선 통신 방식을 이용하여 네트워크(730)를 통해 제1 서버(110), 제2 서버(120) 및/또는 다른 전자 기기들과 통신할 수 있다.The device 130 according to an embodiment may be a mobile terminal implemented as a computer device. For example, the device 130 may communicate with the first server 110, the second server 120, and/or other electronic devices through the network 730 using a wireless or wired communication method.

일 실시 예에 따른 제1 서버(110) 및 제2 서버(120)는 디바이스(130) 및/또는 다른 서버와 네트워크(730)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(730)가 포함할 수 있는 통신망(예: 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식, 기기들 간의 근거리 무선 통신 방식을 포함할 수 있다. 예를 들어, 네트워크(730)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다.The first server 110 and the second server 120 according to an embodiment communicate with the device 130 and/or other servers through the network 730 to provide commands, codes, files, contents, services, and the like. It may be implemented in a computer device or a plurality of computer devices. The communication method is not limited, and may include a communication method utilizing a communication network (eg, mobile communication network, wired Internet, wireless Internet, broadcasting network) that the network 730 may include, and a short-distance wireless communication method between devices. For example, the network 730 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , one or more arbitrary networks such as the Internet.

일 실시 예에 따르면, 제1 서버(110) 및/또는 제2 서버(120)는 네트워크(730)를 통해 접속한 디바이스(130)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 예를 들어, 디바이스(130)는 제1 서버(110)로부터 제공된 파일을 이용하여 제1 앱을 설치할 수 있으며, 제2 서버(120)로부터 제공된 파일을 이용하여 제2 앱을 설치할 수 있다. 또한, 디바이스(130)가 포함하는 운영체제(Operating System, OS) 및 적어도 하나의 프로그램(예: 브라우저 또는 설치된 어플리케이션)의 제어에 따라 제1 서버(110) 및/또는 제2 서버(120)에 접속하여 제1 서버(110) 및/또는 제2 서버(120)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 디바이스(130)가 어플리케이션의 제어에 따라 네트워크(730)를 통해 서비스 요청 메시지를 제1 서버(110)로 전송하면, 제1 서버(110)는 서비스 요청 메시지에 대응하는 코드를 디바이스(130)로 전송할 수 있고, 디바이스(130)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.According to an embodiment, the first server 110 and/or the second server 120 may provide a file for installing an application to the device 130 connected through the network 730 . For example, the device 130 may install a first app using a file provided from the first server 110 and may install a second app using a file provided from the second server 120 . In addition, the first server 110 and/or the second server 120 are accessed under the control of an operating system (OS) included in the device 130 and at least one program (eg, a browser or an installed application). Thus, services or contents provided by the first server 110 and/or the second server 120 may be provided. For example, when the device 130 transmits a service request message to the first server 110 through the network 730 under the control of an application, the first server 110 transmits a code corresponding to the service request message to the device. 130, and the device 130 can provide content to the user by constructing and displaying a screen according to the code under the control of the application.

일 실시 예에 따르면, 디바이스(130) 및 제1 서버(110)는 메모리(711, 721), 프로세서(713, 723), 통신 모듈(715, 725) 및 입출력 인터페이스(717, 727)를 포함할 수 있다.According to one embodiment, the device 130 and the first server 110 may include memories 711 and 721, processors 713 and 723, communication modules 715 and 725, and input/output interfaces 717 and 727. can

일 실시 예에 따른 프로세서(713, 723)는 도 1 내지 도 6를 통하여 전술한 적어도 하나의 동작을 수행할 수 있다. 예를 들어, 프로세서(713)는 도 1 내지 도 6을 통하여 전술한 디바이스(130)에 설치된 제2 앱(예를 들어, 도 1의 제2 앱(132) 또는 도 4의 제2 앱(132))에서 수행되는 적어도 하나의 동작을 수행할 수 있고, 프로세서(723)는 도 1 내지 도 6을 통하여 전술한 제1 서버(110)에서 수행되는 적어도 하나의 동작을 수행할 수 있다. 프로세서(713, 723)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(711, 721) 또는 통신 모듈(715, 725)에 의해 프로세서(713, 723)로 제공될 수 있다.The processors 713 and 723 according to an embodiment may perform at least one operation described above through FIGS. 1 to 6 . For example, the processor 713 may use the second app installed in the device 130 described above through FIGS. 1 to 6 (eg, the second app 132 of FIG. 1 or the second app 132 of FIG. 4 ). )), and the processor 723 may perform at least one operation performed in the first server 110 described above through FIGS. 1 to 6 . The processors 713 and 723 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to processors 713 and 723 by memories 711 and 721 or communication modules 715 and 725.

메모리(711, 721)는 컴퓨터에서 판독 가능한 기록 매체로서, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 일 실시 예에 따른 메모리(711, 721)는 도 1 내지 도 6을 통하여 전술한 복수의 앱을 제어하기 위한 정보를 저장할 수 있다. 일 예로, 메모리(721)는 전술한 제1 앱을 설치한 디바이스 별 제1 식별자, 혹은 제1 앱을 설치한 디바이스 별 제1 식별자 및 제2 식별자의 매핑 정보를 저장할 수 있다.The memories 711 and 721 are computer-readable recording media and may be volatile memories or non-volatile memories. The memories 711 and 721 according to an embodiment may store information for controlling the plurality of apps described above through FIGS. 1 to 6 . For example, the memory 721 may store first identifiers for each device on which the above-described first app is installed, or mapping information between the first identifier and the second identifier for each device on which the first app is installed.

일 실시 예에 따른 메모리(711)는 제1 서버(110)에서 네트워크(730)를 통해 제공하는 파일들에 의해 디바이스(130)에 설치되어 구동되는 제1 앱을 위한 코드를 포함할 수 있으며, 제2 서버(120)에서 네트워크(730)를 통해 제공하는 파일들에 의해 디바이스(130)에 설치되어 구동되는 제2 앱을 위한 코드를 포함할 수 있다.The memory 711 according to an embodiment may include code for a first app that is installed and driven in the device 130 by files provided from the first server 110 through the network 730, Code for a second app that is installed and driven in the device 130 by files provided from the second server 120 through the network 730 may be included.

일 실시 예에 따른 메모리(721)는 도 1 내지 도 6을 통하여 전술한 제1 서버에서 수행되는 모바일 디바이스 관리를 위한 동작들이 구현된 프로그램을 저장할 수 있다.The memory 721 according to an embodiment may store a program in which operations for mobile device management performed in the first server described above with reference to FIGS. 1 to 6 are implemented.

일 실시 예에 따른 통신 모듈(715, 725)은 네트워크(730)를 통해 디바이스(130), 제1 서버(110) 및 제2 서버(120)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기 또는 다른 서버와 통신하기 위한 기능을 제공할 수 있다.The communication modules 715 and 725 according to an embodiment may provide a function for the device 130, the first server 110 and the second server 120 to communicate with each other through the network 730, and other A function for communicating with an electronic device or other server may be provided.

일 예로, 디바이스(130)의 프로세서(713)가 메모리(711)와 같은 기록 장치에 저장된 제1 앱에 관한 프로그램 코드에 따라 생성한 요청이 통신 모듈(715)의 제어에 따라 네트워크(730)를 통해 제1 서버(110)로 전송될 수 있다. 또 일 예로, 디바이스(130)의 프로세서(713)가 메모리(711)와 같은 기록 장치에 저장된 제2 앱에 관한 프로그램 코드에 따라 생성한 요청이 통신 모듈(715)의 제어에 따라 네트워크(730)를 통해 제2 서버(120)로 전송될 수 있다.For example, a request generated by the processor 713 of the device 130 according to the program code for the first app stored in a recording device such as the memory 711 sends the network 730 under the control of the communication module 715. It can be transmitted to the first server 110 through. As another example, a request generated by the processor 713 of the device 130 according to the program code for the second app stored in a recording device such as the memory 711 is sent to the network 730 under the control of the communication module 715. It can be transmitted to the second server 120 through.

일 예로, 제1 서버(110)의 프로세서(723)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(725)과 네트워크(730)를 거쳐 디바이스(130)의 통신 모듈(715)을 통해 디바이스(130)로 수신될 수 있으며, 혹은 제2 서버(120)로 수신될 수 있다. For example, the communication module ( It may be received by the device 130 through 715 or may be received by the second server 120 .

입출력 인터페이스(717, 727)는 입출력 장치(719)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로, 입출력 인터페이스(717)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 디바이스(130)의 프로세서(713)는 메모리(711)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 제1 서버(110) 혹은 제2 서버(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(717)를 통해 디스플레이에 표시될 수 있다. 사용자로부터 수신된 입출력 장치(719)를 통한 입력은 입출력 인터페이스(717)를 통해 디바이스(130)의 프로세서(713)에서 처리 가능한 형태로 제공될 수 있다.The input/output interfaces 717 and 727 may be means for interface with the input/output device 719 . For example, the input device may include a device such as a keyboard or mouse, and the output device may include a device such as a display for displaying a communication session of an application. As another example, the input/output interface 717 may be a means for interface with a device in which functions for input and output are integrated into one, such as a touch screen. As a more specific example, the processor 713 of the device 130 is configured using data provided by the first server 110 or the second server 120 in processing the command of the computer program loaded into the memory 711. A service screen or content to be used may be displayed on the display through the input/output interface 717 . An input received from the user through the input/output device 719 may be provided in a form processable by the processor 713 of the device 130 through the input/output interface 717 .

일 실시 예에 따르면, 디바이스(130) 및 제1 서버(110)는 도 7에 도시되지 않은 다른 구성 요소들을 포함할 수 있다. 예를 들어, 디바이스(130)은 상술한 입출력 장치(719) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성 요소들을 더 포함할 수도 있다.According to one embodiment, the device 130 and the first server 110 may include other components not shown in FIG. 7 . For example, the device 130 is implemented to include at least some of the above-described input/output devices 719 or other components such as a transceiver, a Global Positioning System (GPS) module, a camera, various sensors, and a database. may include more.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. A computer readable medium may store program instructions, data files, data structures, etc. alone or in combination, and program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. there is. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (20)

디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법에 있어서,
상기 제1 앱을 호출한 제2 앱으로부터, 상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 획득하는 단계;
상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계; 및
상기 제1 식별자와 매핑하여 저장된 상기 제2 식별자에 기초하여, 상기 제2 앱과 연동된 제2 서버에, 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는 단계
를 포함하는,
제1 서버의 동작 방법.
A method of operating a first server linked with a first app installed on a device, the method comprising:
obtaining a second identifier of the device corresponding to the second app from a second app that called the first app;
mapping and storing the second identifier with the first identifier of the device corresponding to the first app; and
Transmitting a signal for controlling the second app installed in the device to a second server interlocked with the second app based on the stored second identifier mapped to the first identifier
including,
A method of operating the first server.
제1항에 있어서,
상기 제2 앱의 제어를 위한 신호를 전송하는 단계는
상기 제1 앱으로부터, 상기 제2 앱의 제어를 위한 신호를 획득하는 단계; 및
상기 디바이스의 상기 제1 식별자에 매핑된 상기 제2 식별자를 획득하는 단계
를 더 포함하고,
상기 제2 앱의 제어를 위한 신호는
상기 제2 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함하는,
제1 서버의 동작 방법.
According to claim 1,
Transmitting a signal for controlling the second app
obtaining a signal for controlling the second app from the first app; and
obtaining the second identifier mapped to the first identifier of the device;
Including more,
The signal for controlling the second app is
Including an execution command of the second app transmitted to the device indicated by the second identifier,
A method of operating the first server.
제1항에 있어서,
상기 제2 앱은
상기 제1 앱의 호출을 위한 앱 스킴(scheme) 정보에 기초하여, 상기 제1 앱을 호출하는,
제1 서버의 동작 방법.
According to claim 1,
The second app is
Calling the first app based on app scheme information for calling the first app;
A method of operating the first server.
제1항에 있어서,
상기 제2 앱은
상기 제어를 위한 신호에 기초하여, 상기 디바이스의 백그라운드에서 실행되는,
제1 서버의 동작 방법.
According to claim 1,
The second app is
Based on the signal for the control, executed in the background of the device,
A method of operating the first server.
제1항에 있어서,
상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계는
상기 제1 앱에 대응하는 제어 대상에 관한 조건에 기초하여, 상기 제2 앱이 제어 대상인지 여부를 판단하는 단계; 및
상기 판단 결과에 기초하여, 상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하는 단계
를 포함하는,
제1 서버의 동작 방법.
According to claim 1,
The step of mapping and storing the first identifier of the device
determining whether the second app is a control target based on a control target condition corresponding to the first app; and
Based on the determination result, mapping and storing the second identifier with the first identifier of the device corresponding to the first app.
including,
A method of operating the first server.
디바이스에 설치된 제2 앱의 동작 방법에 있어서,
상기 디바이스에 설치된 제1 앱을 호출하여, 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자를 획득하는 단계;
상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 상기 제1 식별자로 교체하는 단계;
상기 교체된 제1 식별자를 상기 제2 앱과 연동된 제2 서버에 전송하는 단계; 및
상기 제1 앱과 연동된 제1 서버로부터 상기 제1 식별자에 기초하여 전송된 상기 제2 앱을 제어하기 위한 신호를 수신하는 단계
를 포함하는,
제2 앱의 동작 방법.
A method of operating a second app installed on a device,
obtaining a first identifier of the device corresponding to the first app by calling a first app installed in the device;
replacing a second identifier of the device corresponding to the second app with the first identifier;
Transmitting the replaced first identifier to a second server linked with the second app; and
Receiving a signal for controlling the second app transmitted based on the first identifier from a first server interlocked with the first app
including,
The operation method of the second app.
제6항에 있어서,
상기 제1 식별자를 획득하는 단계는
상기 제1 앱의 호출을 위한 앱 스킴(scheme) 정보에 기초하여, 상기 제1 앱을 호출하는 단계;
상기 호출에 응답한 상기 제1 앱에 상기 제1 식별자를 요청하는 단계; 및
상기 제1 식별자의 요청에 대한 응답으로, 상기 제1 앱으로부터 상기 제1 식별자를 획득하는 단계
를 포함하는,
제2 앱의 동작 방법.
According to claim 6,
Obtaining the first identifier
calling the first app based on app scheme information for calling the first app;
requesting the first identifier from the first App that has responded to the call; and
obtaining the first identifier from the first app in response to the request for the first identifier;
including,
The operation method of the second app.
제7항에 있어서,
상기 제1 식별자를 획득하는 단계는
상기 제1 앱으로부터 상기 호출에 대한 응답이 수신되지 않는 경우, 상기 제1 앱을 호출하는 단계를 일정 주기로 반복하는 단계; 및
상기 제1 앱으로부터 상기 제1 식별자의 요청에 대한 응답이 수신되지 않는 경우, 상기 제1 식별자를 요청하는 단계를 일정 주기로 반복하는 단계
중 적어도 하나를 더 포함하는,
제2 앱의 동작 방법.
According to claim 7,
Obtaining the first identifier
repeating the calling of the first app at regular intervals when a response to the call is not received from the first app; and
Repeating the step of requesting the first identifier at regular intervals when a response to the request for the first identifier is not received from the first app.
further comprising at least one of
The operation method of the second app.
제6항에 있어서,
상기 제2 앱을 제어하기 위한 신호는
상기 제1 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함하고,
상기 제2 앱을 제어하기 위한 신호를 수신하는 단계는
상기 디바이스의 백그라운드에서 상기 제2 앱을 제어하기 위한 신호에 포함된 상기 실행 명령을 실행하는 단계
를 포함하는,
제2 앱의 동작 방법.
According to claim 6,
The signal for controlling the second app is
Includes an execution command of the second app transmitted to the device indicated by the first identifier;
Receiving a signal for controlling the second app
Executing the execution command included in the signal for controlling the second app in the background of the device;
including,
The operation method of the second app.
제6항에 있어서,
상기 제1 식별자를 획득하는 단계는
상기 제1 앱에 관하여 미리 정해진 호출 조건을 모니터링하는 단계; 및
상기 모니터링 결과에 기초하여, 상기 제1 앱을 호출하여, 상기 제1 식별자를 획득하는 단계
를 포함하는,
제2 앱의 동작 방법.
According to claim 6,
Obtaining the first identifier
monitoring a predetermined calling condition for the first app; and
Based on the monitoring result, obtaining the first identifier by calling the first app.
including,
The operation method of the second app.
디바이스에 설치된 제1 앱과 연동된 제1 서버의 동작 방법에 있어서,
상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자에 기초하여, 제2 서버와 연동된 제2 앱의 제어를 위한 신호를 수신하는 단계;
상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단하는 단계; 및
상기 제1 식별자에 기초하여, 상기 제1 식별자를 공유하는 서버로 판단된 상기 제2 서버에 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는 단계
를 포함하는,
제1 서버의 동작 방법.
A method of operating a first server linked with a first app installed on a device, the method comprising:
Receiving a signal for controlling a second app linked with a second server based on a first identifier of the device corresponding to the first app;
determining whether the second server is a server sharing the first identifier; and
Transmitting a signal for controlling the second app installed in the device to the second server determined to be a server sharing the first identifier based on the first identifier
including,
A method of operating the first server.
제11항에 있어서,
상기 제1 식별자가 공유된 서버로 판단된 상기 제2 서버는
상기 제2 앱이 상기 제1 앱으로부터 획득한 상기 제1 식별자를, 상기 제2 앱이 설치된 상기 디바이스를 식별하기 위한 정보로 저장하는,
제1 서버의 동작 방법.
According to claim 11,
The second server determined to be the server with which the first identifier is shared
The second app stores the first identifier acquired from the first app as information for identifying the device on which the second app is installed.
A method of operating the first server.
제11항에 있어서,
상기 제2 앱의 제어를 위한 신호는
상기 제1 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함하는,
제1 서버의 동작 방법.
According to claim 11,
The signal for controlling the second app is
Including an execution command of the second app transmitted to the device indicated by the first identifier,
A method of operating the first server.
제11항에 있어서,
상기 제2 앱의 제어를 위한 신호를 수신하는 단계는
상기 제1 앱 및 제3 서버 중 적어도 하나로부터 상기 제2 앱의 제어를 위한 신호를 수신하는 단계
를 포함하고,
상기 제3 서버는 상기 제1 식별자를 공유하는 서버를 포함하는,
제1 서버의 동작 방법.
According to claim 11,
Receiving a signal for controlling the second app
Receiving a signal for controlling the second app from at least one of the first app and a third server
including,
The third server includes a server sharing the first identifier,
A method of operating the first server.
하드웨어와 결합되어 제1항 내지 제14항 중 어느 하나의 항의 방법을 실행시식별자기 위하여 매체에 저장된 컴퓨터 프로그램.
A computer program combined with hardware and stored in a medium for identification when the method of any one of claims 1 to 14 is executed.
디바이스에 설치된 제1 앱과 연동된 제1 서버에 있어서,
상기 제1 앱을 호출한 제2 앱으로부터, 상기 제2 앱에 대응하는 상기 디바이스의 제2 식별자를 획득하고,
상기 제2 식별자를 상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자와 매핑하여 저장하고,
상기 제1 식별자와 매핑하여 저장된 상기 제2 식별자에 기초하여, 상기 제2 앱과 연동된 제2 서버에, 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는,
적어도 하나의 프로세서
를 포함하는, 제1 서버.
In the first server linked with the first app installed on the device,
obtaining a second identifier of the device corresponding to the second app from a second app that called the first app;
mapping and storing the second identifier with a first identifier of the device corresponding to the first app;
Transmitting a signal for controlling the second app installed in the device to a second server linked with the second app based on the stored second identifier mapped to the first identifier,
at least one processor
Including, the first server.
제16항에 있어서,
상기 제1 앱이 설치된 디바이스들 각각에 대응하여, 상기 제1 앱에 대응하는 해당 디바이스의 제1 식별자 및 상기 제2 앱에 대응하는 상기 해당 디바이스의 제2 식별자의 매핑 정보를 저장하는 메모리
를 더 포함하는, 제1 서버.
According to claim 16,
A memory for storing mapping information of a first identifier of the corresponding device corresponding to the first app and a second identifier of the corresponding device corresponding to the second app, corresponding to each of the devices on which the first app is installed.
Further comprising, the first server.
제16항에 있어서,
상기 프로세서는,
상기 제2 앱의 제어를 위한 신호를 전송함에 있어서,
상기 제1 앱으로부터, 상기 제2 앱의 제어를 위한 신호를 획득하고,
상기 디바이스의 상기 제1 식별자에 매핑된 상기 제2 식별자를 획득하며,
상기 제2 앱의 제어를 위한 신호는
상기 제2 식별자가 지시하는 상기 디바이스에 전송되는 상기 제2 앱의 실행 명령을 포함하는, 제1 서버.
According to claim 16,
the processor,
In transmitting a signal for controlling the second app,
obtaining a signal for controlling the second app from the first app;
obtaining the second identifier mapped to the first identifier of the device;
The signal for controlling the second app is
The first server comprising an execution command of the second app transmitted to the device indicated by the second identifier.
디바이스에 설치된 제1 앱과 연동된 제1 서버에 있어서,
상기 제1 앱에 대응하는 상기 디바이스의 제1 식별자에 기초하여, 제2 서버와 연동된 제2 앱의 제어를 위한 신호를 수신하고,
상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단하며,
상기 제1 식별자에 기초하여, 상기 제1 식별자를 공유하는 서버로 판단된 상기 제2 서버에 상기 디바이스에 설치된 상기 제2 앱의 제어를 위한 신호를 전송하는,
적어도 하나의 프로세서
를 포함하는, 제1 서버.
In the first server linked with the first app installed on the device,
Receiving a signal for controlling a second app linked with a second server based on a first identifier of the device corresponding to the first app;
determining whether the second server is a server sharing the first identifier;
Transmitting a signal for controlling the second app installed in the device to the second server determined to be a server sharing the first identifier based on the first identifier,
at least one processor
Including, the first server.
제19항에 있어서,
상기 프로세서는,
상기 제2 서버가 상기 제1 식별자를 공유하는 서버인지 여부를 판단함에 있어서,
상기 제2 앱이 상기 제1 앱으로부터 획득한 상기 제1 식별자를, 상기 제2 앱이 설치된 상기 디바이스를 식별하기 위한 정보로 저장하는 경우, 상기 제1 식별자를 공유하는 서버로 판단하는, 제1 서버.

According to claim 19,
the processor,
In determining whether the second server is a server sharing the first identifier,
When the second app stores the first identifier obtained from the first app as information for identifying the device on which the second app is installed, the first identifier is determined as a server sharing the first identifier. server.

KR1020210191708A 2021-12-29 2021-12-29 Method and apparatus for controlling applications KR102582398B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210191708A KR102582398B1 (en) 2021-12-29 2021-12-29 Method and apparatus for controlling applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210191708A KR102582398B1 (en) 2021-12-29 2021-12-29 Method and apparatus for controlling applications

Publications (2)

Publication Number Publication Date
KR20230101536A true KR20230101536A (en) 2023-07-06
KR102582398B1 KR102582398B1 (en) 2023-09-25

Family

ID=87185699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210191708A KR102582398B1 (en) 2021-12-29 2021-12-29 Method and apparatus for controlling applications

Country Status (1)

Country Link
KR (1) KR102582398B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200044403A (en) * 2018-10-19 2020-04-29 주식회사 펀앤뉴 System and method for controlling mobile device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200044403A (en) * 2018-10-19 2020-04-29 주식회사 펀앤뉴 System and method for controlling mobile device

Also Published As

Publication number Publication date
KR102582398B1 (en) 2023-09-25

Similar Documents

Publication Publication Date Title
US11916911B2 (en) Gateway enrollment for Internet of Things device management
EP2989543B1 (en) Method and device for updating client
US9603011B1 (en) Selective regulation of information transmission from mobile applications to third-party privacy compliant target systems
US11902268B2 (en) Secure gateway onboarding via mobile devices for internet of things device management
US20210126835A1 (en) Internet of things device discovery and deployment
KR20130142961A (en) Automatic application updates
CN104050201A (en) Method and equipment for managing data in multi-tenant distributive environment
US9922181B2 (en) Security model for network information service
JP2021502735A (en) How to access the gateway management console, systems, and programs
US11924210B2 (en) Protected resource authorization using autogenerated aliases
US9679159B2 (en) Mobile privacy information proxy
US11165783B1 (en) Quantifying permissiveness of access control policies using model counting techniques and automated policy downscaling
CN109391658B (en) Account data synchronization method and equipment, storage medium and terminal thereof
US20230074627A1 (en) Method and system for detecting forgery of mobile application by using user identifier and signature collection
KR20210043654A (en) Method, apparatus and storage medium for resource organization
KR102582398B1 (en) Method and apparatus for controlling applications
US11601476B2 (en) Gateway action framework
US11757976B2 (en) Unified application management for heterogeneous application delivery
CN111937013A (en) Electronic device management
CN111447080B (en) Private network decentralization control method, device and computer readable storage medium
US20180069859A1 (en) Mobile terminal and control method thereof
JP5636394B2 (en) Information processing apparatus, information processing method, and program
KR102348312B1 (en) Method and system for detecting forgery of mobile application using collecting user identifier and signature
KR20120018717A (en) Method and apparatus for file transfer
KR20230101524A (en) Method and apparatus for mobile device management

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant