WO2018229661A1 - 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템 - Google Patents

웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템 Download PDF

Info

Publication number
WO2018229661A1
WO2018229661A1 PCT/IB2018/054267 IB2018054267W WO2018229661A1 WO 2018229661 A1 WO2018229661 A1 WO 2018229661A1 IB 2018054267 W IB2018054267 W IB 2018054267W WO 2018229661 A1 WO2018229661 A1 WO 2018229661A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
client
information
synchronization
control information
Prior art date
Application number
PCT/IB2018/054267
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
Application filed by 모브리진 주식회사 filed Critical 모브리진 주식회사
Publication of WO2018229661A1 publication Critical patent/WO2018229661A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Definitions

  • FIG. 2 is a flowchart illustrating an overview of a method for synchronized screen viewing between clients in a web or cloud environment according to another embodiment of the present invention
  • FIG. 3 is a block diagram illustrating a system for synchronized screen viewing between clients in a web or cloud environment according to an embodiment of the present invention
  • the screen profile setting information 155 is based on the client device information 156, so that the user can check the same screen in all clients connected to the synchronization session without losing information (resolution, And whether the document is a mobile document or a desktop document), and may be generated as information representing the condition.
  • the screen control information 161 may include screen offset information 163, screen magnification information 164, screen part highlight information 165, screen drawing information 166, and hyperlink click information 167. It is desirable to.
  • the hyperlink click information 167 is information including an object name and a URL of the hyperlink in the DOM structure of the hyperlink when the hyperlink 255 included in the screen rendered in the client is clicked. .
  • the second client 120 translates the screen control information 161 inputted on the positioning layer 121 into information corresponding to a DOM object located below the positioning layer 121, thereby converting the screen into new, ie, translated screen. It generates control information 161 (including what the clicked DOM object is, what event occurred on that object, and what text was input). Furthermore, the translated screen control information 161 is transmitted to the synchronization server 110, and the synchronization server 110 transmits the translated screen control information 161 to the first client 301 again.
  • the synchronization server 110 after (b) performing the synchronization step (S120), (b-2) the synchronization server 110 the screen control information 161 to the first client. Transmitting to 301; (b-3) the synchronization server 110 receiving the screen control information reception completion information 162 from the first client 301, and (b-4) the synchronization server 110 receiving the second client.
  • the method may further include transmitting the screen control information reception completion information 162 to 120.
  • the screen control information reception completion information 162 is received. May include hyperlink target document loading completion information 168.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템에 관한 것으로서, 더욱 상세하게는, 클라이언트들이 화면을 각자 렌더링하도록 하고 화면 제어 정보만을 송수신하도록 함으로써, 네트워크를 통해 전송되는 데이터의 양을 획기적으로 줄일 수 있고, 제어권한을 가진 클라이언트에 시간 지연 없이 바로 제어행위의 결과가 표시되도록 할 수 있으며, 화면 보안 관리에 유리하고, 다양한 사용자 클라이언트 기기 환경에 쉽게 대응할 수 있도록 하며, 클라이언트에 포지셔닝 레이어를 삽입하여 해당 포지셔닝 레이어에서 입력받은 화면 제어 정보에 기하여 클라이언트간 화면 동기화를 함으로써 보다 정밀한 동기화가 가능하도록 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템에 관한 것이다.

Description

웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템{METHOD AND SYSTEM FOR SYNCHRONIZED VIEWING BETWEEN CLIENTS UNDER WEB OR CLOUD ENVIRONMENT}
본 발명은 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템에 관한 것으로서,
더욱 상세하게는, 클라이언트들이 화면을 각자 렌더링하도록 하고 화면 제어 정보만을 송수신하도록 함으로써, 네트워크를 통해 전송되는 데이터의 양을 획기적으로 줄일 수 있고, 제어권한을 가진 클라이언트에 시간 지연 없이 바로 제어행위의 결과가 표시되도록 할 수 있으며, 화면 보안 관리에 유리하고, 다양한 사용자 클라이언트 기기 환경에 쉽게 대응할 수 있도록 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템에 관한 것이다.
또한, 본 발명은 더욱 상세하게는, 클라이언트에 포지셔닝 레이어를 삽입하여, 해당 포지셔닝 레이어에서 입력받은 화면 제어 정보에 기하여 클라이언트간 화면 동기화를 함으로써, 보다 정밀한 동기화가 가능하도록 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템에 관한 것이다.
종래의 화면 공유 내지 화면 동기화를 위한 기술은, 전통적으로 컴퓨터를 이용한 기술지원, 고객센터 또는 마케팅 상담 분야나 원격 데스크탑 분야 등에서 사용되어 왔다. 화면 공유 내지 동기화는 직접적이고 거의 즉각적인 시각적 피드백을 제공할 수 있으므로, 문제해결 생산성 및 효율성을 크게 향상시킨다. 특히 컴퓨터를 이용한 기술지원, 고객센터 또는 마케팅 상담 분야에 있어서, 고객 지원 담당인력(이하 ‘상담 인력’)과 고객은 화면 공유 내지 화면 동기화 기술을 통해 동일한 화면을 보면서 문제를 해결할 수 있고, 상담 인력은 고객이 필요한 정보 내지 상품을 찾을 수 있도록 화면을 보여주면서 직접적, 시각적으로 도와줄 수 있다. 이를 통해 상담 인력과 고객간의 의사소통이 전화 등 음성 통신수단만을 사용하는 경우에 비하여 훨씬 빠르고 원활하게 이루어질 수 있는바, 이로써 해당 담당 부서의 생산성 및 효율성이 크게 향상되고, 고객에게 더 좋은 경험을 제공할 수 있는 것이다.
컴퓨터를 이용한 기술지원, 고객센터, 마케팅 상담 또는 원격 데스크탑 분야에 주로 사용되는 종래의 화면 공유 내지 화면 동기화 기술에 관하여 더 자세히 살펴보면, 이 기술은 동기화를 위한 서버, 상담 인력이 사용하는 클라이언트(원격 데스크탑 분야에 있어서는 사용자가 직접 제어하는 클라이언트, 이하 기술지원, 고객센터 또는 마케팅 상담의 경우를 예로 든다), 그리고 고객, 즉 사용자의 클라이언트(원격 데스크탑 분야에 있어서는 원격에 존재하는 클라이언트, 이하 기술지원, 고객센터 또는 마케팅 상담의 경우를 예로 든다)의 존재를 전제로 한다. 사용자 클라이언트에서 동기화를 위한 응용 프로그램을 실행하면, 상기 응용 프로그램은 사용자 클라이언트의 전부 또는 일부 영역의 화면 출력을 스트리밍하거나 또는 호출될 GDI 함수를 전송하는 등 방법을 사용함으로써 상기 서버에 전송한다. 상기 서버는 이를 다시 상담 인력이 사용하는 클라이언트에 전송하며, 상담 인력이 사용하는 클라이언트는 전송받은 상기 화면 출력을 그 화면에 표시함으로써 상담 인력이 사용자 클라이언트의 화면과 동일한 화면을 보면서 응대할 수 있도록 한다. 상담 인력이 마우스를 클릭 또는 드래그하거나, 스크롤휠을 스크롤하는 등 제어행위를 하면, 상기 제어행위에 관한 정보가 상기 서버를 거쳐 사용자 클라이언트에 전송되며, 사용자 클라이언트에서 제어행위의 결과가 나타난다. 즉, 상기 클릭, 드래그 또는 스크롤 등의 제어행위가 실제로 이루어지는 곳은 사용자 클라이언트이다. 그로 인하여 파일이 실행되거나, 웹페이지가 스크롤되는 등 결과가 사용자 클라이언트에서 발생하면, 그에 따라 변경된 화면 출력이 다시 상기 서버를 거쳐 전송되어 상담 인력이 사용하는 클라이언트에 표시된다. 이로써 상담 인력이 사용하는 클라이언트와 사용자 클라이언트간에 화면 공유 내지 동기화가 이루어진다.
그런데 위와 같이 스트리밍 또는 호출될 GDI 함수 전송 등 방법을 이용한 기존 화면 출력 전송 기술은 전송되는 데이터의 양이 막대하여 상당한 네트워크 대역폭을 사용할 수밖에 없다. 또한, 상담 인력의 제어행위가 사용자 클라이언트에 전송되어 사용자 클라이언트에서 제어행위의 결과가 발생한 뒤 다시 그로 인해 변경된 화면 출력이 상담 인력의 클라이언트에 전송되어야만 상담 인력 측에서 자신의 제어행위의 결과를 확인할 수 있게 되므로, 네트워크의 상태에 따라(즉, 느리거나 레이턴시가 높은 네트워크에 있어서) 상담 인력의 제어행위와 상담 인력의 클라이언트에 표시되는 화면 출력의 변화 사이에 상당한 시간 지연이 발생할 수 있다. 나아가, 상담 인력이 보고 있는 화면과 사용자가 보고 있는 화면이 바로 동기화되지 않음으로써 그 상이로 인하여 의사소통에 혼란 내지 장애가 초래될 수도 있다.
즉, 전통적인 화면 공유 내지 동기화 기술은 네트워크 대역폭의 과도한 사용 및 동기화시 시간 지연이라는 문제를 초래한다.
또한, 전통적인 화면 공유 내지 동기화 기술은, 상담 인력이 사용자 클라이언트의 화면을 그대로 볼 수 있도록 하는바, 사용자가 비밀을 유지하여야 할 정보가 실수로 상담 인력 등 제3자에게 노출될 수 있는 가능성이 상존하게 된다. 즉 보안상으로도 위험하다.
나아가, 전통적인 화면 공유 내지 동기화 기술은 다양한 크기의 화면 내지 다양한 종류의 클라이언트측 단말기에 대응하기 쉽지 않다는 약점도 지닌다. 대부분의 종래의 화면 공유 내지 동기화 기술은 특정 해상도 이상의 디스플레이를 포함한 사용자 클라이언트만을 지원할 수 있으며, 대부분의 경우 모바일 클라이언트는 지원이 불가능하다. 특히 사용자 클라이언트가 모바일 클라이언트인 경우, 모바일 클라이언트에 데스크탑용 웹페이지를 표시하고 이를 공유 내지 동기화하면 글자 크기가 작아져 사용자가 확대 및 팬 동작 등을 수행하여야 하는 불편이 초래되고, 한 화면에 해당 웹페이지의 정보가 다 표시되지 않아 상담 인력과 사용자간 의사소통 과정에서 정보의 손실이 발생할 수도 있다.
또한, 웹(WEB) 또는 클라우드 솔루션에 관련한 화면을 공유하는 경우에는, 웹 또는 클라우드의 특성상, 서버에서 주요한 정보를 생성하고, 클라이언트에서는 정보를 주로 표시만 하는 경우가 많은바, 고객 클라이언트 화면에서 이루어지는 모든 정보를 서버에 전송하는 종래의 화면 공유 내지 화면 동기화 기술은 웹 또는 클라우드 솔루션의 위와 같은 특성에 부합하지 않는 측면이 있다.
이에, 네트워크를 통해 전송되는 데이터의 양을 줄일 수 있고, 제어권한을 가진 클라이언트에 시간 지연 없이 바로 제어행위의 결과가 표시되도록 할 수 있으며, 화면 보안 관리에 유리하고, 다양한 사용자 클라이언트 기기 환경에 쉽게 대응할 수 있도록 하며, 웹 또는 클라우드 환경에 적합한, 보다 효율적으로 동작하는 화면 공유 내지 화면 동기화 기술에 관한 발명의 등장이 요구된다.
본 발명이 해결하고자 하는 과제는, 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템을 제공하기 위한 것이다.
좀더 구체적으로는, 네트워크를 통해 전송되는 데이터의 양을 줄일 수 있고, 제어권한을 가진 클라이언트에 시간 지연 없이 바로 제어행위의 결과가 표시되도록 할 수 있으며, 화면 보안 관리에 유리하고, 다양한 사용자 클라이언트 기기 환경에 쉽게 대응할 수 있도록 하며, 웹 또는 클라우드 환경에 적합한, 보다 효율적으로 동작하는 화면 공유 내지 동기화 기술을 제공하기 위한 것이다.
본 발명의 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법은 (a) 동기화 준비 단계 및 (b) 동기화 실행 단계를 포함하고, 상기 (a) 동기화 준비 단계는, (a-1) 동기화 서버가 제1클라이언트로부터 화면 동기화 세션 생성 요청(request) 및 화면 동기화 대상 문서 위치정보를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트로부터 화면 동기화 세션 참가 요청을 수신하는 단계; (a-2) 상기 동기화 서버가 상기 제1클라이언트 및 상기 제2클라이언트로부터 각각 화면 프로파일 정보를 수신하는 단계; (a-3) 상기 동기화 서버가 화면 프로파일 설정 정보를 생성하는 단계 및 (a-4) 상기 동기화 서버가 상기 제1클라이언트 및 상기 제2클라이언트에 각각 화면 프로파일 설정 정보를 전송하고 상기 제2클라이언트에 화면 동기화 대상 문서 위치정보를 전송하는 단계를 포함하고, 상기 (b) 동기화 실행 단계는, (b-1) 상기 동기화 서버가 상기 제2클라이언트로부터 화면 제어 정보를 수신하는 단계; (b-2) 상기 동기화 서버가 상기 화면 제어 정보를 상기 제1클라이언트에 전송하는 단계; (b-3) 상기 동기화 서버가 상기 제1클라이언트로부터 화면 제어 정보 수신 완료 정보를 수신하는 단계 및 (b-4) 상기 동기화 서버가 상기 제2클라이언트에 화면 제어 정보 수신 완료 정보를 전송하는 단계를 포함한다.
또한, 상기 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 에 있어서, 상기 (a) 동기화 준비 단계는 (a-5) 상기 제2클라이언트에 포지셔닝 레이어를 생성하는 단계를 더 포함하고, 상기 화면 제어 정보는 상기 포지셔닝 레이어 위에서 입력받은 동작정보를 포함하는 것을 특징으로 한다.
또한, 상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템은, 제1클라이언트로부터 화면 동기화 세션 생성 요청(request) 및 화면 동기화 대상 문서 위치정보를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트로부터 화면 동기화 세션 참가 요청을 수신하고, 상기 제1클라이언트 및 상기 제2클라이언트로부터 각각 화면 프로파일 정보를 수신하며, 화면 프로파일 설정 정보를 생성하고, 상기 제1클라이언트 및 상기 제2클라이언트에 각각 화면 프로파일 설정 정보를 전송하고 상기 제2클라이언트에 화면 동기화 대상 문서 위치정보를 전송하며, 상기 제2클라이언트로부터 화면 제어 정보를 수신하고, 상기 화면 제어 정보를 상기 제1클라이언트에 전송하며, 상기 제1클라이언트로부터 화면 제어 정보 수신 완료 정보를 수신하고, 상기 제2클라이언트에 화면 제어 정보 수신 완료 정보를 전송하는 것을 특징으로 하는 동기화 서버를 포함한다.
또한, 상기 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템에 있어서, 상기 제2클라이언트는 동기화 대상 문서 위에 포지셔닝 레이어를 생성하고, 상기 화면 제어 정보는 상기 포지셔닝 레이어 위에서 입력받은 동작정보를 포함하는 것을 특징으로 한다.
이때, 위 실시예들에 있어서, 상기 화면 프로파일 정보는 클라이언트 디스플레이 해상도 정보를 포함하는 클라이언트 기기 정보를 포함하며, 상기 화면 프로파일 설정 정보는 상기 클라이언트 기기 정보 중 적어도 하나의 모바일 기기 정보가 포함된 경우 모바일 기기용 화면 프로파일 설정 정보로 생성되는 것을 특징으로 한다. 또한, 상기 화면 제어 정보는 화면 오프셋 정보, 화면 확대 배율 정보, 화면 부분 하이라이트 정보, 화면 드로잉 정보, 하이퍼링크 클릭 정보를 포함하도록 하는 것이 바람직하다.
한편, 위 실시예들에 있어서, 상기 동기화 서버가 상기 화면 하이퍼링크 클릭 정보를 포함한 상기 화면 제어 정보를 수신한 경우, 상기 화면 제어 정보 수신 완료 정보는 하이퍼링크 대상 문서 로딩 완료 정보를 포함할 수 있다.
또한, 위 실시예들에 있어서, 상기 제2클라이언트는 상기 화면 제어 정보 수신 완료 정보를 수신한 경우 상기 제2클라이언트의 디스플레이에 상기 화면 제어 정보 수신 완료 정보를 수신하였다는 점을 표시할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 의 개요를 설명하기 위해 도시한 순서도,
도 2는 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 의 개요를 설명하기 위해 도시한 순서도,
도 3은 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템을 설명하기 위해 도시한 블록도,
도 4는 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템에 있어 포지셔닝 레이어를 설명하기 위해 도시한 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)의 개요를 설명하기 위해 도시한 순서도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라이언트간 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)은, (a) 동기화 준비 단계(S110) 및 (b) 동기화 실행 단계(S120)를 포함한다.
나아가, 상기 (a) 동기화 준비 단계(S110)는 (a-1) 동기화 서버(110)가 제1클라이언트(301)로부터 화면 동기화 세션 생성 요청(151)(request) 및 화면 동기화 대상 문서 위치 정보(152)를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트(120)로부터 화면 동기화 세션 참가 요청(153)을 수신하는 단계; (a-2) 상기 동기화 서버(110)가 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)로부터 각각 화면 프로파일 정보(154)를 수신하는 단계; (a-3) 상기 동기화 서버(110)가 화면 프로파일 설정 정보(155)를 생성하는 단계 및 (a-4) 상기 동기화 서버(110)가 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 각각 화면 프로파일 설정 정보(155)를 전송하고 상기 제2클라이언트(120)에 화면 동기화 대상 문서 위치 정보(152)를 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)에 있어서, 상기 동기화 서버(110)는 상기 제1클라이언트(301) 및 적어도 하나의 상기 제2클라이언트(120)와 데이터를 주고받으며 클라이언트간 화면 동기화 내지 공유를 진행한다. 이때 상기 제2클라이언트(120)는 일반적으로 회사의 상담 인력이 사용하는 클라이언트가 될 것이며, 상기 제1클라이언트(301)는 일반 사용자들이 사용하는 클라이언트가 될 것이다. 상기 제1클라이언트(301)는 복수개일 수 있다.
또한, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)는, 물리적인 단말기 상에서 동작하는 응용 프로그램으로서 상기 동기화 서버(110)와 데이터를 주고받을 수 있는 것을 말한다. 예를 들어, 웹브라우저, MS-Office, PDF 뷰어 등 기본 프로그램에 본 발명에 따라 상기 동기화 서버(110)와 데이터를 주고받으며 화면을 공유 내지 동기화할 수 있는 플러그인 형태의 프로그램이 함께 실행됨으로써, 상기 기본 프로그램 및 상기 플러그인 형태의 프로그램이 함께 하나의 클라이언트를 구성할 수 있는 것이다. 또는, 예를 들어, 웹브라우저 내에서 동작하며 상기 동기화 서버(110)와 데이터를 주고받을 수 있는 웹문서이자 일종의 웹 어플리케이션이 상기 웹브라우저와 함께 각 클라이언트(120, 301)를 구성할 수도 있다.
또한, 상기 동기화 서버(110)는, 물리적으로 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)와 별도로 존재하는 서버일 수도 있고, 또는 물리적으로 상기 제2클라이언트(120)와 동일한 단말기에서 실행되는 서버 프로그램일 수도 있다.
한편, 상기 (a) 동기화 준비 단계(S110) 중 첫 번째 단계는, (a-1) 상기 동기화 서버(110)가 상기 제1클라이언트(301)로부터 화면 동기화 세션 생성 요청(151)(request) 및 화면 동기화 대상 문서 위치 정보(152)를 수신하고, 화면 동기화 세션을 생성하며, 적어도 하나의 상기 제2클라이언트(120)로부터 화면 동기화 세션 참가 요청(153)을 수신하는 단계이다. 즉, 상기 화면 동기화 세션을 시작하고자 하는 제1클라이언트(301)는, 상기 동기화 서버(110)에 화면 동기화 생성 요청을 하면서, 어떤 화면을 상기 제2클라이언트(120)와 공유할 것인지를 지정하기 위하여 그에 관한 정보인 상기 화면 동기화 대상 문서 위치 정보(152)를 상기 동기화 서버(110)에 전송하며, 상기 동기화 서버(110)는 상기 화면 동기화 세션 생성 요청(151) 및 상기 화면 동기화 대상 문서 위치 정보(152)를 상기 제1클라이언트(301)로부터 전송받는다.
이때 상기 화면 동기화 대상 문서 위치 정보(152)는, URL, IP 또는 파일 경로가 될 수 있다. 또한, 상기 화면 동기화 대상 문서 위치 정보(152)가 가리키는 화면 동기화 대상 문서(251)는, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)가 존재하는 각 단말기에서 실행, 열람될 수 있는 파일로서, 텍스트 문서, MS-Office 문서, PDF 또는 웹 페이지 등이 될 수 있을 것이다. 다만, 텍스트 문서, MS-Office 문서, PDF 등은 각 클라이언트(120, 301)가 실행되는 단말기에 해당 문서를 실행, 열람할 수 있는 응용 프로그램이 미리 설치되어 있어야 한다는 전제가 필요한데, 대부분의 데스크탑 또는 모바일 클라이언트에는 웹 페이지를 렌더링할 수 있는 브라우저가 미리 설치되어 있으므로, 상기 화면 동기화 대상 문서(251)는 웹 페이지가 되는 것이 바람직하다.
또한, 상기 동기화 서버(110)는 상기 제1클라이언트(301)로부터 상기 화면 동기화 세션 참가 요청(153)을 전송받는다. 즉, 상기 제1클라이언트(301)의 요청에 따라 기 생성된 동기화 세션에, 상기 제2클라이언트(120)가 참여하여, 상기 동기화 세션에는 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)가 참여하게 되는 것이다. 즉, 고객측 클라이언트의 요청에 따라 동기화 세션이 형성되고, 회사측 상담 인력의 클라이언트가 그 요청에 응하여 세션에 참가하는 것이다.
상기 (a) 동기화 준비 단계(S110)의 다음 단계는, (a-2) 상기 동기화 서버(110)가 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)로부터 각각 화면 프로파일 정보(154)를 수신하는 단계 및 (a-3) 상기 동기화 서버(110)가 화면 프로파일 설정 정보(155)를 생성하는 단계이다.
상기 (a-2) 단계에서, 상기 동기화 서버(110)는 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)로부터 각각 화면 프로파일 정보(154)를 수신한다.
이때 상기 화면 프로파일 정보(154)는, 디스플레이 해상도 정보(157)를 포함하는 클라이언트 기기 정보(156)를 포함한다. 우선, 상기 디스플레이 해상도 정보(157)는, 각 클라이언트(120, 301)가 실행되는 물리적 단말기의 현재 디스플레이 해상도, 예를 들어, 데스크탑인 경우 디스플레이가 가로 1920 픽셀, 세로 1080 픽셀(즉 풀HD)임을 나타내는 JSON 형식의 정보일 수 있다. 또한, 상기 클라이언트 기기 정보(156)는 해당 클라이언트가 실행되는 물리적 단말기가 데스크탑이나 노트북인지 아니면 모바일기기인지, 모바일기기라면 어떤 회사의 어떤 기종인지에 관한 정보를 포함할 수 있다. 즉, 각 클라이언트(120, 301)가 실행되는 각 단말기의 현재 화면 해상도 및 기종에 관한 정보를 상기 동기화 서버(110)가 수신하는 것이다.
상기 (a-3) 단계에서, 상기 동기화 서버(110)는 화면 프로파일 설정 정보(155)를 생성한다. 이때 화면 프로파일 설정 정보(155)는, 각 클라이언트(120, 301)가 어떤 형식의 화면을 공유할 것인지에 대한 정보로서, 예를 들어, ‘모바일용 웹 페이지를 표시하는 가로 480 픽셀, 세로 800 픽셀의 화면’임을 나타내는 JSON 형식의 정보일 수 있다(이하 본 명세서의 다른 부분에서 웹 페이지 등 문서의 ‘표시’는 해당 문서를 디스플레이 장치에 출력하는 것을 의미한다). 이 경우 각 클라이언트(120, 301)는 상기 화면 동기화 대상 문서(251)를 제공하는 웹서버에 모바일용 웹 페이지의 코드가 존재하는 경우 이를 전송받아 가로 480 픽셀, 세로 800 픽셀의 모바일용 웹 페이지로 렌더링하여 동기화 대상 화면을 구성하게 된다. 이때 상기 동기화 서버(110)는 각 클라이언트(120, 301)로부터 전송받은 상기 화면 프로파일 정보(154)를 기초로 상기 화면 프로파일 설정 정보(155)는 생성하는데, 예를 들어, 상기 제1클라이언트(301)가 실행되는 단말기는 가로 1920 픽셀, 세로 1080 픽셀의 화면이 설정되어 있는 데스크탑이고, 상기 제2클라이언트(120)가 실행되는 단말기는 가로 480 픽셀, 세로 800 픽셀의 화면이 설정되어 있는 모바일 기기인 경우(즉, 클라이언트들 중 적어도 하나가 모바일 기기에서 실행되고 있는 경우, 상기 클라이언트 기기 정보(156) 중 적어도 하나가 모바일 기기임을 나타내는 정보가 될 것인바, 본 명세서의 나머지 부분에서 이러한 경우를 ‘상기 클라이언트 기기 정보(156) 중 적어도 하나의 모바일 기기 정보가 포함된 경우’라 한다), 모바일 기기에서 데스크탑용 웹페이지를 확인하면 사용자에게 큰 불편을 초래하게 되므로, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)가 공통적으로 모바일용 웹 페이지를 가로 480 픽셀, 세로 800 픽셀의 화면으로 설정하여 같은 화면을 표시할 수 있도록 상기 화면 프로파일 설정 정보(155)를 가로 480 픽셀, 세로 800 픽셀의 모바일용 웹 페이지를 가리키는 JSON 형식의 정보로 생성할 수 있을 것이다.
즉, 상기 화면 프로파일 설정 정보(155)는 상기 클라이언트 기기 정보(156)를 바탕으로 상기 동기화 세션에 접속되어 있는 모든 클라이언트에서 동일한 화면을 정보의 손실 없이 사용자가 확인할 수 있도록 하는 최적의 조건(해상도, 모바일용 문서인지 아니면 데스크탑용 문서인지 여부 등 포함)을 찾아 그 조건을 의미하는 정보로서 생성되는 것일 수 있다.
또는, 상기 화면 프로파일 설정 정보(155)는 상기 클라이언트 기기 정보(156) 중 적어도 하나의 모바일 기기 정보가 포함된 경우 모바일 기기용 화면 프로파일 설정 정보(155)로 생성되는 것을 특징으로 할 수 있다. 이때 화면 프로파일 설정 정보(155)가 모바일 기기용이라는 것은, 화면 프로파일 설정 정보(155)가 상기 화면 동기화 대상 문서(251)는 모바일용 문서일 것 및 상기 화면 동기화 대상 문서(251)를 모바일 기기에 적합한 해상도로 표시할 것을 요청하는 정보임을 의미한다.
다시, 본 발명의 일 실시예에 따르면, 상기 (a) 동기화 준비 단계(S110)에 있어서 상기 (a-3) 단계의 다음 단계는, (a-4) 상기 동기화 서버(110)가 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 각각 화면 프로파일 설정 정보(155)를 전송하고 상기 제2클라이언트(120)에 화면 동기화 대상 문서 위치 정보(152)를 전송하는 단계이다.
상기 동기화 서버(110)는 상기 (a-3) 단계에서 생성된 상기 화면 프로파일 설정 정보(155)를 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 각각 전송한다. 이에 따라, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)는 각각 상기 화면 프로파일 설정 정보(155)를 전송받고 그에 따라 같은 화면을 표시할 수 있도록 각 클라이언트(120, 301)의 화면을 설정한다. 각 클라이언트(120, 301) 화면 설정의 예는 상기 (a-3) 단계에 대한 설명 부분에서 설명하였다.
한편, 상기 (a-1) 단계에서 상기 동기화 서버(110)는 상기 제1클라이언트(301)로부터 상기 화면 동기화 대상 문서 위치 정보(152)를 수신하였다. 이는 본 발명에 따른 화면 동기화의 대상이 되는 문서의 위치를 가리키는 것으로서 URL, IP, 또는 파일 경로 등이 될 수 있음은 이미 설명한 바 있다. 화면 공유를 위해서는 각 클라이언트(120, 301)가 같은 위치에 존재하는 같은 문서를 표시하여야 하므로, 상기 동기화 서버(110)는 상기 화면 동기화 대상 문서 위치 정보(152)를 상기 제2클라이언트(120)에도 전송하는 것이다. 이에 따라 상기 제2클라이언트(120)는 전송받은 상기 화면 동기화 대상 문서 위치 정보(152)를 파싱하여 화면에 해당 위치에 존재하는 상기 동기화 대상 문서를 로딩한 후 렌더링하여 표시한다.
이 경우, 상기 화면 동기화 대상 문서 위치 정보(152)가 가리키는 위치인 상기 화면 동기화 대상 문서(251)가, 고객의 거래내역(transaction history)을 표시하는 문서나 개인정보를 표시하는 문서와 같이 고객측 제1클라이언트(301)가 회사측의 웹서비스 내지 웹사이트에 로그인한 상태에서만 확인 가능한 문서일 수 있는바, 이를 회사측의 상기 제2클라이언트(120)에서도 표시할 수 있도록 하려면, 제1클라이언트(301)측으로부터 그에 대한 동의여부를 포함한 정보를 수신하거나 또는 전화나 SMS를 통하여 그에 대한 동의여부를 수신하는 등 동의여부를 포함한 정보를 수신하는 방법을 통하여, 동의된 경우 상기 제2클라이언트(120)도 상기 화면 동기화 대상 문서 위치 정보(152)가 가리키는 위치의 문서인 상기 화면 동기화 대상 문서(251)를 표시할 수 있도록 상기 동기화 서버(110)가 그에 필요한 인증(authentication) 및 권한부여(authorization)를 진행하거나 별도의 회사측의 웹서비스 내지 웹사이트의 인증서버에 상기 인증 및 권한부여를 요청할 수 있다. 또한, 상기 동기화 서버(110)는 상기 제2클라이언트(120)에서 접근 및 표시할 수 있는 범위를 미리 설정하여 두고 상기 범위에 포함되는 경우에만 상기 제2클라이언트(120)가 접속(로딩)할 수 있도록 할 수도 있는바, 예를 들어, 미리 설정된 상기 범위에 고객의 개인정보를 수정할 수 있도록 하는 웹페이지(이하 “개인정보 수정 페이지”)가 포함되어 있지 않은 경우 상기 제2클라이언트(120)는 상기 개인정보 수정 페이지에 접속(로딩)할 수 없게 되는 것이다.
이로써 상기 (a) 동기화 준비 단계(S110)가 완료된다.
이하에서는 도 1을 참조하여 상기 (b) 동기화 실행 단계(S120)에 관하여 설명한다.
도 1을 참조하면, 상기 (b) 동기화 실행 단계(S120)는, (b-1) 상기 동기화 서버(110)가 상기 제2클라이언트(120)로부터 화면 제어 정보(161)를 수신하는 단계; (b-2) 상기 동기화 서버(110)가 상기 화면 제어 정보(161)를 상기 제1클라이언트(301)에 전송하는 단계; (b-3) 상기 동기화 서버(110)가 상기 제1클라이언트(301)로부터 화면 제어 정보 수신 완료 정보(162)를 수신하는 단계 및 (b-4) 상기 동기화 서버(110)가 상기 제2클라이언트(120)에 화면 제어 정보 수신 완료 정보(162)를 전송하는 단계를 포함한다.
우선, 상기 (b) 동기화 실행 단계(S120)는, (b-1) 상기 동기화 서버(110)가 상기 제2클라이언트(120)로부터 화면 제어 정보(161)를 수신하는 단계로부터 시작된다.
이때 상기 화면 제어 정보(161)는, 화면 오프셋 정보(163), 화면 확대 배율 정보(164), 화면 부분 하이라이트 정보(165), 화면 드로잉 정보(166), 하이퍼링크 클릭 정보(167)를 포함하도록 하는 것이 바람직하다.
이때 상기 화면 오프셋 정보(163)는, 해당 클라이언트 내에서 화면이 얼마만큼 스크롤되었는지를 나타내는 정보이다. 예를 들어, 상기 제2클라이언트(120)가 웹브라우저 및 그 플러그인으로 구성되고, 상기 화면 동기화 대상 문서(251)가 웹페이지인 것을 전제로, 상기 제2클라이언트(120)가 화면을 세로-아래 방향으로 500px 만큼 스크롤한 경우, 상기 화면 오프셋 정보(163)는 세로로 -500px임을 나타내는 JSON 형태의 정보가 될 수 있다.
또한, 상기 화면 확대 배율 정보(164)는, 해당 클라이언트 내에서 화면이 어느 지점을 기준으로 얼마만큼 확대 또는 축소되었는지를 나타내는 정보이다. 예를 들어, 상기 제2클라이언트(120)가 웹브라우저 및 그 플러그인으로 구성되고, 상기 화면 동기화 대상 문서(251)가 웹페이지인 것을 전제로, 상기 제2클라이언트(120)가 화면을 가로 200px, 세로 200px 지점을 기준으로 1.5배 확대하였다면, 상기 화면 확대 배율 정보(164)는 가로 200px, 세로 200px 지점을 기준으로 1.5배 확대되었음을 나타내는 JSON 형태의 정보가 될 수 있다. 상기 화면 확대 배율 정보(164)는 상기 제2클라이언트(120)가 모바일 기기에서 실행되고 있는 경우 특히 유용하게 사용될 수 있다.
또한, 상기 화면 부분 하이라이트 정보(165)는, 해당 클라이언트 내에서 렌더링된 화면 내의 어떤 텍스트 객체의 어느 부분에 하이라이트가 되었는지를 나타내는 정보이다. 예를 들어, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)는 렌더링된 상기 화면 동기화 대상 문서(251)에 포함된 특정 텍스트 객체의 특정 부분을 하이라이트 할 수 있는 기능을 사용자에게 제공할 수 있다. 이 경우 하이라이트된 부분의 DOM 구조상 객체명, 시작지점 및 종료지점에 대한 정보가 상기 화면 부분 하이라이트 정보(165)가 될 수 있다.
또한, 상기 화면 드로잉 정보(166)는, 해당 클라이언트 내에서 렌더링된 화면의 어느 부분에 드로잉이 되었는지를 나타내는 정보이다. 예를 들어, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)는 렌더링된 상기 화면 위에 레이어를 만든 뒤 상기 레이어 위에 사용자가 드로잉을 할 수 있는 기능을 제공할 수 있다. 이때 HTML5의 CANVAS 요소가 사용될 수 있을 것이다. 또한, 이때 드로잉된 색깔, 좌표, 투명도 및 굵기 등 정보가 상기 화면 드로잉 정보(166)에 포함될 수 있다. 또한, 사용자가 드로잉을 할 수 있는 기능을 제공함으로써, 상기 동기화 서버(110)는 상기 제1클라이언트(301)로부터 고객의 서명에 해당하는 상기 화면 드로잉 정보(166)를 제공받을 수 있다. 고객의 서명에 해당하는 상기 화면 드로잉 정보(166)가 국내의 전자서명법이나 또는 대한민국 외 국가의 법령상 전자서명에 해당하는지 여부와는 별개로, 사용자가 드로잉을 할 수 있는 기능은 고객으로부터 확인을 받거나 고객의 법적 의사표시를 확인하는 목적으로 유용하게 사용될 수 있다.
또한, 상기 하이퍼링크 클릭 정보(167)는, 해당 클라이언트 내에서 렌더링된 화면에 포함되는 하이퍼링크(255)가 클릭된 경우 해당 하이퍼링크의 DOM 구조상 객체명 및 해당 하이퍼링크의 URL을 포함하는 정보이다.
이에 따라, 상기 제2클라이언트(120)로부터 상기 동기화 서버(110)가 상기 화면 제어 정보(161)를 수신하여, 이를 상기 제1클라이언트(301)로 전송하면, 상기 제1클라이언트(301)는 전송받은 상기 화면 제어 정보(161)에 따라 화면을 스크롤하거나, 확대 또는 축소하거나, 하이라이트하거나, 화면 위에 드로잉을 하거나 또는 특정 하이퍼링크(255)를 클릭함으로써 화면을 변경하여 상기 제2클라이언트(120)와 화면을 동기화하는 것이다.
한편, 이하에서는 도 2를 참조하여 본 발명의 다른 일 실시예에 대하여 설명한다.
도 2는 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 의 개요를 설명하기 위해 도시한 순서도이다.
본 발명의 다른 일 실시예에 따르면, 상기 (a) 동기화 준비 단계(S110)는 (a-5) 상기 제2클라이언트(120)에 포지셔닝 레이어(121)를 생성하는 단계를 더 포함할 수 있다.
이때, 상기 포지셔닝 레이어(121)는 상기 화면 제어 정보(161)를 입력받기 위한 것이다.
상기 제1클라이언트(301) 및 상기 제2클라이언트(120)가 각각 상기 화면 프로파일 설정 정보(155)를 전송받고 그에 따라 같은 화면을 표시할 수 있도록 클라이언트의 화면을 설정하지만, 브라우저의 종류나 버전간 차이로 인하여 완벽하게 동일한 화면이 표시되지 않을 가능성도 존재한다. 이에, 상기 가능성이 존재하는 경우에는, 상기 화면 동기화 대상 문서(251)를 크로스 브라우저(cross-browser)가 될 수 있는 것으로 미리 생성해둘 수 있다. 이를 위해 브라우저에 따라 특정 영역의 크기나 위치가 바뀌지 않도록 이미지를 사용하거나, 또는 주요한(클릭 가능한 것 포함) DOM 객체의 화면에서의 위치 및 크기가 브라우저 설정에 따라 변동되지 않도록 position 속성을 fixed로 설정하고 width 및 height 속성 또는 top, bottom, left, right 속성을 고정해 둘 수도 있을 것이다.
나아가, 상기 제2클라이언트(120)가 상기 화면 동기화 대상 문서(251) 위에 상기 포지셔닝 레이어(121)를 생성한다. 상기 포지셔닝 레이어(121)는 상기 화면 동기화 대상 문서(251) 위에 존재하는 레이어로서, 예를 들어 제2클라이언트(120)의 디스플레이 영역 중에서 상기 화면 동기화 대상 문서(251)를 표시하는 부분을 모두 덮는 투명한 div 객체로서 생성될 수 있을 것이다.
그리고, 상기 제2클라이언트(120)는 사용자의 동작에 관한 정보를 포함하는 상기 화면 제어 정보(161)를 상기 포지셔닝 레이어(121)위에서 입력받고, 이를 상기 동기화 서버(110)에 전달한다. 이때, 상기 화면 제어 정보(161)는 상기 포지셔닝 레이어(121)위에서 입력받은 동작정보를 포함하는 것을 특징으로 한다. 즉, 화면의 줌인, 줌아웃, 패닝, 스크롤, 클릭, 텍스트 타이핑, 마우스 드래깅 및 하이라이트, 드로잉에 대한 정보(이벤트 발생 위치, 이벤트 내용, 입력받은 텍스트 포함)를 포함하는 것을 특징으로 하는 것이다. 그 뒤 상기 동기화 서버(110)는 상기 화면 제어 정보(161)를 상기 제1클라이언트(301)에 전송하고, 상기 제1클라이언트(301)는 그 화면에 표시를 위하여 생성된 레이어(302) 위에서 하이라이트, 드로잉 등을 구현하거나 또는 상기 화면 제어 정보(161)에 따라 화면을 줌인, 줌아웃, 패닝, 스크롤 등 할 수 있다.
이때, 상기 제2클라이언트(120)가 상기 화면 동기화 대상 문서(251) 위에 상기 포지셔닝 레이어(121)를 생성하고, 상기 제2클라이언트(120)가 상기 화면 제어 정보(161)를 상기 포지셔닝 레이어(121)위에서 입력받음에 있어서, 상기 포지셔닝 레이어(121)아래의 객체와 상호작용이 필요한 경우, 예를 들어 하이퍼링크의 클릭이나 input 창에의 텍스트 입력이 필요한 경우에 있어서는, 상기 포지셔닝 레이어(121)위에서 입력된 클릭 등 행위가 있었던 위치에 대응되는(이때 그 대응은 상기 줌인, 줌아웃, 패닝, 스크롤 등이 있는 경우 그에 따른 화면의 변경을 계산하여 행한다) 상기 포지셔닝 레이어(121) 아래의 상기 화면 동기화 대상 문서(251)의 DOM 객체를 상기 제2클라이언트(120)가 특정한 후, 예를 들어 상기 포지셔닝 레이어(121)위에서의 클릭 위치가 상기 DOM 객체상 하이퍼링크에 대응되는 경우에는 해당 하이퍼링크(255)에 클릭 이벤트를 발생시킴과 아울러 대응되는 상기 하이퍼링크 클릭 정보(167)를 생성하고, 상기 포지셔닝 레이어(121)위에서의 클릭 위치가 상기 DOM 객체상 input 창에 대응되는 경우에는 해당 input 창을 활성화시킴과 아울러 상기 하이퍼링크 클릭 정보(167)를 생성한 뒤 텍스트를 입력받을 수 있도록 할 수 있다. 한편 하이라이트의 경우, 상기 본 발명의 일 실시예에서와 같이 해당 DOM 객체를 찾아 상기 화면 부분 하이라이트 정보(165)를 생성하여 이를 상기 동기화 서버(110)에 전달할 수도 있을 것이고, 또는 해당 DOM 객체와 대응하지 않고 상기 표시를 위한 레이어(302) 위에 상기 화면 드로잉과 동일한 방법으로 구현할 수도 있을 것이다. 이때 상기 제2클라이언트(120)는 상기 포지셔닝 레이어(121)위에서 입력된 상기 화면 제어 정보(161)를 상기 포지셔닝 레이어(121)아래에 위치한 DOM 객체에 대응되는 정보로 번역하여 새로운, 즉 번역된 화면 제어 정보(161)(클릭된 DOM 객체가 어떤 것인지, 그리고 해당 객체에 대하여 어떤 이벤트가 발생하였는지, 어떤 텍스트를 입력받았는지 포함)를 생성하게 된다. 나아가, 상기 번역된 화면 제어 정보(161)를 상기 동기화 서버(110)에 전송하고, 상기 동기화 서버(110)는 이를 다시 상기 제1클라이언트(301)에 전송한다.
한편, 상기 본 발명의 실시예들에 있어서, 상기 (a-4) 단계에서 전송되는 화면 동기화 대상 문서 위치 정보(152)가 가리키는 화면 동기화 대상 문서(251)는, 그 전송 전에 상기 동기화 서버(110)가, 상기 화면 동기화 대상 문서(251)에 앵커(anchor)들(252) 및 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)를 추가하거나 또는 상기 화면 동기화 대상 문서(251)에 앵커들(252)이 이미 포함되어 있는 경우에는 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)만을 추가한 후 상기 요소들(252, 253)이 추가된 상기 화면 동기화 대상 문서(251)를 전송하는 것을 특징으로 할 수 있다.
또는, 상기 본 발명의 실시예들에 있어서, 상기 화면 동기화 대상 문서(251)는, 상기 제2클라이언트(120)가 상기 화면 동기화 대상 문서(251)를 전송받은 후 전송받은 상기 화면 동기화 대상 문서(251)에 앵커들(252) 및 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)를 추가하거나 또는 전송받은 상기 화면 동기화 대상 문서(251)에 앵커들(252)이 이미 포함되어 있는 경우에는 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)만을 추가하여 렌더링 및 표시하는 것을 특징으로 할 수 있다. 이 경우, 상기 제1클라이언트(301) 또한 상기 제2클라이언트(120)와 동일하게 상기 앵커들(252) 및 상기 목차(253)를 추가하거나 또는 상기 목차(253)만을 추가할 수 있다.
이때, 상기 본 발명의 실시예들에 있어서, 상기 앵커들(252)은 상기 화면 동기화 대상 문서(251) 중 고객 등 사용자의 text 입력이 필요하거나, 그 내용상 고객 등 사용자가 보고 확인해 주어야 하는 부분 또는 기타 중요 부분에 미리 삽입되어 있을 수 있다. 또는, 상기 앵커들(252)이 미리 삽입되어 있지 않아 상기 동기화 서버(110) 또는 상기 제2클라이언트(120)가 상기 앵커들(252)을 삽입하여야 하는 경우에는, 상기 삽입을 행하는 상기 동기화 서버(110) 또는 상기 제2클라이언트(120)가 상기 화면 동기화 대상 문서(251)를 분석하여 상기 화면 동기화 대상 문서(251)에 input 창이 있는 부분 및 DOM 구조상 footer div와 동일 수준의 주요 콘텐츠를 포함하는 영역(div)이 있는 경우 이를 다시 분할하는 각 영역(div) 중 가장 상위 영역(div)들의 시작 부분을 포함하여 이러한 중요 부분에 앵커들(252)을 형성하는 것을 특징으로 할 수도 있다.
또한, 이때 상기 앵커들(252)을 가리키는 상기 목차(253)의 링크 또한 상기 하이퍼링크 클릭 정보(167)에 있어 상기 하이퍼링크(255)가 되는바, 상기 목차(253)의 링크가 클릭된 경우에도 상기 목차(253)의 링크가 클릭되었다는 것을 나타내는 정보를 포함하는 상기 하이퍼링크 클릭 정보(167)가 전송된다.
상기 앵커들(252) 및 상기 목차(253)의 삽입을 통해, 상기 화면 동기화 대상 문서(251) 내 이동이 빨라짐과 아울러, 상기 화면 동기화 대상 문서(251)를 구조적으로 표현한 상기 목차(253)를 표시할 수 있게 되는바, 제2클라이언트(120)측의 상담 인력이 제1클라이언트(301)측의 고객에게 더 빠르고 효율적으로 화면을 공유하고 필요한 내용을 설명해줄 수 있게 된다.
다시, 상기 본 발명의 일 실시예에 따르면, 이후, 상기 (b) 동기화 실행 단계(S120)는, (b-2) 상기 동기화 서버(110)가 상기 화면 제어 정보(161)를 상기 제1클라이언트(301)에 전송하는 단계; (b-3) 상기 동기화 서버(110)가 상기 제1클라이언트(301)로부터 화면 제어 정보 수신 완료 정보(162)를 수신하는 단계 및 (b-4) 상기 동기화 서버(110)가 상기 제2클라이언트(120)에 화면 제어 정보 수신 완료 정보(162)를 전송하는 단계를 더 포함한다.
즉, 상기 화면 제어 정보(161)를 상기 동기화 서버(110)가 상기 제2클라이언트(120)로부터 전송받아 이를 상기 제1클라이언트(301)에 전송하고, 상기 제1클라이언트(301)에서 상기 화면 제어 정보(161)를 수신 완료한 뒤 상기 화면 제어 정보 수신 완료 정보(162)를 상기 동기화 서버(110)에 전송하면, 상기 동기화 서버(110)는 이를 수신하여 상기 제2클라이언트(120)에 다시 전송하는 것이다.
이에 따라, 상기 제2클라이언트(120)로부터 상기 동기화 서버(110)가 상기 화면 제어 정보(161)를 수신하여, 이를 상기 제1클라이언트(301)로 전송하면, 상기 제1클라이언트(301)는 전송받은 상기 화면 제어 정보(161)에 따라 화면을 스크롤하거나, 확대 또는 축소하거나, 하이라이트하거나, 화면 위에 드로잉을 하거나 또는 특정 하이퍼링크(255)를 클릭함으로써 화면을 변경하여 상기 제2클라이언트(120)와 화면을 동기화하면서, 상기 화면 제어 정보(161)를 수신 완료하였다는 것을 나타내는 정보인 상기 화면 제어 정보 수신 완료 정보(162)를 상기 동기화 서버(110)에 다시 전송한다.
이때, 상기 동기화 서버(110)가 상기 화면 하이퍼링크 클릭 정보(167)를 포함한 상기 화면 제어 정보(161)를 수신한 경우, 상기 화면 제어 정보 수신 완료 정보(162)는 하이퍼링크 대상 문서 로딩 완료 정보(168)를 포함할 수 있다. 즉, 상기 화면 제어 정보(161)가 상기 하이퍼링크 클릭 정보(167)를 포함한다는 것은, 상기 제2클라이언트(120)의 화면 내 특정 하이퍼링크(255)가 클릭되었다는 것을 의미하며, 이는 새로운 문서가 화면에 로딩됨을 의미한다. 이 경우 상기 제1클라이언트(301)가 상기 새로운 문서를 로딩 완료하여야 상기 제2클라이언트(120)의 화면과 화면 동기화가 될 수 있으므로, 상기 화면 제어 정보(161) 수신 완료정보에 상기 새로운 문서의 로딩이 완료되었다는 것을 나타내는 상기 하이퍼링크 대상 문서 로딩 완료 정보(168)를 포함하여 상기 동기화 서버(110)에 전송하도록 할 수 있다.
한편, 상기 제2클라이언트(120)는 상기 화면 제어 정보 수신 완료 정보(162)를 수신한 경우 상기 제2클라이언트(120)의 디스플레이에 상기 화면 제어 정보 수신 완료 정보(162)를 수신하였다는 점을 표시할 수 있다. 예를 들어, 상기 화면 제어 정보 수신 완료 정보(162)를 수신하였다는 점을 표시하는 것은, 상기 제2클라이언트(120)의 화면에 수신 완료 큐(que)를 표시하는 것으로서 이루어질 수 있다. 이로써 상기 제2클라이언트(120)를 제어하는 상담 인력 등이 상기 제1클라이언트(301)의 화면과 상기 제2클라이언트(120)의 화면이 동기화되었음을 알 수 있도록 하는 것이다.
한편, 상기 동기화 서버(110)가 상기 제2클라이언트(120)로부터 지정된 상기 제1클라이언트(301) 중 하나의 클라이언트로의 화면 제어권한 추가 지정 요청(169)을 상기 제2클라이언트(120)로부터 수신한 경우, 상기 동기화 서버(110)가 상기 지정된 제1클라이언트(301)를 상기 (b) 동기화 실행 단계(S120)에 있어서 상기 제2클라이언트(120)로 지정하고 그로부터 상기 화면 제어 정보(161)를 입력받아 이를 다른 제1클라이언트(301) 및 제2클라이언트(120)와 동기화할 수 있다.
즉, 상기 제2클라이언트(120) 뿐만 아니라 상기 제1클라이언트(301) 중 하나 또는 복수개의 클라이언트도 화면 제어권한을 추가적으로 가질 수 있게 되는 것이다. 이 에서 상기 지정된 상기 제2클라이언트(120) 중 하나의 클라이언트로 이전될 수 있는 것이다.
이때, 화면 제어권한을 추가 지정함에 있어, 가능한 화면 제어권한의 일부만을 상기 지정된 제1클라이언트(301)에게 부여할 수도 있을 것이다. 예를 들어, 화면의 줌인, 줌아웃, 패닝, 스크롤과 같은 화면 변경 권한은 상기 제2클라이언트(120)만이 갖고, 나머지 권한(하이퍼링크 클릭, 하이라이트, 드로잉 포함)은 상기 지정된 제1클라이언트(301)가 추가적으로 갖도록 할 수 있다.
이하에서는 도 3을 참조하여, 상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템(100)에 관하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템(100)을 설명하기 위해 도시한 블록도이다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템(100)은, 제1클라이언트(301)로부터 화면 동기화 세션 생성 요청(151)(request) 및 화면 동기화 대상 문서 위치 정보(152)를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트(120)로부터 화면 동기화 세션 참가 요청(153)을 수신하고, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)로부터 각각 화면 프로파일 정보(154)를 수신하며, 화면 프로파일 설정 정보(155)를 생성하고, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 각각 화면 프로파일 설정 정보(155)를 전송하고 상기 제2클라이언트(120)에 화면 동기화 대상 문서 위치 정보(152)를 전송하며, 상기 제2클라이언트(120)로부터 화면 제어 정보(161)를 수신하고, 상기 화면 제어 정보(161)를 상기 제1클라이언트(301)에 전송하며, 상기 제1클라이언트(301)로부터 화면 제어 정보 수신 완료 정보(162)를 수신하고, 상기 제2클라이언트(120)에 화면 제어 정보 수신 완료 정보(162)를 전송하는 것을 특징으로 하는 동기화 서버(110)를 포함한다.
이때, 상기 동기화 서버(110)의 특징을 이루는 각 요소에 대한 설명은, 상기 과제를 달성하기 위한 본 발명의 일 실시예 및 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)에 있어 상기 각 요소에 관한 설명과 동일하다.
즉, 이때 상기 화면 프로파일 정보(154)는 클라이언트 디스플레이 해상도 정보(157)를 포함하는 클라이언트 기기 정보(156)를 포함하며, 상기 화면 프로파일 설정 정보(155)는 상기 클라이언트 기기 정보(156) 중 적어도 하나의 모바일 기기 정보가 포함된 경우 모바일 기기용 화면 프로파일 설정 정보(155)로 생성되는 것을 특징으로 할 수 있다. 또한, 상기 화면 제어 정보(161)는 화면 오프셋 정보(163), 화면 확대 배율 정보(164), 화면 부분 하이라이트 정보(165), 화면 드로잉 정보(166), 하이퍼링크 클릭 정보(167)를 포함하도록 하는 것이 바람직하다.
또한, 상기 시스템(100)에 있어서, 상기 동기화 서버(110)가 상기 화면 하이퍼링크 클릭 정보(167)를 포함한 상기 화면 제어 정보(161)를 수신한 경우, 상기 화면 제어 정보 수신 완료 정보(162)는 하이퍼링크 대상 문서 로딩 완료 정보(168)를 포함할 수 있다.
또한, 상기 제2클라이언트(120)는 상기 화면 제어 정보 수신 완료 정보(162)를 수신한 경우 상기 제2클라이언트(120)의 디스플레이에 상기 화면 제어 정보 수신 완료 정보(162)를 수신하였다는 점을 표시할 수 있다.
또한, 상기 동기화 서버(110)가 상기 제2클라이언트(120)로부터 지정된 상기 제1클라이언트(301) 중 하나의 클라이언트로의 화면 제어권한 추가 지정 요청(169)을 상기 제2클라이언트(120)로부터 수신한 경우, 상기 동기화 서버(110)가 상기 지정된 제1클라이언트(301)를 상기 제2클라이언트(120)로 지정하고 그로부터 상기 화면 제어 정보(161)를 입력받아 이를 다른 제1클라이언트(301) 및 제2클라이언트(120)와 동기화할 수도 있다. 즉, 상기 제2클라이언트(120) 뿐만 아니라 상기 제1클라이언트(301) 중 하나 또는 복수개의 클라이언트도 화면 제어권한을 추가적으로 가질 수 있게 되는 것이다.
한편, 상기 시스템은 상기 제2클라이언트(120)를 더 포함할 수 있고, 이때 상기 제2클라이언트(120)는 상기 화면 제어 정보 수신 완료 정보(162)를 수신한 경우 그 수신된 사실을 상기 제2클라이언트(120)의 디스플레이에 표시하는 것을 특징으로 할 수 있다. 이때, 상기 시스템은 상기 동기화 서버(110) 및 상기 제2클라이언트(120)를 포함하여 구성될 수 있는 것이다. 예를 들어, 이 경우 상기 제2클라이언트(120)는 회사측 상담 인력이 사용하는 클라이언트로서 상기 동기화 서버(110)와 함께 동기화된 화면보기를 위한 시스템(100)을 구성할 수 있다.
한편, 도 4는 본 발명의 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템에 있어 포지셔닝 레이어를 설명하기 위해 도시한 블록도이다.
도 4를 참조하면, 상기 제2클라이언트(120)는 상기 화면 동기화 대상 문서(251) 위에 포지셔닝 레이어(121)를 생성하고, 상기 화면 제어 정보(161)는 상기 포지셔닝 레이어(121)위에서 입력받은 동작정보를 포함하는 것을 특징으로 할 수 있다. 상기 포지셔닝 레이어(121)의 생성 및 상기 화면 제어 정보(161)의 생성, 번역 및 전달에 관한 설명은 상기 과제를 달성하기 위한 본 발명의 일 실시예 및 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)(S100)에 있어 포지셔닝 레이어(121)의 생성 및 화면 제어 정보(161)의 생성, 번역 및 전달에 관한 설명과 동일하다.
한편, 상기 본 발명의 실시예들에 있어서, 상기 화면 동기화 대상 문서 위치 정보(152)가 가리키는 화면 동기화 대상 문서(251)는, 그 전송 전에 상기 동기화 서버(110)가, 상기 화면 동기화 대상 문서(251)에 앵커(anchor)들(252) 및 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)를 추가하거나 또는 상기 화면 동기화 대상 문서(251)에 앵커들(252)이 이미 포함되어 있는 경우에는 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)만을 추가한 후 상기 요소들(252, 253)이 추가된 상기 화면 동기화 대상 문서(251)를 전송하는 것을 특징으로 할 수 있다.
또는, 상기 본 발명의 실시예들에 있어서, 상기 화면 동기화 대상 문서(251)는, 상기 제2클라이언트(120)가 상기 화면 동기화 대상 문서(251)를 전송받은 후 전송받은 상기 화면 동기화 대상 문서(251)에 앵커들(252) 및 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)를 추가하거나 또는 전송받은 상기 화면 동기화 대상 문서(251)에 앵커들(252)이 이미 포함되어 있는 경우에는 상기 앵커들(252)을 가리키는 링크들로 구성되는 목차(253)만을 추가하여 렌더링 및 표시하는 것을 특징으로 할 수 있다. 이 경우, 상기 제1클라이언트(301) 또한 상기 제2클라이언트(120)와 동일하게 상기 앵커들(252) 및 상기 목차(253)를 추가하거나 또는 상기 목차(253)만을 추가할 수 있다.
이때, 상기 본 발명의 실시예들에 있어서, 상기 앵커들(252)의 삽입에 관한 설명 및 상기 목차(253)의 링크에 대한 설명은 상기 과제를 달성하기 위한 본 발명의 일 실시예 및 다른 일 실시예에 따른 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법(S100)(S100)에 있어 앵커들(252)의 삽입에 관한 설명 및 목차(253)의 하이퍼링크에 대한 설명과 동일하다.
이상 살펴본 바와 같이, 본 발명의 실시예들에 따르면, 기존 화면 공유 내지 동기화 기술에 비하여, 네트워크를 통해 송수신되는 데이터의 양을 획기적으로 줄일 수 있다. 화면 자체의 출력을 스트리밍 또는 호출될 GDI 함수의 전달을 통해 전송, 표시하는 것이 아니라, 예를 들어 몇 개의 key-value 쌍으로 구성된 매우 적은 패킷의 JSON 형식의 데이터가 될 수 있는 상기 화면 제어 정보(161)의 송수신만으로 여러 클라이언트에 걸쳐 화면 제어를 할 수 있기 때문이다.
또한, 본 발명의 실시예들에 따르면, 예를 들어 제2클라이언트(120)를 상담 인력이 제어하는 경우, 그 제어행위의 결과가 시간 지연 없이 바로 제2클라이언트(120)에 표시될 수 있는 장점이 있다. 앞서 설명한 바와 같이, 기존 화면 공유 내지 동기화 기술에 의하면, 상담 인력의 제어행위가 사용자 클라이언트에 전송되어 사용자 클라이언트에서 제어행위의 결과가 발생한 뒤 다시 그로 인해 변경된 화면 출력이 상담 인력의 클라이언트에 전송되어야만 상담 인력 측에서 자신의 제어행위의 결과를 확인할 수 있게 되므로, 네트워크의 상태에 따라 상담 인력의 제어행위와 상담 인력의 클라이언트에 표시되는 화면 출력의 변화 사이에 상당한 시간 지연이 발생할 수 있으며, 나아가 상담 인력이 보고 있는 화면과 사용자가 보고 있는 화면이 바로 동기화되지 않음으로써 그 상이로 인하여 의사소통에 혼란 내지 장애가 초래될 수도 있는 반면, 본 발명의 실시예들에 따르면, 예를 들어, 상담 인력의 제어행위는 제2클라이언트(120)의 화면에 바로 변경을 가져오고, 해당 제어행위에 대한 정보인 상기 화면 제어 정보(161)만을 상기 제1클라이언트(301)에 송신한 후 상기 제1클라이언트(301)측에서 그 수신을 완료하면 상기 화면 제어 정보 수신 완료 정보(162)가 다시 상기 동기화 서버(110)를 거쳐 상기 제2클라이언트(120)에 전송되고 상기 제2클라이언트(120)는 상기 수신 완료 사실을 그 화면상에 표시하므로, 상담 인력이 일단 해당 제어행위의 결과를 즉시 화면을 통해 확인한 뒤에 사용자 클라이언트에서 동기화가 제대로 진행되고 있는지 여부를 확인하여 화면 이 동기화된 뒤에 응대할 수 있다는 점에서 의사소통에 혼란 내지 장애가 초래될 가능성이 없게 되는 것이다.
또한, 본 발명의 일 실시예에 따르면, 화면 공유의 대상이 되는 것은 오직 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 렌더링되는 해당 상기 화면 동기화 대상 문서(251)가 될 뿐으로서, 해당 문서 외에 디스플레이에 표시되는 화면의 다른 부분은 전혀 공유가 되지 않으므로, 기존의 화면 공유 내지 동기화 기술과 달리 실수로 화면의 다른 부분이 공유되어 보안상 문제를 발생시킬 가능성도 없게 된다.
또한, 본 발명의 실시예들에 따르면, 상기 동기화 서버(110)가 상기 화면 프로파일 정보(154)를 생성하여 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)에 전송하고, 상기 제1클라이언트(301) 및 상기 제2클라이언트(120)가 전송받은 상기 화면 프로파일 정보(154)에 따라 화면을 설정함으로써, 기존의 화면 공유 내지 동기화 기술과 달리 클라이언트가 실행되는 단말기의 종류나 디스플레이의 해상도 등과 관계 없이 클라이언트들이 동일한 화면을 공유하게 되므로, 다양한 사용자 클라이언트 기기 환경에 쉽게 대응할 수 있게 된다.
또한, 본 발명의 실시예들에 따르면, 상기 포지셔닝 레이어(121)위에서 입력받은 상기 화면 제어 정보(161) 및 그와 대응되는 DOM 객체에 관한 정보만을 전송하여 화면 동기화를 구현함으로써, 브라우저의 종류나 버전간 차이로 인하여 완벽히 동일한 화면이 표시되지 않을 가능성을 줄일 수 있고, 서버에서 주요한 정보를 생성하고 클라이언트에서는 정보를 주로 표시만 하는 경우가 많은 웹 또는 클라우드 환경에 적합한, 보다 효율적인 화면 공유 내지 동기화 기술을 제공할 수 있다.
본 발명의 실시예들에 따르면, 예를 들어, 구매자(제1클라이언트(301))가 판매자(제2클라이언트(120))에게 제품의 세부 내용 파악 및 적정 제품 선택을 위한 지원을 요청하고, 판매자(제2클라이언트(120))는 구매자(제1클라이언트(301))가 보는 화면을 공유받아 보면서 구매자의 구매를 쉽게 지원할 수 있게 되는 것이다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (20)

  1. 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법으로서,
    (a) 동기화 준비 단계 및
    (b) 동기화 실행 단계를 포함하고,
    상기 (a) 동기화 준비 단계는,
    (a-1) 동기화 서버가 제1클라이언트로부터 화면 동기화 세션 생성 요청(request) 및 화면 동기화 대상 문서 위치정보를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트로부터 화면 동기화 세션 참가 요청을 수신하는 단계;
    (a-2) 상기 동기화 서버가 상기 제1클라이언트 및 상기 제2클라이언트로부터 각각 화면 프로파일 정보를 수신하는 단계;
    (a-3) 상기 동기화 서버가 화면 프로파일 설정 정보를 생성하는 단계 및
    (a-4) 상기 동기화 서버가 상기 제1클라이언트 및 상기 제2클라이언트에 각각 화면 프로파일 설정 정보를 전송하고 상기 제2클라이언트에 화면 동기화 대상 문서 위치정보를 전송하는 단계를 포함하고,
    상기 (b) 동기화 실행 단계는,
    (b-1) 상기 동기화 서버가 상기 제2클라이언트로부터 화면 제어 정보를 수신하는 단계;
    (b-2) 상기 동기화 서버가 상기 화면 제어 정보를 상기 제1클라이언트에 전송하는 단계;
    (b-3) 상기 동기화 서버가 상기 제1클라이언트로부터 화면 제어 정보 수신 완료 정보를 수신하는 단계 및
    (b-4) 상기 동기화 서버가 상기 제2클라이언트에 화면 제어 정보 수신 완료 정보를 전송하는 단계를 포함하는,
    웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  2. 제1항에 있어서,
    상기 화면 제어 정보는 화면 오프셋 정보 및 화면 확대 배율 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  3. 제1항에 있어서,
    상기 화면 프로파일 정보는 클라이언트 기기 정보를 포함하고,
    상기 클라이언트 기기 정보는 클라이언트 디스플레이 해상도 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  4. 제3항에 있어서,
    상기 화면 프로파일 설정 정보는 상기 클라이언트 기기 정보 중 적어도 하나의 모바일 기기 정보가 포함된 경우 모바일 기기용 화면 프로파일 설정 정보로 생성되는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  5. 제1항에 있어서,
    상기 화면 제어 정보는 화면 부분 하이라이트 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  6. 제1항에 있어서,
    상기 화면 제어 정보는 화면 하이퍼링크 클릭 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  7. 제1항에 있어서,
    상기 화면 제어 정보 수신 완료 정보는 하이퍼링크 대상 문서 로딩 완료 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  8. 제1항에 있어서,
    상기 화면 제어 정보는 화면 드로잉 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  9. 제1항에 있어서,
    상기 제2클라이언트는 상기 화면 제어 정보 수신 완료 정보를 수신한 경우 수신되었다는 점을 상기 제2클라이언트의 디스플레이에 표시하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  10. 제1항에 있어서,
    상기 (a) 동기화 준비 단계는 (a-5) 상기 제2클라이언트에 포지셔닝 레이어를 생성하는 단계를 더 포함하고,
    상기 화면 제어 정보는 상기 포지셔닝 레이어 위에서 입력받은 동작정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법.
  11. 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템으로서,
    제1클라이언트로부터 화면 동기화 세션 생성 요청(request) 및 화면 동기화 대상 문서 위치정보를 수신하고, 화면 동기화 세션을 생성하며, 제2클라이언트로부터 화면 동기화 세션 참가 요청을 수신하고, 상기 제1클라이언트 및 상기 제2클라이언트로부터 각각 화면 프로파일 정보를 수신하며, 화면 프로파일 설정 정보를 생성하고, 상기 제1클라이언트 및 상기 제2클라이언트에 각각 화면 프로파일 설정 정보를 전송하고 상기 제2클라이언트에 화면 동기화 대상 문서 위치정보를 전송하며, 상기 제2클라이언트로부터 화면 제어 정보를 수신하고, 상기 화면 제어 정보를 상기 제1클라이언트에 전송하며, 상기 제1클라이언트로부터 화면 제어 정보 수신 완료 정보를 수신하고, 상기 제2클라이언트에 화면 제어 정보 수신 완료 정보를 전송하는 것을 특징으로 하는 동기화 서버를 포함하는,
    웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  12. 제11항에 있어서,
    상기 화면 제어 정보는 화면 오프셋 정보 및 화면 확대 배율 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  13. 제11항에 있어서,
    상기 화면 프로파일 정보는 클라이언트 기기 정보를 포함하고,
    상기 클라이언트 기기 정보는 클라이언트 디스플레이 해상도 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  14. 제13항에 있어서,
    상기 화면 프로파일 설정 정보는 상기 클라이언트 기기 정보 중 적어도 하나의 모바일 기기 정보가 포함된 경우 모바일 기기용 화면 프로파일 설정 정보로 생성되는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  15. 제11항에 있어서,
    상기 화면 제어 정보는 화면 부분 하이라이트 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  16. 제11항에 있어서,
    상기 화면 제어 정보는 화면 하이퍼링크 클릭 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  17. 제11항에 있어서,
    상기 화면 제어 정보 수신 완료 정보는 하이퍼링크 대상 문서 로딩 완료 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  18. 제11항에 있어서,
    상기 화면 제어 정보는 화면 드로잉 정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  19. 제11항에 있어서,
    상기 시스템은 상기 제2클라이언트를 더 포함하고,
    상기 제2클라이언트는 상기 화면 제어 정보 수신 완료 정보를 수신한 경우 수신되었다는 점을 상기 제2클라이언트의 디스플레이에 표시하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
  20. 제11항에 있어서,
    상기 제2클라이언트는 동기화 대상 문서 위에 포지셔닝 레이어를 생성하고,
    상기 화면 제어 정보는 상기 포지셔닝 레이어 위에서 입력받은 동작정보를 포함하는 것을 특징으로 하는 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 시스템.
PCT/IB2018/054267 2017-06-12 2018-06-12 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템 WO2018229661A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170072957A KR20180135190A (ko) 2017-06-12 2017-06-12 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템
KR10-2017-0072957 2017-06-12

Publications (1)

Publication Number Publication Date
WO2018229661A1 true WO2018229661A1 (ko) 2018-12-20

Family

ID=64659980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/054267 WO2018229661A1 (ko) 2017-06-12 2018-06-12 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20180135190A (ko)
WO (1) WO2018229661A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158631A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种信息交互方法、装置、终端及存储介质
CN111221490A (zh) * 2019-12-31 2020-06-02 深圳市康拓普信息技术有限公司 一种多屏联动方法以及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140137642A (ko) * 2013-05-23 2014-12-03 네이버 주식회사 단말기간 화면 공유 제어 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
WO2015041438A1 (en) * 2013-09-17 2015-03-26 Samsung Electronics Co., Ltd. Method for screen mirroring and source device thereof
KR20150035323A (ko) * 2013-09-27 2015-04-06 삼성전자주식회사 콘텐트를 공유하는 방법 및 그 장치
KR20160081002A (ko) * 2014-12-30 2016-07-08 하영식 화면 공유 시스템 및 화면 공유 방법과 관리서버 및 관리서버의 운영방법
JP2017021871A (ja) * 2010-10-26 2017-01-26 株式会社リコー 画面共有サービス提供システム、情報処理装置、画面共有サービス提供方法、画面共有サービス提供プログラム、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017021871A (ja) * 2010-10-26 2017-01-26 株式会社リコー 画面共有サービス提供システム、情報処理装置、画面共有サービス提供方法、画面共有サービス提供プログラム、及びプログラム
KR20140137642A (ko) * 2013-05-23 2014-12-03 네이버 주식회사 단말기간 화면 공유 제어 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
WO2015041438A1 (en) * 2013-09-17 2015-03-26 Samsung Electronics Co., Ltd. Method for screen mirroring and source device thereof
KR20150035323A (ko) * 2013-09-27 2015-04-06 삼성전자주식회사 콘텐트를 공유하는 방법 및 그 장치
KR20160081002A (ko) * 2014-12-30 2016-07-08 하영식 화면 공유 시스템 및 화면 공유 방법과 관리서버 및 관리서버의 운영방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158631A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种信息交互方法、装置、终端及存储介质
CN111221490A (zh) * 2019-12-31 2020-06-02 深圳市康拓普信息技术有限公司 一种多屏联动方法以及系统
CN111158631B (zh) * 2019-12-31 2023-07-28 中国银行股份有限公司 一种信息交互方法、装置、终端及存储介质

