KR20200071053A - An apparatus and method for communication between application to application for each of devices - Google Patents
An apparatus and method for communication between application to application for each of devices Download PDFInfo
- Publication number
- KR20200071053A KR20200071053A KR1020200067645A KR20200067645A KR20200071053A KR 20200071053 A KR20200071053 A KR 20200071053A KR 1020200067645 A KR1020200067645 A KR 1020200067645A KR 20200067645 A KR20200067645 A KR 20200067645A KR 20200071053 A KR20200071053 A KR 20200071053A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- websocket server
- connection
- communication
- server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 서로 다른 기기를 통해서 구동되는 응용프로그램들 간의 통신 방법 및 장치에 관한 것이다.The present invention relates to a communication method and apparatus between application programs running through different devices.
무선 통신의 증대에 따라 실시간 양방향 데이터의 통신 및 다수의 동시 접속자를 수용 가능한 웹 소켓(websocket) 통신이 도입되었다. 이러한 웹소켓 통신은 서버와 클라이언트간의 통신을 기반으로 이루어진다.With the increase in wireless communication, real-time bidirectional data communication and websocket communication capable of accommodating multiple simultaneous users have been introduced. The websocket communication is based on communication between the server and the client.
도 1은 일반적인 웹소켓 통신의 동작 방식의 일 예를 도시한 도면이다.1 is a diagram illustrating an example of an operation method of a general web socket communication.
도 1을 참조하면, 서버(102)는 웹 소켓 통신을 지원하는 서버이며, 클라이언트들 1 내지 4(104~110)들 중 하나의 클라이언트에서는 웹소켓 프로토콜(protocol)을 사용하여 원하는 웹소켓 서버와 연결하여 데이터를 주고 받는 경우를 가정하자.Referring to FIG. 1, the server 102 is a server supporting web socket communication, and one of
이러한 웹소켓 통신은 기존의 통신 방법 중 하나인 HTTP(Hyper Text Transfer Protocol)가 가지고 있는 단점(stateless, 단방향 통신)을 극복하여 서버와 클라이언트 사이에 끊김없는 양방향 통신을 제공해준다. 또한, 서버 측에서 복잡한 프로그램밍 없이 웹(web)을 통해서 일반적인 TCP(Transmission Control Protocol) 소켓과 같이 실시간 연결지향 양방향 통신을 가능하게 하는 HTML5와의 연동이 쉽게 됨에 따라 기본적인 양방향 통신이 필요한 환경에서 다양하게 활용될 수 있을 것으로 기대된다.This websocket communication overcomes the disadvantages (stateless, one-way communication) of HTTP (Hyper Text Transfer Protocol), which is one of the existing communication methods, and provides seamless two-way communication between the server and the client. In addition, as it is easy to interwork with HTML5, which enables real-time connection-oriented two-way communication like a normal Transmission Control Protocol (TCP) socket through the web without complicated programming on the server side, it can be used in a variety of environments that require basic two-way communication. It is expected to be.
따라서 이러한 웹소켓 통신의 장점을 기반으로, 서로 다른 기기에서 구동되는 응용프로그램들간의 통신에 적용하는 방안을 고려해볼 수 있다. 그러므로, 서버와 클라이언트 사이의 양방향 통신을 위해 설계된 웹소켓 통신을 응용프로그램들간의 통신에 활용하기 위해서 추가적인 절차들이 요구된다.Therefore, based on the advantages of websocket communication, it is possible to consider a method of applying to communication between application programs running on different devices. Therefore, additional procedures are required to utilize websocket communication designed for two-way communication between a server and a client for communication between application programs.
본 발명은 서로 다른 기기에서 동작하는 서로 다른 응용프로그램간 통신을 제공할 수 있는 장치 및 방법을 제안한다.The present invention proposes an apparatus and method capable of providing communication between different application programs operating in different devices.
본 발명은, 제1기기에서 하나의 응용프로그램이 구동되고, 제2기기에서 상기 응용프로그램과 연동된 보조 응용프로그램이 구동되는 경우, 웹소켓 프로토콜을 사용하여 두 응용프로그램간의 통신을 제공하기 위한 장치 및 방법을 제안한다.In the present invention, when one application program is driven in the first device and the auxiliary application program interlocked with the application program is driven in the second device, an apparatus for providing communication between two application programs using a web socket protocol And suggest methods.
본 개시의 일 실시예에 따른 제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법은, 상기 제 1 디바이스에 의해, 상기 제 2 디바이스 내의 웹소켓 서버를 통해 상기 제 1 어플리케이션을 상기 제 2 어플리케이션에 접속시키는 단계, 및 상기 제 1 디바이스에 의해, 상기 웹소켓 서버를 통해 상기 제 1 어플리케이션으로부터 상기 제 2 어플리케이션으로 데이터를 전송하거나, 또는 상기 제 1 디바이스에 의해, 상기 웹소켓 서버를 통해 상기 제 2 어플리케이션으로부터 상기 제 1 어플리케이션에 대한 데이터를 수신하는 단계를 포함하고, 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버가 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속 요청을 수신하는 것에 기초하여 제공되고, 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버의 포트, 및 웹소켓 프로토콜을 지원하는 특정 정보에 기초한다.A method for communication between a first application on a first device and a second application on a second device according to an embodiment of the present disclosure may be performed by the first device through the websocket server in the second device. Connecting one application to the second application, and by the first device, transmitting data from the first application to the second application through the websocket server, or by the first device, the And receiving data for the first application from the second application through a websocket server, wherein the websocket server connects between the first application and the second application through the websocket server. Provided on the basis of receiving a connection request from each of the first application and the second application, the connection through the websocket server between the first application and the second application is a port of the websocket server, and the web It is based on specific information that supports the socket protocol.
본 개시의 다른 실시예에 따른 제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 상기 제 1 디바이스는, 통신 인터페이스, 및 상기 통신 인터페이스에 연결된 제어기를 포함하고, 상기 제어기는, 상기 제 2 디바이스 내의 웹소켓 서버를 통해 상기 제 1 어플리케이션을 상기 제 2 어플리케이션에 접속시키고, 그리고 상기 웹소켓 서버를 통해 상기 제 1 어플리케이션으로부터 상기 제 2 어플리케이션으로 데이터를 전송하거나, 또는 상기 웹소켓 서버를 통해 상기 제 2 어플리케이션으로부터 상기 제 1 어플리케이션에 대한 데이터를 수신하도록 구성되고, 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버가 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속 요청을 수신하는 것에 기초하여 제공되고, 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버의 포트, 및 웹소켓 프로토콜을 지원하는 특정 정보에 기초한다.The first device for communication between a first application on a first device and a second application on a second device according to another embodiment of the present disclosure includes a communication interface, and a controller connected to the communication interface, wherein the controller The first application is connected to the second application through a web socket server in the second device, and data is transmitted from the first application to the second application through the web socket server, or the web It is configured to receive data for the first application from the second application through a socket server, the connection through the web socket server between the first application and the second application is the web socket server is the first application And a connection request from each of the second applications, wherein the connection through the web socket server between the first application and the second application is a port of the web socket server, and a web socket protocol. It is based on the specific information you support.
본 발명은, 서로 다른 기기에서 구동되는 응용프로그램들간의 통신 수단을 제공함으로써, 예를 들어, 제1기기의 응용프로그램과 연동된 제2기기의 응용프로그램을 작성할 수 있다. 이를 통해, 제2기기에서 제1기기를 제어할 수 있는 리모트 콘트롤 응용프로그램을 작성한다거나, 문자 입력이 필요한 경우 제1기기의 불편한 입력장치 대신 사용할 수 있는 제2기기의 입력 응용프로그램의 작성 등의 사용자 경험 등을 제공할 수 있는 효과가 있다.The present invention can provide, for example, an application program of a second device interlocked with an application program of the first device by providing communication means between application programs that are run on different devices. Through this, a remote control application program capable of controlling the first device from the second device is created, or when input of text is required, the creation of an input application program of the second device can be used instead of the inconvenient input device of the first device. There is an effect that can provide a user experience.
도 1은 일반적인 웹소켓의 동작 방식의 일 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 응용 프로그램간 통신을 설명하기 위한 기본적인 구성도,
도 3은 본 발명의 실시 예에 따라 제1기기에서 웹소켓 서버를 구동 및 정지하는 동작 흐름도,
도 4는 본 발명의 실시 예에 따라 제2기기의 응용프로그램이 제1기기의 응용프로그램과 통신하는 동작 흐름도,
도 5는 본 발명의 실시 예에 따른 제1기기의 동작 흐름도,
도 6은 본 발명의 실시 예에 따른 제2기기의 동작 흐름도,
도 7은 본 발명이 실제 적용된 실시 예를 도시한 도면.1 is a view showing an example of an operation method of a general web socket,
2 is a basic configuration diagram for explaining communication between application programs according to an embodiment of the present invention;
3 is an operation flowchart of starting and stopping a web socket server in a first device according to an embodiment of the present invention,
4 is an operation flow diagram in which the application program of the second device communicates with the application program of the first device according to an embodiment of the present invention;
5 is an operation flowchart of a first device according to an embodiment of the present invention,
6 is an operation flowchart of a second device according to an embodiment of the present invention,
7 is a view showing an embodiment to which the present invention is actually applied.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 다음에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. The same components shown in the drawings are represented by the same reference numbers as possible, even if they are displayed on different drawings, and detailed descriptions of related well-known functions or configurations are not necessary in describing the present invention. If it is determined that it may be cloudy, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification.
본 발명은 서로 다른 기기에서 동작하는 서로 다른 응용프로그램간 통신을 제공할 수 있는 장치 및 방법을 제안한다. 구체적으로, 본 발명은 제1기기에서 하나의 응용프로그램이 구동되고, 제2기기에서 상기 응용프로그램과 연동된 보조 응용프로그램이 구동되는 경우, 웹소켓 프로토콜을 사용하여 두 응용프로그램간의 통신을 제공하기 위한 장치 및 방법을 제안한다.The present invention proposes an apparatus and method capable of providing communication between different application programs operating in different devices. Specifically, the present invention provides communication between two application programs using a web socket protocol when one application program is driven on the first device and an auxiliary application program linked with the application program is operated on the second device. Suggest devices and methods for.
도 2는 본 발명의 실시 예에 따른 응용 프로그램간 통신을 설명하기 위한 기본적인 구성도의 일 예이다. 설명의 편의상 도 2의 기기 구성들은 본 발명의 실시 예에 따른 구성들만 포함하는 개략적인 구성도이다. 따라서, 사업자의 의도나 상황에 따라 해당 구성들은 하나의 유닛(unit)으로 합쳐지거나, 기능에 따라 서브(sub) 유닛들로 분할되어 구성될 수도 있다.2 is an example of a basic configuration diagram for describing communication between application programs according to an embodiment of the present invention. For convenience of description, the device configurations of FIG. 2 are schematic configuration diagrams including only the configurations according to an embodiment of the present invention. Accordingly, depending on the operator's intention or situation, the corresponding components may be combined into one unit or divided into sub units according to a function.
도 2를 참조하면, 제1기기(200)는 일 예로, 웹브라우저(204)와 웹소켓 서버(206)를 포함한다. 여기서, 상기 웹 브라우저(204)는 웹 응용프로그램을 구동할 수 있는 구성요소에 해당하며, 상기 웹소켓 서버(206)는 본 발명의 실시 예에 따라 다른 기기의 응용프로그램과, 상기 제1기기(200)의 응용프로그램간 통신을 위해서 추가된 구성요소이다.Referring to FIG. 2, the
상기한 바와 같은 제1기기(200)의 구성과 비교하여, 제2기기(210)는 일 예로, 웹브라우저(212)를 포함하도록 구성한다. 상기 제1기기(200)와 마찬가지로 상기 웹브라우저(212)는 웹 응용프로그램을 구동할 수 있는 구성요소이다. 이하, 명세서에서는 웹 응용프로그램에 대해 예로 들어, 응용프로그램간 통신으로 설명하고 있다. 그러나, 본 발명에서 설명하는 절차들과 API(Application Program Interface)를 지원하는 응용프로그램일 경우, 어떠한 응용프로그램도 적용될 수 있다. 예를 들어, 안드로이드 OS(Operation System)나 아이폰의 OS(iOS)에서 동작하는 네이티브 응용프로그램 등이 해당한다.Compared with the configuration of the
여기서, 상기 제1기기(200)와 제2기기(210)의 응용프로그램(웹 응용프로그램)은 서로간 직접 통신을 할 수 없기 때문에, 상기 제1기기(200)에 존재하는 웹 소켓 서버(206)를 프락시(Proxy)처럼 사용하여 통신한다. 이때, 상기 제1기기(200)의 웹소켓 서버(206)와 상기 웹브라우저(204) 및 상기 제2기기(210)의 웹브라우저(212 또는 네이티브 응용프로그램, 이하 생략) 사이에는 WS(WebServer) 프로토콜을 사용하여 통신한다.Here, since the application programs (web application programs) of the
이하, 설명의 편의상, 본 발명의 실시 예들에 따른 응용프로그램들 간의 통신을 지원하는 장치 및 동작들은 도 2의 구성 예를 기반으로 설명하기로 한다.Hereinafter, for convenience of description, devices and operations supporting communication between application programs according to embodiments of the present invention will be described based on the configuration example of FIG. 2.
도 3은 본 발명의 실시 예에 따라 제1기기에서 웹소켓 서버를 구동 및 정지하는 동작 흐름도이다. 설명의 편의상, 상기 제1기기는 DTV(Digital Television)이고, 제2 기기가 모바일(Mobile) 기기인 경우를 가정하여 설명하기로 한다. 그러나, 본 발명의 실시 예가 적용되는 제 1기기와 제 2기기는 해당 기술을 지원하는 어떠한 디바이스(device)도 될 수 있다.3 is an operation flowchart of starting and stopping a web socket server in a first device according to an embodiment of the present invention. For convenience of description, it will be described on the assumption that the first device is a digital television (DTV) and the second device is a mobile device. However, the first device and the second device to which the embodiment of the present invention is applied may be any device supporting the corresponding technology.
먼저, 제1기기(310)에서 웹소켓 서버(304)의 구동 동작을 설명하기로 한다. 도 3을 참조하면, 322단계에 제1기기(310)의 웹 응용프로그램(302)은 API를 통해 상기 제1기기(310)의 웹소켓 서버(304)를 구동한다. 여기서, API는 하기 [표1]에 나타낸 바와 같이, start API를 사용할 수 있다.First, the driving operation of the
이때, 상기 제1기기(300)의 응용프로그램(302)과 연동을 위해 상기 응용프로그램의 ID(IDentifier)를 함께 제공한다. 여기서, 응용프로그램의 ID는, 실제 구현 시 해당 응용프로그램을 식별할 수 있는 ID나 URL(Uniform resource Locator) 등이 될 수 있다. 그러면, 웹소켓 서버(304)는 상기 응용프로그램의 ID에 대응하는 특정 응용프로그램과 통신하기 위해서 자신을 구동시키고, 이에 대한 결과를 상기 제1기기(300)의 응용 프로그램(302)에게 전송한다.At this time, an ID (IDentifier) of the application is provided together with the
다음으로, 상기 제1기기(300)에서 웹소켓 서버(304)를 정지하는 동작을 설명하기로 한다.Next, the operation of stopping the
326단계에서 제1기기(300)의 웹 응용프로그램(302)은 API를 통해 상기 제1기기(310)의 웹소켓 서버(304)를 정지한다. 이때, 상기 웹 응용프로그램(302)에서 호출하는 API는 상기 [표1]과 같이 shutdown WS를 사용할 수 있다. 마찬가지로, 상기 제1기기(300)의 상기 응용프로그램의 ID를 함께 제공한다. 그러면, 웹소켓 서버(310)는 상기 응용 프로그램의 ID에 대응하는 응용 프로그램과의 통신을 중단하고, 이에 대한 결과를 상기 제1기기(300)의 응용 프로그램(302)에게 전송한다.In
도 3의 실시 예에서는 특정 응용프로그램을 위한 웹소켓 서버를 제1기기가 직접 구동 및 정지시키는 방법에 대해 설명하였다. 그러나, 다른 실시 예에서는 공용으로 사용할 수 있는 웹소켓 서버를 제2기기가 먼저 구동시킨 후, 상기 켜 놓고, 다음의 절차에서 설명할 API들을 이용하여 제2기기의 응용프로그램이 상기 제1기기의 웹소켓 서버와 연동될 수 있다.In the embodiment of FIG. 3, a method for directly driving and stopping a web socket server for a specific application program by a first device has been described. However, in another embodiment, after the second device first drives the websocket server that can be used in common, the second device is turned on, and the application program of the second device is used by the APIs described in the following procedure. It can be linked with the WebSocket server.
도 4는 본 발명의 실시 예에 따라 제2기기의 응용프로그램이 제1기기의 응용프로그램과 통신하는 동작 흐름도이다. 참고로, 하기 <표 2>는 응용 프로그램들 간의 통신을 위한 API들의 예를 나타낸 표이다.4 is a flowchart illustrating an operation in which an application program of the second device communicates with an application program of the first device according to an embodiment of the present invention. For reference, the following <Table 2> is a table showing examples of APIs for communication between application programs.
False: 특정채널이 생성되어 있지 않음True: a specific channel is created
False: a specific channel is not created
도 4를 참조하면, 420단계에서 제2기기(410)의 응용프로그램(412)은 웹소켓 객체를 생성하고 open() API를 호출하여 제1기기(400)의 웹소켓 서버(404)에게 통신 채널의 생성을 요청한다. 이때, open() API는 상기 제1기기(400)의 응용프로그램 ID(AppID)와, 제2기기(410)의 응용 프로그램의 ID(CSAppID)를 전달한다. 그러면, 422단계에서, 상기 제1기기(400)의 응용프로그램(402)은상기 AppID와 상기 CSAppID를 이용하여 웹소켓 객체를 생성하고, open() API를 호출하여 상기 제1기기(400)의 웹소켓(404)에게 통신 채널의 생성을 요청한다. 마찬가지로, 상기 응용프로그램(402)의 open() API역시 상기 AppID와 상기 CSAppID를 전달한다.Referring to FIG. 4, in
그러면, 424단계에서 상기 제1기기(400)의 웹소켓 서버(404)는 AppID에 상응하는 상기 제1기기(400)의 응용프로그램과, 상기 CSAppID에 상응하는 상기 제2기기(410)의 응용프로그램(412) 간에 통신 채널을 생성한다. 상기한 바와 같은 과정으로 통신 채널이 생성되면, 제2기기(410)의 응용프로그램은 상기 통신 채널을 통해 상기 제1기기(400)의 응용프로그램과 통신할 수 있다. 420단계 내지 424단계를 통해서 제1기기(400)와 제2기기(410)의 응용프로그램에서 웹소켓 서버에 연결하는 방법은 하기 <표3>과 같이 나타내어질 수 있다.Then, in
ws:https://192.168.1.52/AppID/CSAppIDHow to connect to the web socket when the address of the web socket server is ws:https://192.168.1.52 (first device and second device)
ws:https://192.168.1.52/AppID/CSAppID
이후, 상기 제2기기(410)의 응용프로그램(412)에서 상기 제1기기(400)의 응용프로그램(402)으로 전송할 데이터가 발생한 경우, 426단계에서 상기 제2기기(410)의 응용프로그램(412)은 send() API를 호출해 상기 발생한 데이터를 상기 웹소켓 서버(404)에게 전송한다. 그러면, 428단계에서 상기 웹소켓 서버(404)는 Event(on massage) API를 호출하여 상기 제1기기(400)의 응용프로그램(402)에게 전달함에 따라 제1기기(400)의 응용프로그램(402)에 수신된 데이터가 있음을 알린다. 그러면, 430단계에서 상기 제1기기(400)의 응용프로그램(402)은 상기 수신된 데이터를 응용프로그램에 반영한다. 일 예로, 상기 응용프로그램(402)이 웹 응용프로그램인 경우, 430단계의 과정은 DOM(Document Object Model) Update를 통해 이루어진다.한편, 상기 1기기(400)의 응용프로그램(402)에서 변경된 사항이 있는 경우, 432단계에서 send() API를 호출하여, 변경된 사항에 대한 정보를 상기 웹 소켓 서버(404)로 전달한다. 그러면, 434단계에서 상기 1기기(400)의 웹소켓 서버(404)는, 상기 제2기기와 앞서 설명한 과정을 통해서 생성된 상기 통신채널을 통해 상기 정보를 상기 제2기기의 응용프로그램(412)에게 전송한다. 이때, 상기 정보는 Event(on message) API를 통해서 전달된다. 436단계에서 상기 제2기기(410)의 응용프로그램(412)은 상기 정보를 수신하여, 430단계와 유사하게 자신의 응용프로그램에 반영한다.Thereafter, when data to be transmitted from the
이호, 모든 통신이 완료된 경우, 438단계에서 상기 제2기기(410)의 응용프로그램(412)은 close() API를 호출하여 제1기기의 응용프로그램과의 통신채널의 종료 요청을 상기 웹소켓 서버(404)에게 전송한다. 마찬가지로, 440단계에서 상기 제1기기(400)의 응용프로그램(410)역시 close() API를 호출하여 제1기기의 응용프로그램과의 통신채널의 종료 요청을 상기 웹소켓 서버(404)에게 전송한다. 그러면, 442단계에서 상기 웹소켓 서버(404)는 상기 제1기기(400)의 응용프로그램(402)과 상기 제2기기(410)의 응용프로그램(412)간의 연결을 종료한다.When all communication is completed, in
도 5는 본 발명의 실시 예에 따른 제1기기의 동작 흐름도이다.5 is an operation flowchart of a first device according to an embodiment of the present invention.
도 5를 참조하면, 500단계에서 제1기기는 HTML 페이지를 수신한다. 상기 HTML 페이지는 상기 제1기기의 응용프로그램을 지시하는 응용프로그램 ID를 포함한다. 그러면, 502단계에서 상기 제1기기는 상기 HTML 페이지의 API 호출에 따라 상기 응용프로그램 ID를 이용하여 상기 웹소켓 서버를 구동시킨다.Referring to FIG. 5, in
그리고, 504단계에서 상기 제1기기의 응용프로그램은 네트워크에서 가용한 제2기기를 검색한다. 그리고, 506단계에서 상기 제1기기의 응용프로그램은, 상기 검색된 제2기기로 상기 제2기기의 응용프로그램 구동 정보를 송신한 후, 상기 제1기기는, 508단계에서 사용자 입력을 요구하는 HTML 페이지를 자신의 디스플레이 화면에 표시한다. 510단계에서 상기 제1기기는 사용자의 입력을 수신하고, 512단계에서 상기 사용자의 입력에 의해 제2기기의 응용프로그램으로 전송할 데이터의 발생 유무를 확인한다. 상기 확인 결과, 데이터가 발생하지 않은 경우, 516단계로 진행한다.Then, in
상기 확인 결과, 상기 데이터가 발생한 경우, 514단계에서 상기 제1기기는 502단계에서 구동시킨 웹소켓 서버로 상기 데이터를 송신한다. 그리고, 516단계로 진행하여, 상기 제1기기는 상기 웹소켓 서버로부터 수신할 데이터가 있는 지 여부를 확인한다. 상기 확인 결과, 수신할 데이터가 존재하지 않는 경우, 508단계로 진행하여, 다른 사용자 입력을 대기할 수 있다.When the data is generated as a result of the check, in
상기 확인 결과, 수신할 데이터가 발생한 경우, 518단계에서 상기 제1기기는 상기 웹소켓 서버를 통해서 데이터를 수신한다. 그리고, 520단계에서 상기 제1기기는 상기 수신된 데이터로부터 획득한 응용프로그램의 ID가 상기 제1 기기의 응용프로그램 ID인지 판단한다. 상기 판단 결과, 상기 데이터로부터 획득한 응용프로그램 ID가 상기 제1기기의 응용프로그램 ID인 경우, 522단계에서 상기 제기기는 DOM을 업데이트하여 상기 수신된 데이터를 반영한 HTML을 508단계에서 자신의 화면을 통해서 표시한다.As a result of the check, if data to be received occurs, in
도 6은 본 발명의 실시 예에 따른 제2기기의 동작 흐름도이다.6 is an operation flowchart of a second device according to an embodiment of the present invention.
도 6을 참조하면, 일 예로, 상기 제2기기는 600단계에서 도5의 506단계에 의해서 상기 제1기기가 송신한 정보로서 HTML 페이지를 수신한다. 여기서는 설명의 편의상, 상기 제2기기의 응용프로그램을 웹 응용프로그램으로 가정하여 HTML 페이지를 수신하는 것으로 설명하였다. 그러나, 다른 예로, 상기 제2기기가 600단계에서 상기 제1기기를 통해서 수신된 정보가 제2기기의 네이티브 응용프로그램을 가리키는 경우, 해당 네이티브 응용프로그램을 구동하게 된다.Referring to FIG. 6, as an example, the second device receives an HTML page as information transmitted by the first device in
그리고, 602단계에서 상기 제2기기는 상기 HTML로부터 획득한 제1기기의 응용프로그램 ID와 제2기기의 응용프로그램ID를 이용하여 상기 제1기기의 웹소켓 서버와의 연결을 호출한다.Then, in
604단계에서 상기 제2기기는 상기 제1기기의 응용프로그램 ID와 연동할 사용자 입력을 요구하는 HTML 페이지를 자신의 화면에 표시한다. 606단계에서 상기 제2기기는 사용자의 입력의 수신을 감지하면, 608단계에서 상기 사용자의 입력에 따라 제1기기로 전송할 데이터가 존재하는 지 여부를 확인한다. 상기 확인 결과, 전송할 데이터가 존재하지 않는 경우, 상기 제2기기는 612단계로 진행한다.In
상기 확인 결과, 상기 사용자의 입력에 따라 상기 제1기기로 전송할 데이터가 존재하는 경우, 610단계에서 상기 제2기기는 602단계에서 연결한 상기 제1기기의 웹소켓 서버를 통해서 데이터를 송신한다.As a result of the check, if there is data to be transmitted to the first device according to the user's input, in
한편, 612단계에서 상기 제2기기는 상기 사용자 입력에 따라 수신할 데이터가 있는 경우, 614단계에서 해당 데이터를 수신한다. 그리고, 616단계에서 상기 제2기기는 상기 수신된 데이터를 반영하여 DOM을 업데이트한다. 이후, 604단계로 복귀하여 업데이트 결과를 기반으로 HTML을 재구성하여 자신의 화면에 표시한다.Meanwhile, in
한편, 상기 612단계에서의 확인 결과, 수신할 데이터가 존재하지 않으면, 상기 제2기기는 상기 604단계로 복귀하여 다른 사용자 입력을 대기할 수 있다.Meanwhile, as a result of the check in
도 7은 본 발명이 실제 적용된 실시 예를 도시한 도면이다.7 is a view showing an embodiment to which the present invention is actually applied.
도 7을 참조하면, 일 예로, 사용자가 제1기기(700)로 방송 콘텐츠를 수신하면서, 제2기기(705)를 통해 상기 제1기기를 제어하는 경우를 가정하자. 구체적인 예로, 상기 사용자는 사용자 입력을 위한 조작이 편리한 상기 제2기기(705)를 이용하여 상기 제1기기(700)에게 리모트 콘트롤, 문자 입력 등을 위한 사용자 입력을 수행할 수 있다. 또한, 상기 제1기기(700)의 방송 콘텐츠에 따라 디스플레이되는 화면을 선택하거나 투표 등을 상기 제2기기(705)를 이용하여 실시하는 등의 다양한 실시 예가 가능하게 된다.Referring to FIG. 7, as an example, assume that a user controls the first device through the
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the detailed description of the present invention, although specific embodiments have been described, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the claims and equivalents.
Claims (12)
상기 제 1 디바이스에 의해, 상기 제 2 디바이스 내의 웹소켓 서버를 통해 상기 제 1 어플리케이션을 상기 제 2 어플리케이션에 접속시키는 단계; 및
상기 제 1 디바이스에 의해, 상기 웹소켓 서버를 통해 상기 제 1 어플리케이션으로부터 상기 제 2 어플리케이션으로 데이터를 전송하거나, 또는 상기 제 1 디바이스에 의해, 상기 웹소켓 서버를 통해 상기 제 2 어플리케이션으로부터 상기 제 1 어플리케이션에 대한 데이터를 수신하는 단계를 포함하고,
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버가 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속 요청을 수신하는 것에 기초하여 제공되고,
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버의 포트, 및 웹소켓 프로토콜을 지원하는 특정 정보에 기초하는,
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
A method for communication between a first application on a first device and a second application on a second device,
Connecting, by the first device, the first application to the second application through a websocket server in the second device; And
The first device transmits data from the first application to the second application through the websocket server, or by the first device, from the second application through the websocket server to the first application. And receiving data for the application,
The connection between the first application and the second application through the websocket server is provided based on the websocket server receiving a connection request from each of the first application and the second application,
The connection between the first application and the second application through the websocket server is based on the port of the websocket server and specific information supporting the websocket protocol.
A method for communication between a first application on a first device and a second application on a second device.
상기 웹소켓 서버와 상기 제 1 어플리케이션 사이의 제 1 접속은 상기 웹소켓 서버의 프로토콜을 이용하여 제공되고, 그리고
상기 웹소켓 서버와 상기 제 2 어플리케이션 사이의 제 2 접속은 상기 웹소켓 서버의 상기 프로토콜을 이용하여 제공되는,
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
According to claim 1,
The first connection between the websocket server and the first application is provided using the protocol of the websocket server, and
A second connection between the websocket server and the second application is provided using the protocol of the websocket server,
A method for communication between a first application on a first device and a second application on a second device.
상기 제 1 접속 및 상기 제 2 접속은 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 통신 채널을 설정하기 위해 상기 웹소켓 서버에 의해 중계되는(relayed),
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
According to claim 2,
The first connection and the second connection are relayed by the websocket server to establish a communication channel between the first application and the second application,
A method for communication between a first application on a first device and a second application on a second device.
상기 제 1 접속 및 상기 제 2 접속은 동일한 채널 식별자로서 할당되는,
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
The method of claim 3,
The first connection and the second connection are assigned as the same channel identifier,
A method for communication between a first application on a first device and a second application on a second device.
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 접속은 상기 웹소켓 서버에 의해 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속해제(disconnection) 요청을 수신하는 것에 의해 응답하여 접속해제되는,
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
According to claim 1,
The connection between the first application and the second application is disconnected in response by receiving a disconnection request from each of the first application and the second application by the websocket server,
A method for communication between a first application on a first device and a second application on a second device.
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 사용자 요청을 위하여 디스플레이된 요청에 응답하여 상기 제 1 디바이스의 사용자 또는 상기 제 2 디바이스의 사용자 중 적어도 하나에 의한 사용자 입력 이후에 제공되는,
제 1 디바이스 상의 제 1 어플리케이션과 제 2 디바이스 상의 제 2 어플리케이션 사이의 통신을 위한 방법.
According to claim 1,
The connection between the first application and the second application through the websocket server is after a user input by at least one of a user of the first device or a user of the second device in response to a displayed request for a user request. Provided on,
A method for communication between a first application on a first device and a second application on a second device.
통신 인터페이스; 및
상기 통신 인터페이스에 연결된 제어기를 포함하고,
상기 제어기는:
상기 제 2 디바이스 내의 웹소켓 서버를 통해 상기 제 1 어플리케이션을 상기 제 2 어플리케이션에 접속시키고; 그리고
상기 웹소켓 서버를 통해 상기 제 1 어플리케이션으로부터 상기 제 2 어플리케이션으로 데이터를 전송하거나, 또는 상기 웹소켓 서버를 통해 상기 제 2 어플리케이션으로부터 상기 제 1 어플리케이션에 대한 데이터를 수신하도록 구성되고,
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버가 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속 요청을 수신하는 것에 기초하여 제공되고,
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 상기 웹소켓 서버의 포트, 및 웹소켓 프로토콜을 지원하는 특정 정보에 기초하는,
제 1 디바이스.
The first device for communication between a first application on a first device and a second application on a second device,
Communication interface; And
And a controller connected to the communication interface,
The controller:
Connect the first application to the second application through a websocket server in the second device; And
It is configured to transmit data from the first application to the second application through the web socket server, or to receive data for the first application from the second application through the web socket server,
The connection between the first application and the second application through the websocket server is provided based on the websocket server receiving a connection request from each of the first application and the second application,
The connection between the first application and the second application through the websocket server is based on the port of the websocket server and specific information supporting the websocket protocol.
First device.
상기 웹소켓 서버와 상기 제 1 어플리케이션 사이의 제 1 접속은 상기 웹소켓 서버의 프로토콜을 이용하여 제공되고, 그리고
상기 웹소켓 서버와 상기 제 2 어플리케이션 사이의 제 2 접속은 상기 웹소켓 서버의 상기 프로토콜을 이용하여 제공되는,
제 1 디바이스.
The method of claim 7,
The first connection between the websocket server and the first application is provided using the protocol of the websocket server, and
A second connection between the websocket server and the second application is provided using the protocol of the websocket server,
First device.
상기 제 1 접속 및 상기 제 2 접속은 상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 통신 채널을 설정하기 위해 상기 웹소켓 서버에 의해 중계되는(relayed),
제 1 디바이스.
The method of claim 8,
The first connection and the second connection are relayed by the websocket server to establish a communication channel between the first application and the second application,
First device.
상기 제 1 접속 및 상기 제 2 접속은 동일한 채널 식별자로서 할당되는,
제 1 디바이스.
The method of claim 9,
The first connection and the second connection are assigned as the same channel identifier,
First device.
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 접속은 상기 웹소켓 서버에 의해 상기 제 1 어플리케이션 및 상기 제 2 어플리케이션의 각각으로부터 접속해제(disconnection) 요청을 수신하는 것에 의해 응답하여 접속해제되는,
제 1 디바이스.
The method of claim 7,
The connection between the first application and the second application is disconnected in response by receiving a disconnection request from each of the first application and the second application by the websocket server,
First device.
상기 제 1 어플리케이션과 상기 제 2 어플리케이션 사이의 상기 웹소켓 서버를 통한 접속은 사용자 요청을 위하여 디스플레이된 요청에 응답하여 상기 제 1 디바이스의 사용자 또는 상기 제 2 디바이스의 사용자 중 적어도 하나에 의한 사용자 입력 이후에 제공되는,
제 1 디바이스.
The method of claim 7,
The connection between the first application and the second application through the websocket server is after a user input by at least one of a user of the first device or a user of the second device in response to a displayed request for a user request. Provided on,
First device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200067645A KR102246755B1 (en) | 2020-06-04 | 2020-06-04 | An apparatus and method for communication between application to application for each of devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200067645A KR102246755B1 (en) | 2020-06-04 | 2020-06-04 | An apparatus and method for communication between application to application for each of devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130112794A Division KR102121472B1 (en) | 2013-09-23 | 2013-09-23 | An apparatus and method for communication between application to application for each of devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200071053A true KR20200071053A (en) | 2020-06-18 |
KR102246755B1 KR102246755B1 (en) | 2021-05-03 |
Family
ID=71143361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200067645A KR102246755B1 (en) | 2020-06-04 | 2020-06-04 | An apparatus and method for communication between application to application for each of devices |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102246755B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060031913A (en) * | 2004-10-11 | 2006-04-14 | 삼성전자주식회사 | Apparatus and method for performing an one to one name-based socket-communication |
KR20070060957A (en) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | Method for remote control and apparatus thereof |
KR20120080892A (en) * | 2011-01-10 | 2012-07-18 | 주식회사 로직플랜트 | System and method for network communicating between a communication device and information device |
JP2013066159A (en) * | 2011-08-26 | 2013-04-11 | Nippon Hoso Kyokai <Nhk> | Receiver |
-
2020
- 2020-06-04 KR KR1020200067645A patent/KR102246755B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060031913A (en) * | 2004-10-11 | 2006-04-14 | 삼성전자주식회사 | Apparatus and method for performing an one to one name-based socket-communication |
KR20070060957A (en) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | Method for remote control and apparatus thereof |
KR20120080892A (en) * | 2011-01-10 | 2012-07-18 | 주식회사 로직플랜트 | System and method for network communicating between a communication device and information device |
JP2013066159A (en) * | 2011-08-26 | 2013-04-11 | Nippon Hoso Kyokai <Nhk> | Receiver |
Non-Patent Citations (1)
Title |
---|
Fukai 외 4명. 'Web Browser based GUI for TV'. 2012 IEEE Global Conference on Consumer Electronics, 2012.10., pp.579-580. * |
Also Published As
Publication number | Publication date |
---|---|
KR102246755B1 (en) | 2021-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102121472B1 (en) | An apparatus and method for communication between application to application for each of devices | |
EP1927234B1 (en) | Apparatus and method for providing remote user interface | |
US9245047B2 (en) | Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface | |
US8966376B2 (en) | Methods and systems for remote desktop session redrawing via HTTP headers | |
US20120151369A1 (en) | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via http api utilizing a transcoding server | |
US20120151371A1 (en) | Methods and systems for conducting a remote desktop session via html that supports a 2d canvas and dynamic drawing | |
CN103067448B (en) | device control method and mobile communication terminal | |
CN106028106A (en) | Television control method and device | |
CN103051694B (en) | The method and mobile communication terminal of mobile communication terminal control device | |
CN106341453A (en) | High-speed virtual desktop agent building method and high-speed virtual desktop agent building system based on HTML5 | |
CN111221490A (en) | Multi-screen linkage method and system | |
CN103607625A (en) | A system realizing multi-screen cooperation based on a hypertext markup language and a method thereof | |
KR102246755B1 (en) | An apparatus and method for communication between application to application for each of devices | |
KR100365137B1 (en) | System and method for maintaining a mobile internet connection | |
KR101231203B1 (en) | System and method for network communicating between a communication device and information device | |
JP2002041377A (en) | Data communication system, data processor used for the communication system, session maintenance method using browser and recording medium | |
KR100350890B1 (en) | System for mobile communication-based matching service for plural users | |
CN117395235B (en) | Cloud application system and method based on remote desktop and web technology | |
KR20010026676A (en) | PDA with a function of internet-searching and Internet searching System using a computer and the PDA and method for internet-searching using the same | |
JP2022115870A (en) | Display device | |
JP2003058439A (en) | Pseudo asynchronous bidirectional communication system in unidirectional request response type communication, communication method, server device, client device and client program | |
JP2005025463A (en) | Server client system and server and method and program for remotely operating application of server device by client | |
JPH1146358A (en) | Connection device for image jointing system | |
KR19990047325A (en) | Two-way communication method using Java applet in web environment | |
JP2001142813A (en) | System for supporting service based on connection type protocol on web service based on non-connection type protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |