WO2015056849A1 - 브라우저간의 입출력을 연계하는 방법 및 시스템 - Google Patents

브라우저간의 입출력을 연계하는 방법 및 시스템 Download PDF

Info

Publication number
WO2015056849A1
WO2015056849A1 PCT/KR2014/001443 KR2014001443W WO2015056849A1 WO 2015056849 A1 WO2015056849 A1 WO 2015056849A1 KR 2014001443 W KR2014001443 W KR 2014001443W WO 2015056849 A1 WO2015056849 A1 WO 2015056849A1
Authority
WO
WIPO (PCT)
Prior art keywords
browser
web page
canvas
dom node
changed
Prior art date
Application number
PCT/KR2014/001443
Other languages
English (en)
French (fr)
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
Priority claimed from KR20130124856A external-priority patent/KR20150045564A/ko
Priority claimed from KR20130124857A external-priority patent/KR20150045565A/ko
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Publication of WO2015056849A1 publication Critical patent/WO2015056849A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

브라우저간의 입출력을 연계하는 방법은, 중계 서버를 통하여 소스 브라우저(Source Browser)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(Canvas Browser)로 제공하고, 상기 캔버스 브라우저에 의해 제공되는 일부 영역에서 발생하는 입력 이벤트를 검출하는 단계; 상기 입력 이벤트에 대응하는 대상 DOM(Document Object Model) 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 상기 중계 서버로 전송하는 단계; 상기 소스 브라우저 상에서 상기 중계 서버로부터 상기 대상 DOM 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 수신하여, 상기 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계; 상기 탐색된 대상 DOM 노드에 상기 입력 이벤트를 트리거(Trigger)하여 변이 이벤트(Mutation Event)를 발생시키는 단계; 및 상기 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 상기 중계 서버로 전송하는 단계를 포함한다.

Description

브라우저간의 입출력을 연계하는 방법 및 시스템
본 발명의 실시예들은 브라우저간의 입출력을 연계하는 시스템 및 그 방법에 관한 기술로서, 소스 브라우저와 연결된 캔버스 브라우저에서 발생하는 입력 이벤트를 소스 브라우저에 연결하고, 소스 브라우저에서 발생하는 출력 이벤트를 캔버스 브라우저로 연결하는 기술에 관한 것이다.
브라우저에서 웹 페이지를 제공하는 기술은 웹 페이지에 해당하는 HTML(hyper text markup language) 문서를 통해 인터페이스가 이루어지는 것을 특징으로 한다. HTML 문서는 미리 정의된 정적인 태그(tag)를 이용한 표현과 스크립트(JavaScript)를 통해 표현된 컨텐츠의 동적인 변환이 가능하다. 이러한 스크립트는 HTML 태그를 통해 표현된 문서에 대한 DOM(Document Object Model) 노드를 지원함으로써 쉽고 자유로운 변환을 가능하게 한다.
그러나, HTML 문서는 하나의 브라우저에서 표현되는 것을 가정으로 W3C(world wide web consortium) 표준 규약이 정해져 있기 때문에 브라우저간의 입출력을 연계하여, 웹 페이지를 공유, 이동 및 결합을 수행하고자 하는 경우, 브라우저 자체적으로 이러한 기능을 지원하지 않는다면, 불가능하다는 한계를 갖는다.
이에, 본 명세서에서는 브라우저간의 입출력을 연계하여, 웹 페이지를 공유하는 기술을 제안한다.
본 발명의 실시예에 따르면, 브라우저간의 입출력을 연계하여, 웹 페이지를 공유하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예에 따르면, 복수의 소스 브라우저들 각각에서 제공하는 웹 페이지 중 일부 영역을 결합하여, 캔버스 브라우저를 통하여 일부 영역들이 결합된 새로운 웹 페이지를 제공하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예에 따르면, 캔버스 브라우저에서 발생하는 입력 이벤트에 대응하는 소스 브라우저의 대상 DOM 노드를 탐색하여, 캔버스 브라우저에서 발생한 입력 이벤트를 소스 브라우저에 적용하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예에 따르면, 소스 브라우저에서 발생하는 변이 이벤트에 응답하여, 변화된 대상 DOM 노드 및 변화된 웹 페이지를 캔버스 브라우저에 적용하는 방법, 장치 및 시스템을 제공한다.
본 발명에 실시예에 따르면, 브라우저간의 입출력을 연계하는 방법은 중계 서버를 통하여 소스 브라우저(Source Browser)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(Canvas Browser)로 제공하고, 상기 캔버스 브라우저에 의해 제공되는 일부 영역에서 발생하는 입력 이벤트를 검출하는 단계; 상기 입력 이벤트에 대응하는 대상 DOM(Document Object Model) 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 상기 중계 서버로 전송하는 단계; 상기 소스 브라우저 상에서 상기 중계 서버로부터 상기 대상 DOM 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 수신하여, 상기 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계; 상기 탐색된 대상 DOM 노드에 상기 입력 이벤트를 트리거(Trigger)하여 변이 이벤트(Mutation Event)를 발생시키는 단계; 및 상기 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 상기 중계 서버로 전송하는 단계를 포함한다.
상기 브라우저간의 입출력을 연계하는 방법은 상기 캔버스 브라우저 상에서 상기 중계 서버로부터 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 상기 캔버스 브라우저에 적용하는 단계를 더 포함할 수 있다.
상기 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계는 상기 소스 브라우저의 확장 기능(extension)을 이용하여 상기 소스 브라우저에 의해 제공되는 상기 웹 페이지에 해당하는 HTML(Hyper Text Markup Language) 문서에 포함되는 복수의 DOM 노드들 중 상기 대상 DOM 노드를 탐색하는 단계를 포함할 수 있다.
본 발명에 실시예에 따르면, 브라우저간 웹 어플리케이션 실시간 결합 방법은 제1 소스 브라우저(Source Browser)에 의해 제공되는 제1 웹 페이지 중 제1 일부 영역 및 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지 중 제2 일부 영역을 중개 서버를 통하여 캔버스 브라우저로 제공하는 단계; 상기 캔버스 브라우저에 의해 제공되는 상기 제1 일부 영역에서 발생하는 제1 변이 이벤트를 검출하는 단계; 상기 제1 변이 이벤트에 응답하여, 상기 제1 변이 이벤트에 대응하는 입력 이벤트를 상기 제2 일부 영역에서 트리거(Trigger)하는 단계; 상기 입력 이벤트에 대응하는 대상 DOM 노드(Document Object Model)에 대한 정보 및 상기 입력 이벤트에 대한 정보를 상기 중계 서버로 전송하는 단계; 상기 제2 일부 영역에 대응하는 상기 제2 소스 브라우저 상에서 상기 중계 서버로부터 상기 대상 DOM 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 수신하여, 상기 제2 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계; 및 상기 탐색된 대상 DOM 노드에 상기 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시키는 단계를 포함한다,
상기 브라우저간 웹 어플리케이션 실시간 결합 방법은 상기 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 상기 중계 서버로 전송하는 단계; 및 상기 캔버스 브라우저 상에서 상기 중계 서버로부터 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 상기 캔버스 브라우저에 적용하는 단계를 더 포함할 수 있다.
상기 제1 일부 영역 및 상기 제2 일부 영역을 상기 캔버스 브라우저로 제공하는 단계는 상기 캔버스 브라우저에 의해 제공되는 상기 제1 일부 영역 및 상기 제2 일부 영역을 연관시키는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 브라우저간의 입출력을 연계하여, 웹 페이지를 공유하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예에 따르면, 복수의 소스 브라우저들 각각에서 제공하는 웹 페이지 중 일부 영역을 결합하여, 캔버스 브라우저를 통하여 일부 영역들이 결합된 새로운 웹 페이지를 제공하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예에 따르면, 캔버스 브라우저에서 발생하는 입력 이벤트에 대응하는 소스 브라우저의 대상 DOM 노드를 탐색하여, 캔버스 브라우저에서 발생한 입력 이벤트를 소스 브라우저에 적용하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예에 따르면, 소스 브라우저에서 발생하는 변이 이벤트에 응답하여, 변화된 대상 DOM 노드 및 변화된 웹 페이지를 캔버스 브라우저에 적용하는 방법, 장치 및 시스템을 제공할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 시스템을 나타낸 개념도이다.
도 2는 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 방법을 설명하기 위한 실시도이다.
도 3은 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 방법을 나타낸 플로우 차트이다.
도 4는 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 시스템을 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템을 나타낸 개념도이다.
도 6은 본 발명의 일실시예에 있어서, 제1 웹 페이지 및 제2 웹 페이지를 결합하여 캔버스 브라우저에 의해 제공되는 새로운 웹 페이지를 생성하는 방법을 설명하기 위한 실시도이다.
도 7은 본 발명의 일실시예에 있어서, 소스 브라우저들과 캔버스 브라우저 사이에서 웹 페이지를 공유하는 방법을 설명하기 위한 실시도이다.
도 8은 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 방법을 나타낸 플로우 차트이다.
도 9는 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 시스템을 나타낸 개념도이다.
도 1을 참조하면, 중계 서버(110)는 소스 브라우저(120)와 캔버스 브라우저(130)를 연결하여, 웹 페이지의 부분적인 공유를 지원할 수 있다. 여기서, 소스 브라우저(120)에 의해 제공되는 웹 페이지의 일부 영역이 중계 서버(110)를 통하여 캔버스 브라우저(130)에 제공되어, 캔버스 브라우저(130)는 소스 브라우저(120)에 의해 제공되는 웹 페이지의 일부 영역을 렌더링(Rendering)할 수 있다.
이 때, 소스 브라우저(120) 및 캔버스 브라우저(130)는 동일 기종의 통신 단말에서 실행되거나, 서로 다른 기종의 통신 단말에서 실행될 수 있으며, 또한, 동일 사용자의 통신 단말에서 실행되거나, 서로 다른 사용자의 통신 단말에서 실행될 수 있다.
소스 브라우저(120) 및 캔버스 브라우저(130) 각각이 실행되는 경우, 소스 브라우저(120)는 소스 웹 어플리케이션(121)을 이용하여 웹 페이지를 렌더링할 수 있고, 캔버스 브라우저(130)는 캔버스 웹 어플리케이션(131)을 이용하여 웹 페이지를 렌더링할 수 있다.
소스 브라우저(120)는 캔버스 브라우저(130)와 중계 서버(110)를 통하여 연결되어, 캔버스 브라우저(130)에 의해 제공되는 웹 페이지의 일부 영역에서 발생한 입력 이벤트가 소스 브라우저(120)로 전송되고, 소스 브라우저(120)에 의해 제공되는 웹 페이지에서 입력 이벤트에 응답하여 발생된 변이 이벤트가 캔버스 브라우저(130)로 전송됨으로써, 소스 브라우저(120) 및 캔버스 브라우저(130)간의 입출력이 연계될 수 있다.
구체적으로, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저(120)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(130)로 제공함으로써, 캔버스 브라우저(130)에 의해 제공되는 일부 영역을 설정할 수 있다.
그 후, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저(130)에 의해 제공되는 웹 페이지의 일부 영역에서 발생하는 입력 이벤트를 검출하여, 입력 이벤트에 대응하는 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버(110)를 통하여 소스 브라우저(120)로 전송한다.
소스 브라우저(120) 상에서 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보가 수신되면, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저(120)에 의해 제공되는 웹 페이지 상에서 대상 DOM 노드를 탐색하고, 탐색된 대상 DOM 노드에 입력 이벤트를 트리거하여 변이 이벤트를 발생시킨다.
이 때, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저(120)의 확장 기능(122)을 이용하여 소스 브라우저(120)에 의해 제공되는 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다. 여기서, 확장 기능(122)은 C 언어를 확장한 객체 지향 프로그래밍 언어인 C++(C plus plus)를 기반으로 할 수 있다.
이어서, 브라우저간의 입출력을 연계하는 시스템은 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 하나에 대한 정보를 중계 서버(110)를 통하여 캔버스 브라우저(130)로 전송한다.
그 후, 브라우저간의 입출력을 연계하는 시스템은 수신된, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보에 기초하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 캔버스 브라우저(130)에 적용한다. 이 때, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저(130)에 변화된 대상 DOM 노드가 적용된 경우, 변화된 대상 DOM 노드에 대응하는 웹 페이지의 일부 영역을 제공할 수 있고, 캔버스 브라우저(130)에 변화된 웹 페이지가 적용된 경우, 변화된 웹 페이지를 그대로 제공할 수 있다. 이에 대한 상세한 설명은 도 2를 참조하여 기재하기로 한다.
도 2는 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 방법을 설명하기 위한 실시도이다.
도 2를 참조하면, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저에 의해 제공되는 웹 페이지(210) 중 일부 영역(211)을 캔버스 브라우저로 제공하고, 캔버스 브라우저를 통하여 일부 영역(220)을 렌더링할 수 있다.
이 때, 캔버스 브라우저를 통하여 제공되는 일부 영역(220)에서 입력 이벤트(221)가 발생되면, 브라우저간의 입출력을 연계하는 시스템은 입력 이벤트(211)를 검출하여, 입력 이벤트(211)에 대응하는 대상 DOM 노드에 대한 정보 및 입력 이벤트(211)에 대한 정보를 중계 서버를 통하여 소스 브라우저로 전송한다.
브라우저간의 입출력을 연계하는 시스템은 소스 브라우저에 의해 제공되는 웹 페이지(210) 상에서 대상 DOM 노드를 탐색하고, 탐색된 대상 DOM 노드에 입력 이벤트(212)를 트리거하여 변이 이벤트를 발생시킨다.
이어서, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저에 의해 제공되는 웹 페이지(230) 중 발생된 변이 이벤트를 기초로, 변화된 DOM 노드 또는 변화된 웹 페이지(231) 중 적어도 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지(231) 중 적어도 어느 하나에 대한 정보를 중계 서버를 통하여 캔버스 브라우저로 전송한다.
그 후, 브라우저간의 입출력을 연계하는 시스템은 변화된 대상 DOM 노드 또는 변화된 웹 페이지(231) 중 적어도 어느 하나를 캔버스 브라우저를 통하여 제공되는 일부 영역(240)에 적용할 수 있다.
도 3은 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 방법을 나타낸 플로우 차트이다.
도 3을 참조하면, 브라우저간의 입출력을 연계하는 시스템은 중계 서버를 통하여 소스 브라우저(Source Browser)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(Canvas Browser)에 제공함으로써, 캔버스 브라우저에 의해 제공되는 일부 영역을 설정하고, 캔버스 브라우저에 의해 제공되는 일부 영역에서 발생하는 입력 이벤트를 검출한다(310).
또한, 브라우저간의 입출력을 연계하는 시스템은 입력 이벤트에 대응하는 대상 DOM(Document Object Model) 노드에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버로 전송한다(320).
또한, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저 상에서 중계 서버로부터 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 수신하여, 웹 페이지 상에서 대상 DOM 노드를 탐색한다(330).
이 때, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저의 확장 기능(extension)을 이용하여 소스 브라우저에 의해 제공되는 웹 페이지에 해당하는 HTML(Hyper Text Markup Language) 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다.
또한, 브라우저간의 입출력을 연계하는 시스템은 탐색된 대상 DOM 노드에 입력 이벤트를 트리거(Trigger)하여 변이 이벤트(Mutation Event)를 발생시킨다(340).
또한, 브라우저간의 입출력을 연계하는 시스템은 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 대상 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 중계 서버로 전송한다(350).
또한, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저 상에서 중계 서버로부터 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 캔버스 브라우저에 적용한다(360).
도 4는 본 발명의 일실시예에 있어서, 브라우저간의 입출력을 연계하는 시스템을 나타낸 블록도이다.
도 4를 참조하면, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저 검출부(410), 캔버스 브라우저 전송부(420), 소스 브라우저 탐색부(430), 소스 브라우저 발생부(440), 소스 브라우저 전송부(450) 및 캔버스 브라우저 적용부(460)를 포함한다.
캔버스 브라우저 검출부(410)는 중계 서버를 통하여 소스 브라우저(Source Browser)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(Canvas Browser)로 제공하고, 캔버스 브라우저에 의해 제공되는 일부 영역에서 발생하는 입력 이벤트를 검출한다.
캔버스 브라우저 전송부(420)는 입력 이벤트에 대응하는 대상 DOM(Document Object Model) 노드에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버로 전송한다.
소스 브라우저 탐색부(430)는 소스 브라우저 상에서 중계 서버로부터 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 수신하여, 웹 페이지 상에서 대상 DOM 노드를 탐색한다.
또한, 소스 브라우저 탐색부(430)는 소스 브라우저의 확장 기능을 이용하여 소스 브라우저에 의해 제공되는 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다.
소스 브라우저 발생부(440)는 탐색된 대상 DOM 노드에 입력 이벤트를 트리거(Trigger)하여 변이 이벤트(Mutation Event)를 발생시킨다.
소스 브라우저 전송부(450)는 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 중계 서버로 전송한다.
캔버스 브라우저 적용부(460)는 캔버스 브라우저 상에서 중계 서버로부터 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 캔버스 브라우저에 적용한다.
이와 같이, 본 발명의 실시예에 따르면, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저에서 발생하는 입력 이벤트에 대응하는 소스 브라우저의 대상 DOM 노드를 탐색하여 캔버스 브라우저에서 발생한 입력 이벤트를 소스 브라우저에 의해 제공되는 웹 페이지에 적용함으로써, 소스 브라우저에 의해 제공되는 웹 페이지에서 변이 이벤트를 발생시킬 수 있다.
이 때, 브라우저간의 입출력을 연계하는 시스템은 소스 브라우저에 의해 제공되는 웹 페이지에서 발생하는 변이 이벤트에 응답하여, 변화된 대상 DOM 노드 및 변화된 웹 페이지를 캔버스 브라우저에 적용함으로써, 캔버스 브라우저에 의해 제공되는 웹 페이지에, 입력 이벤트에 응답하여 변화된 웹 페이지를 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 브라우저간의 입출력을 연계하는 시스템은 브라우저간의 웹 어플리케이션을 결합함으로써, 브라우저간의 입출력을 연계할 수 있다. 이하, 브라우저간 웹 어플리케이션 결합 시스템은 브라우저간의 웹 어플리케이션을 결합함으로써, 브라우저간의 입출력을 연계하는 시스템을 의미한다. 이에 대한 상세한 설명은 아래에서 기재하기로 한다.
도 5는 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템을 나타낸 개념도이다.
도 5를 참조하면, 중계 서버(510)는 제1 소스 브라우저(520)와 캔버스 브라우저(540)를 연결하고, 제2 소스 브라우저(530)와 캔버스 브라우저(540)를 연결하여, 제1 소스 브라우저(520)와 캔버스 브라우저(540) 사이 또는 제2 소스 브라우저(530)와 캔버스 브라우저(540) 사이의 웹 페이지의 부분적인 공유를 지원할 수 있다. 여기서, 제1 소스 브라우저(520)에 의해 제공되는 웹 페이지 중 제1 일부 영역 및 제2 소스 브라우저(530)에 의해 제공되는 웹 페이지 중 제2 일부 영역이 중계 서버(510)를 통하여 캔버스 브라우저(540)에 제공되어, 캔버스 브라우저(540)는 제1 일부 영역 및 제2 일부 영역을 결합시킨 새로운 웹 페이지를 렌더링(Rendering)할 수 있다. 이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저(540)에서 제1 일부 영역 및 제2 일부 영역을 제공하고, 제공되는 제1 일부 영역 및 제2 일부 영역을 연관시킬 수 있다. 예를 들어, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 사용자로부터 제1 일부 영역으로부터 제2 일부 영역으로의 마우스 드래그 입력을 수신하고, 수신된 마우스 드래그 입력에 응답하여, 제1 일부 영역 및 제2 일부 영역을 연관시킬 수 있다.
또한, 제1 소스 브라우저(520), 제2 소스 브라우저(530) 및 캔버스 브라우저(540)는 동일 기종의 통신 단말에서 실행되거나, 서로 다른 기종의 통신 단말에서 실행될 수 있으며, 또한, 동일 사용자의 통신 단말에서 실행되거나, 서로 다른 사용자의 통신 단말에서 실행될 수 있다.
제1 소스 브라우저(520), 제2 소스 브라우저(530) 및 캔버스 브라우저(540) 각각이 실행되는 경우, 제1 소스 브라우저(520)는 제1 소스 웹 어플리케이션(521)을 이용하여 제1 웹 페이지를 렌더링할 수 있고, 제2 소스 브라우저(530)는 제2 소스 웹 어플리케이션(531)을 이용하여 제2 웹 페이지를 렌더링할 수 있으며, 캔버스 브라우저(540)는 캔버스 웹 어플리케이션(541)을 이용하여 제1 일부 영역 및 제2 일부 영역을 포함하는 웹 페이지를 렌더링할 수 있다.
제1 소스 브라우저(520) 또는 제2 소스 브라우저(530)는 캔버스 브라우저(540)와 중계 서버(510)를 통하여 연결되어, 캔버스 브라우저(540)에 의해 제공되는 웹 페이지의 제1 일부 영역 또는 제2 일부 영역에서 발생한 입력 이벤트가 제1 소스 브라우저(520) 또는 제2 소스 브라우저(530)로 전송되고, 제1 소스 브라우저(520) 또는 제2 소스 브라우저(530)에 의해 제공되는 제1 웹 페이지 또는 제2 웹 페이지에서 입력 이벤트에 응답하여 발생된 변이 이벤트가 캔버스 브라우저(530)로 전송됨으로써, 제1 소스 브라우저(520) 및 제2 소스 브라우저(530)와 캔버스 브라우저(540)간의 입출력이 연계될 수 있다.
구체적으로, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저(540)에 의해 제공되는 제1 일부 영역에서 발생하는 제1 변이 이벤트를 검출하고, 제1 변이 이벤트에 응답하여 발생되고, 제1 변이 이벤트에 대응하는 입력 이벤트를 제2 일부 영역에서 트리거한다. 이 때, 제1 변이 이벤트는 제1 소스 브라우저(520)에서 발생되는 변이 이벤트가 중계 서버(510)를 통하여 캔버스 브라우저(540)로 전달됨으로써, 발생될 수 있다.
그 후, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 일부 영역에서 발생하는 입력 이벤트를 검출하여, 입력 이벤트에 대응하는 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버(510)를 통하여 제2 소스 브라우저(530)로 전송한다.
제2 소스 브라우저(530) 상에서 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보가 수신되면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저(530)에 의해 제공되는 제2 웹 페이지 상에서 대상 DOM 노드를 탐색하고, 탐색된 대상 DOM 노드에 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시킨다. 이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저(530)의 확장 기능(532)을 이용하여 제2 소스 브라우저(530)에 의해 제공되는 제2 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다. 여기서, 확장 기능(532)은 C 언어를 확장한 객체 지향 프로그래밍 언어인 C++(C plus plus)를 기반으로 할 수 있다. 만약에, 제1 소스 브라우저(520)에 의해 제공되는 제1 웹 페이지 상에서 대상 DOM 노드를 탐색한다면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제1 소스 브라우저(520)의 확장 기능(522)을 이용하여 제1 소스 브라우저(520)에 의해 제공되는 제1 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다.
이어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 하나에 대한 정보를 중계 서버(510)를 통하여 캔버스 브라우저(540)로 전송한다. 그 후, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 수신된, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보에 기초하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 캔버스 브라우저(540)에 적용한다. 이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저(540)에 변화된 대상 DOM 노드가 적용된 경우, 변화된 대상 DOM 노드에 대응하는 웹 페이지의 일부 영역을 제공할 수 있고, 캔버스 브라우저(540)에 변화된 웹 페이지가 적용된 경우, 변화된 웹 페이지를 그대로 제공할 수 있다. 이에 대한 상세한 설명은 도 6을 참조하여 기재하기로 한다.
도 6은 본 발명의 일실시예에 있어서, 제1 웹 페이지 및 제2 웹 페이지를 결합하여 캔버스 브라우저에 의해 제공되는 새로운 웹 페이지를 생성하는 방법을 설명하기 위한 실시도이다.
도 6을 참조하면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제1 소스 브라우저에 의해 제공되는 제1 웹 페이지(610) 중 제1 일부 영역(611) 및 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지(620) 중 제2 일부 영역(621)을 중개 서버를 통하여 캔버스 브라우저로 제공하여, 제1 일부 영역(611) 및 제2 일부 영역(612)를 포함하는 새로운 웹 페이지(630)를 캔버스 브라우저를 통하여 제공할 수 있다. 이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저에 의해 제공되는 제1 일부 영역 및 제2 일부 영역을 연관시킬 수 있다. 예를 들어, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 사용자로부터 제1 일부 영역(631)으로부터 제2 일부 영역(632)으로의 마우스 드래그 입력(633)을 수신하고, 수신된 마우스 드래그 입력(633)에 응답하여, 제1 일부 영역(631) 및 제2 일부 영역(632)을 연관시킬 수 있다.
도 7은 본 발명의 일실시예에 있어서, 소스 브라우저들과 캔버스 브라우저 사이에서 웹 페이지를 공유하는 방법을 설명하기 위한 실시도이다.
도 7을 참조하면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저에 의해 제공되는 웹 페이지(710)에 포함되는 제1 일부 영역(711)에서 발생하는 제1 변이 이벤트를 검출하고, 검출된 제1 변이 이벤트에 응답하여 제1 변이 이벤트에 대응하는 입력 이벤트를 제2 일부 영역(712)에서 트리거한다.
이어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 입력 이벤트에 대응하는 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버를 통하여 제2 소스 브라우저로 전송한다.
브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저 상에서 중계 서버로부터 수신한 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보에 기초하여, 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지(720) 상에서 대상 DOM 노드를 탐색하고, 탐색된 대상 DOM 노드에 대응하는 영역(721)에 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시킨다.
그 후, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지(730) 중 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지(731) 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지(731) 중 적어도 어느 하나에 대한 정보를 중계 서버를 통하여 캔버스 브라우저로 전송한다.
이어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 변화된 대상 DOM 노드 또는 변화된 웹 페이지(731) 중 적어도 어느 하나를 캔버스 브라우저에 의해 제공되는 웹 페이지(740) 중 변화된 대상 DOM 노드에 대응하는 영역(741)에 적용할 수 있다.
도 8은 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 방법을 나타낸 플로우 차트이다.
도 8을 참조하면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제1 소스 브라우저(Source Browser)에 의해 제공되는 제1 웹 페이지 중 제1 일부 영역 및 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지 중 제2 일부 영역을 중개 서버를 통하여 캔버스 브라우저로 제공한다(810).
이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저에 의해 제공되는 제1 일부 영역 및 제2 일부 영역을 연관시킬 수 있다.
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저에 의해 제공되는 제1 일부 영역에서 발생하는 제1 변이 이벤트를 검출한다(820).
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제1 변이 이벤트에 응답하여, 제1 변이 이벤트에 대응하는 입력 이벤트를 제2 일부 영역에서 트리거(Trigger)한다(830).
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 입력 이벤트에 대응하는 대상 DOM 노드(Document Object Model)에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버로 전송한다(840).
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 일부 영역에 대응하는 제2 소스 브라우저 상에서 중계 서버로부터 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 수신하여, 제2 웹 페이지 상에서 대상 DOM 노드를 탐색한다(850).
이 때, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저의 확장 기능을 이용하여 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다.
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 탐색된 대상 DOM 노드에 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시킨다(860).
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 중계 서버로 전송한다(870).
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저 상에서 중계 서버로부터 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 캔버스 브라우저에 적용한다(880).
도 9는 본 발명의 일실시예에 있어서, 브라우저간 웹 어플리케이션 실시간 결합 시스템을 나타낸 블록도이다.
도 9를 참조하면, 브라우저간의 입출력을 연계하는 시스템은 캔버스 브라우저 설정부(910), 제1 변이 이벤트 검출부(920), 입력 이벤트 트리거부(930), 캔버스 브라우저 전송부(940), 소스 브라우저 탐색부(950), 제2 변이 이벤트 발생부(960), 소스 브라우저 전송부(970) 및 캔버스 브라우저 적용부(980)를 포함한다.
캔버스 브라우저 설정부(910)는 제1 소스 브라우저(Source Browser)에 의해 제공되는 제1 웹 페이지 중 제1 일부 영역 및 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지 중 제2 일부 영역을 중개 서버를 통하여 캔버스 브라우저로 제공하여, 캔버스 브라우저에 의해 제공되는 새로운 웹 페이지를 설정한다.
또한, 캔버스 브라우저 설정부(910)는 캔버스 브라우저에 의해 제공되는 제1 일부 영역 및 제2 일부 영역을 연관시킬 수 있다.
제1 변이 이벤트 검출부(920)는 캔버스 브라우저에 의해 제공되는 제1 일부 영역에서 발생하는 제1 변이 이벤트를 검출한다.
입력 이벤트 트리거부(930)는 1 변이 이벤트에 응답하여, 제1 변이 이벤트에 대응하는 입력 이벤트를 제2 일부 영역에서 트리거(Trigger)한다.
캔버스 브라우저 전송부(940)는 입력 이벤트에 대응하는 대상 DOM 노드(Document Object Model)에 대한 정보 및 입력 이벤트에 대한 정보를 중계 서버로 전송한다.
소스 브라우저 탐색부(950)는 제2 일부 영역에 대응하는 제2 소스 브라우저 상에서 중계 서버로부터 대상 DOM 노드에 대한 정보 및 입력 이벤트에 대한 정보를 수신하여, 제2 웹 페이지 상에서 대상 DOM 노드를 탐색한다.
또한, 소스 브라우저 탐색부(950)는 제2 소스 브라우저의 확장 기능을 이용하여 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지에 해당하는 HTML 문서에 포함되는 복수의 DOM 노드들 중 대상 DOM 노드를 탐색할 수 있다.
제2 변이 이벤트 발생부(960)는 탐색된 대상 DOM 노드에 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시킨다.
소스 브라우저 전송부(970)는 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 중계 서버로 전송한다.
캔버스 브라우저 적용부(980)는 캔버스 브라우저 상에서 중계 서버로부터 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 캔버스 브라우저에 적용한다.
이와 같이, 본 발명의 실시예에 따르면, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제1 소스 브라우저 및 제2 소스 브라우저 각각에서 제공하는 제1 웹 페이지 중 제1 일부 영역 및 제2 웹 페이지 중 제2 일부 영역을 결합하여, 캔버스 브라우저를 통하여 제1 일부 영역 및 제2 일부 영역을 포함하는 새로운 웹 페이지를 제공할 수 있다.
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 캔버스 브라우저에 의해 제공되는 웹 페이지의 제1 일부 영역에서 발생하는 제1 변이 이벤트에 대응하는 제2 일부 영역에서의 입력 이벤트를 제2 소스 브라우저에 적용함으로써, 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지에서 제2 변이 이벤트를 발생시킬 수 있다.
또한, 브라우저간 웹 어플리케이션 실시간 결합 시스템은 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지에서 발생하는 제2 변이 이벤트에 응답하여, 변화된 대상 DOM 노드 및 변화된 웹 페이지를 캔버스 브라우저에 적용함으로써, 캔버스 브라우저에 의해 제공되는 웹 페이지에, 입력 이벤트에 응답하여 변화된 웹 페이지를 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (6)

  1. 중계 서버를 통하여 소스 브라우저(Source Browser)에 의해 제공되는 웹 페이지 중 일부 영역을 캔버스 브라우저(Canvas Browser)로 제공하고, 상기 캔버스 브라우저에 의해 제공되는 일부 영역에서 발생하는 입력 이벤트를 검출하는 단계;
    상기 입력 이벤트에 대응하는 대상 DOM(Document Object Model) 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 상기 중계 서버로 전송하는 단계;
    상기 소스 브라우저 상에서 상기 중계 서버로부터 상기 대상 DOM 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 수신하여, 상기 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계;
    상기 탐색된 대상 DOM 노드에 상기 입력 이벤트를 트리거(Trigger)하여 변이 이벤트(Mutation Event)를 발생시키는 단계; 및
    상기 발생된 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 상기 중계 서버로 전송하는 단계
    를 포함하는 브라우저간의 입출력을 연계하는 방법.
  2. 제1항에 있어서,
    상기 캔버스 브라우저 상에서 상기 중계 서버로부터 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 상기 캔버스 브라우저에 적용하는 단계
    를 더 포함하는 브라우저간의 입출력을 연계하는 방법.
  3. 제1항에 있어서,
    상기 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계는
    상기 소스 브라우저의 확장 기능(extension)을 이용하여 상기 소스 브라우저에 의해 제공되는 상기 웹 페이지에 해당하는 HTML(Hyper Text Markup Language) 문서에 포함되는 복수의 DOM 노드들 중 상기 대상 DOM 노드를 탐색하는 단계
    를 포함하는 브라우저간의 입출력을 연계하는 방법.
  4. 제1 소스 브라우저(Source Browser)에 의해 제공되는 제1 웹 페이지 중 제1 일부 영역 및 제2 소스 브라우저에 의해 제공되는 제2 웹 페이지 중 제2 일부 영역을 중개 서버를 통하여 캔버스 브라우저로 제공하는 단계;
    상기 캔버스 브라우저에 의해 제공되는 상기 제1 일부 영역에서 발생하는 제1 변이 이벤트를 검출하는 단계;
    상기 제1 변이 이벤트에 응답하여, 상기 제1 변이 이벤트에 대응하는 입력 이벤트를 상기 제2 일부 영역에서 트리거(Trigger)하는 단계;
    상기 입력 이벤트에 대응하는 대상 DOM 노드(Document Object Model)에 대한 정보 및 상기 입력 이벤트에 대한 정보를 상기 중계 서버로 전송하는 단계;
    상기 제2 일부 영역에 대응하는 상기 제2 소스 브라우저 상에서 상기 중계 서버로부터 상기 대상 DOM 노드에 대한 정보 및 상기 입력 이벤트에 대한 정보를 수신하여, 상기 제2 웹 페이지 상에서 상기 대상 DOM 노드를 탐색하는 단계; 및
    상기 탐색된 대상 DOM 노드에 상기 입력 이벤트를 트리거하여 제2 변이 이벤트를 발생시키는 단계
    를 포함하는 브라우저간 웹 어플리케이션 실시간 결합 방법.
  5. 제4항에 있어서,
    상기 발생된 제2 변이 이벤트를 기초로, 변화된 대상 DOM 노드 또는 변화된 웹 페이지 중 적어도 어느 하나를 감지하여, 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 상기 중계 서버로 전송하는 단계; 및
    상기 캔버스 브라우저 상에서 상기 중계 서버로부터 상기 변화된 대상 DOM 노드 또는 상기 변화된 웹 페이지 중 적어도 어느 하나에 대한 정보를 수신하여, 상기 캔버스 브라우저에 적용하는 단계
    를 더 포함하는 브라우저간 웹 어플리케이션 실시간 결합 방법.
  6. 제4항에 있어서,
    상기 제1 일부 영역 및 상기 제2 일부 영역을 상기 캔버스 브라우저로 제공하는 단계는
    상기 캔버스 브라우저에 의해 제공되는 상기 제1 일부 영역 및 상기 제2 일부 영역을 연관시키는 단계
    를 더 포함하는 브라우저간 웹 어플리케이션 실시간 결합 방법.
PCT/KR2014/001443 2013-10-18 2014-02-21 브라우저간의 입출력을 연계하는 방법 및 시스템 WO2015056849A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20130124856A KR20150045564A (ko) 2013-10-18 2013-10-18 브라우저간의 입출력을 연계하는 방법 및 시스템
KR10-2013-0124857 2013-10-18
KR10-2013-0124856 2013-10-18
KR20130124857A KR20150045565A (ko) 2013-10-18 2013-10-18 브라우저간의 웹 어플리케이션 실시간 결합 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2015056849A1 true WO2015056849A1 (ko) 2015-04-23

Family

ID=52828274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/001443 WO2015056849A1 (ko) 2013-10-18 2014-02-21 브라우저간의 입출력을 연계하는 방법 및 시스템

Country Status (1)

Country Link
WO (1) WO2015056849A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889056A (zh) * 2019-12-06 2020-03-17 北京百度网讯科技有限公司 页面标记的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020031568A (ko) * 2000-10-21 2002-05-02 임동건 다자간 인터넷 사이트 연동방법
KR20040069296A (ko) * 2004-06-21 2004-08-05 (주)우리랑월드 웹 페이지 연동 방법 및 시스템
US20060004775A1 (en) * 1999-01-21 2006-01-05 International Business Machines Corporation Method and system for sharing the browser
US20060015763A1 (en) * 2002-11-27 2006-01-19 Kazuaki Nakajima Real-time web sharing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004775A1 (en) * 1999-01-21 2006-01-05 International Business Machines Corporation Method and system for sharing the browser
KR20020031568A (ko) * 2000-10-21 2002-05-02 임동건 다자간 인터넷 사이트 연동방법
US20060015763A1 (en) * 2002-11-27 2006-01-19 Kazuaki Nakajima Real-time web sharing system
KR20040069296A (ko) * 2004-06-21 2004-08-05 (주)우리랑월드 웹 페이지 연동 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889056A (zh) * 2019-12-06 2020-03-17 北京百度网讯科技有限公司 页面标记的方法及装置
CN110889056B (zh) * 2019-12-06 2023-08-22 北京百度网讯科技有限公司 页面标记的方法及装置

Similar Documents

Publication Publication Date Title
WO2020233077A1 (zh) 系统服务的监控方法、装置、设备及存储介质
WO2014193037A1 (ko) 맵리듀스 연산 가속 시스템 및 방법
WO2014069882A1 (en) Method and apparatus for processing webpage in terminal device by using cloud server
WO2015041436A1 (en) Method of managing control right, client device therefor, and master device therefor
WO2018124495A1 (ko) 불법 콘텐츠 검색 시스템 및 그 방법
WO2018026033A1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
WO2010147362A2 (en) Widget activation and communication method
WO2015152647A1 (en) Method and system for content searching
WO2018080228A1 (ko) 번역을 위한 서버 및 번역 방법
WO2020062644A1 (zh) Json劫持漏洞的检测方法、装置、设备及存储介质
WO2020258672A1 (zh) 网络访问的异常检测方法和装置
WO2014003510A1 (ko) 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법
WO2014181941A1 (ko) 개방형 m2m 시스템 및 그의 리소스 관리와 인터페이스 방법
WO2015161644A1 (zh) 一种资源地址的生成方法、装置及系统
WO2018194196A1 (ko) Elf 파일의 난독화 적용 여부의 탐지 및 보안성 평가를 위한 방법 및 시스템
WO2021075622A1 (ko) 유아 모니터링 방법 및 이를 수행하는 장치들
WO2015056849A1 (ko) 브라우저간의 입출력을 연계하는 방법 및 시스템
WO2018014594A1 (zh) 网络请求及响应的处理方法、装置、终端、服务器及存储介质
WO2015199293A1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
WO2015068929A1 (ko) 컨텐츠 중심 네트워크에서 패킷 특성을 고려하는 노드의 동작 방법 및 노드
WO2018143510A1 (ko) 사물 인터넷 보안 모듈
WO2018080009A1 (en) Electronic apparatus for recording debugging information and control method thereof
WO2012141412A2 (ko) 웹 페이지를 제공하는 방법 및 서버
WO2020062655A1 (zh) 爬虫识别方法、装置、设备及非易失性可读存储介质
WO2017213454A1 (ko) 사용자 서버를 이용한 파일 제어 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14853309

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14853309

Country of ref document: EP

Kind code of ref document: A1