Also Published As

Publication number Publication date
KR20180135190A (ko) 2018-12-20

Similar Documents

Publication Publication Date Title
TW513637B (en) Method and system for sharing the browser
US9307009B2 (en) Presenting execution of a remote application in a mobile device native format
US9794735B2 (en) Context determination for mobile devices when accessing remote resources
CN102362477B (zh) 用于计算机桌面远程共享的方法
US7783985B2 (en) Systems and methods for transferring data between computing devices
WO2011014040A2 (en) Method and device for creation of integrated user interface
KR20230152060A (ko) 문서 및 미디어 url을 안전하게 공동 브라우징하기 위한 방법 및 장치
WO2012011745A2 (en) Apparatus and method for transmitting and receiving remote user interface data in a remote user interface system
US20190324704A1 (en) Multiuser interactive display system and method
JP2024515928A (ja) ページ遷移方法、装置、機器、記憶媒体及びプログラム製品
TWI253555B (en) A keyboard-mouse-video switch with digital visual interface
JP2020024712A (ja) コミュニケーション支援装置、方法、及びコンピュータプログラム
US20140006915A1 (en) Webpage browsing synchronization in a real time collaboration session field
WO2017185836A1 (zh) 一种基于即时通讯软件的聊天背景呈现方法
WO2018229661A1 (ko) 웹 또는 클라우드 환경의 클라이언트간 동기화된 화면보기를 위한 방법 및 시스템
CN110958479B (zh) 多信号源场景上屏显示方法及多信号源场景上屏显示系统
WO2024128602A1 (ko) 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버
JP2019139276A (ja) Web共有システム、プログラム
WO2023024800A1 (zh) 基于web的多终端设备互动方法、系统、终端设备
WO2014204189A1 (ko) 어플리케이션 실행의 개별단계를 위한 가상 공간 제공 시스템
JP2015049658A (ja) 情報処理端末およびその制御方法、システムおよびその制御方法、並びにプログラム
JP2018041240A (ja) 表示装置、表示方法及び表示プログラム
WO2018117956A1 (en) Method and system for displaying data
TWI649655B (zh) 遠端管理方法
JP2002189586A (ja) ブラウザ機能を利用したマルチディスプレイ制御装置とシステム及び方法

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: 18817799

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18817799

Country of ref document: EP

Kind code of ref document: A1