KR100429059B1 - 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템 - Google Patents

클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템 Download PDF

Info

Publication number
KR100429059B1
KR100429059B1 KR10-2001-0028574A KR20010028574A KR100429059B1 KR 100429059 B1 KR100429059 B1 KR 100429059B1 KR 20010028574 A KR20010028574 A KR 20010028574A KR 100429059 B1 KR100429059 B1 KR 100429059B1
Authority
KR
South Korea
Prior art keywords
web browser
client
peer
application
web
Prior art date
Application number
KR10-2001-0028574A
Other languages
English (en)
Other versions
KR20020089659A (ko
Inventor
김재형
김지한
홍종철
권봉기
Original Assignee
주식회사 비즈모델라인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 비즈모델라인 filed Critical 주식회사 비즈모델라인
Priority to KR10-2001-0028574A priority Critical patent/KR100429059B1/ko
Publication of KR20020089659A publication Critical patent/KR20020089659A/ko
Application granted granted Critical
Publication of KR100429059B1 publication Critical patent/KR100429059B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1453Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network
    • H04L12/1482Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network involving use of telephony infrastructure for billing for the transport of data, e.g. call detail record [CDR] or intelligent network infrastructure

Abstract

본 발명은 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹 브라우저 동기화 방법 및 시스템에 관한 것으로, 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)을 이용하여 형성된 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 자동 이동하도록 함으로써, 다수의 클라이언트간에 동일한 웹브라우져에서 동시에 웹서핑을 즐길 수 있도록 하는 방법 및 시스템이다.
본 발명은 IPC(InterProcess Communication)와 같은 프로세스 간 데이터 통신 기법을 통해 클라이언트에 탑재되어 있는 클라이언트간 데이터 직접 통신(Peer-to-Peer, 이하 P2P라함.) 응용프로그램과 웹브라우저를 실시간 연동시키고, 상기 P2P 응용프로그램으로부터 고유의 P2P 연결 방식을 통해 외부 클라이언트의 P2P 응용프로그램과 연결하여 Peer-to-Peer(P2P) 망을 구성하고, 상기 클라이언트의 웹브라우저에서 발생하는 메시지 또는 이벤트를 상기 IPC를 이용하여 상기 P2P 응용프로그램에서 실시간 추적하여, 상기 추적 결과를 상기 기 구성된 P2P 망을 통해 타 클라이언트에 탑재되어 있는 P2P 응용프로그램으로 실시간 전송하여 각각의 클라이언트들을 동기화 시킴으로써, 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 상기 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 이동하도록 하는 방법 및 시스템이다.

Description

클라이언트간 데이터 직접 통신을 이용한 다자간 웹브라우저 동기화 방법 및 시스템{System and Method for syncronizing web browser of multi-users by using the direct data communication(P2P) between clients}
본 발명은 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)을 이용하여 형성된 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 자동 이동하도록 함으로써, 다수의 클라이언트간에 동일한 웹브라우저에서 동시에 웹서핑을 즐길 수 있도록 하는 방법 및 시스템이다.
인터넷은 1960년대 일부의 물리적인 네트워크 손실이 전체로 확산되는 것을 방지하기 위해 개발된 네트워크로써, 미국 내 4개의 호스트를 연결했던 ARPANET을 거쳐, NSF(National Science Foundation)의 슈퍼컴퓨터 간 통신을 위한 구축된 NSFNET으로 통합 발전하였다. 이와 같은 발전 과정에서 인터넷은 운용 중에 새로운 노드가 추가되거나 삭제되어도 전체 네트워크 시스템에 미치는 영향이 비교적 적으며, 다양한 이기종간 데이터 통신을 가능하게 하는 특징을 가지고 있다. 이런 특징에 의하여 인터넷은 호스트와 호스트를 연결하는 네트워크로써, 인터넷의 네트워크 구성 요소를 인터넷 서비스를 제공하는 서버와 그 서비스를 제공받는 클라이언트로 분리시키고 있다.
상기와 같은 클라이언트 서버 구조를 바탕으로 WWW(World Wide Web) 서비스를 제공하는 기존 인터넷은 서버에 대하여 복수의 클라이언트 접근을 허락하며, 서버는 각각의 클라이언트에 대하여 세션(Session)을 할당함으로써, 클라이언트가 서버에서 필요한 작업을 정상적으로 수행할 수 있도록 한다. 세션은 클라이언트가 서버에 접속하면서 서버에 설치되어 있는 웹 서버 프로그램 등에 의하여 생성되며, 클라이언트가 서버에서 필요한 작업을 정상적으로 종료하거나, 아무런 작업 없이 일정 시간이 경과하면 자동 소멸된다. 이와 같은 세션은 서버에 접속한 각각의 클라이언트에게 독립적인 작업 환경을 제공하며, 각각의 작업들이 서로 충돌하는 것을 방지하고, 서버에 접속한 모든 클라이언트가 최적화된 작업을 수행할 수 있도록하는 역할을 한다. 결국 세션은 단일 서버 시스템에서 복수의 클라이언트에 대한 개별적인 서비스 요청을 다중 작업을 통해 정상적으로 처리할 수 있는 환경을 제공하며, 이와 같은 경우에 대하여 클라이언트들은 서로 연동되거나 동기화된 웹 브라우징 서비스를 제공받을 수 없다.
그러나, WWW의 발달과 함께 연동되거나 동기화 된 웹 브라우징 서비스에 대한 요구는 증가하고 있으며, 특히 인터넷을 통한 강의나 세미나와 같은 사이버 교육용 웹사이트, 또는 복수 클라이언트가 동시에 쇼핑할 수 있는 전자상거래 사이트와 같은 인터넷 서비스를 클라이언트에게 제공하기 위해서는, 컨텐츠 제공자에 접속하는 각각의 클라이언트가 서로 연동되거나 동기화 되어야 하며, 이와 같은 서비스는 클라이언트에 탑재되어 있는 기존 웹브라우저와 컨텐츠 제공자에 탑재되어 있는 서버 시스템만으로는 구현할 수 없다.
도면1은 기존 클라이언트 서버 구조의 인터넷에서 클라이언트 웹브라우저가 컨텐츠 제공자에 연결하는 과정에 대한 간단한 블록도이다.
클라이언트가 컨텐츠 제공자에 접속하여 컨텐츠를 제공받는 일반적인 과정은 다음과 같다.
인터넷 사용자가 클라이언트의 웹브라우저에 URL(Uniform ResourceLocator)을 직접 입력하거나 하이퍼링크 서비스를 요청하면, 웹브라우저는 이 URL에서 컨텐츠 제공자의 도메인 이름(Domain Name)을 추출하여 클라이언트 측 DNS(Domain Name Server)에게 컨텐츠 제공자의 IP(Internet Protocol) 주소를 요청한다. 이와 같은 과정으로 컨텐츠 제공자의 IP 주소를 요청 받은 클라이언트 측 DNS는 컨텐츠 제공자 측 DNS에게 컨텐츠 제공자의 IP 주소를 요청하고, 컨텐츠 제공자 DNS는 컨텐츠 제공자의 IP 주소를 클라이언트 측 DNS를 통해 클라이언트 웹브라우저로 전송한다.
컨텐츠 제공자의 IP 주소를 전달받은 웹브라우저는 이것을 참조하여 컨텐츠 제공자에 접속하고, URL의 나머지 정보를 참조하여 해당 경로에 저장되어 있는 HTML(HyperText Markup Language) 문서를 요청한다.
상기와 같은 과정으로 클라이언트 웹브라우저로부터 HTML 문서를 요청 받은 컨텐츠 제공자는 클라이언트 웹브라우저로 해당 HTML 문서를 전송한다. 이 때 컨텐츠 제공자에서 클라이언트 웹브라우저로 전송되는 HTML 문서는 텍스트 파일이며, 이 파일 안에는 실제로 클라이언트 웹브라우저를 통해 화면에 출력되는 문자 정보는 물론, 이미지 파일, 오디오 파일, 그리고 동영상이나 플래시 애니메이션과 같은 멀티미디어 파일의 정보 등이 포함되어 있다.
컨텐츠 제공자로부터 상기와 같은 HTML 문서를 전송 받은 클라이언트 웹브라우저는 해당 HTML 문서 안에 포함되어 있는 각종 컨텐츠들의 경로 정보 등을 분석하여, 해당 웹 서버의 경로에 저장되어 있는 문자 파일, 이미지 파일, 오디오 파일, 그리고 멀티미디어 파일 등을 클라이언트 웹브라우저로 전송하도록 요청한다. 이 때 전송을 요청하는 각종 컨텐츠들의 경로는 컨텐츠 제공자 내부일 수도 있고, 다른 웹 서버 즉, 다른 컨텐츠 제공자일 수도 있다. 만약 동일한 컨텐츠 제공자 내부에 저장되어 있는 컨텐츠를 요청하는 경우라면, 웹브라우저는 해당 컨텐츠 제공자에게 컨텐츠 전송을 직접 요청한다. 그러나 반대로 다른 웹 서버에 저장되어 있는 컨텐츠를 요청하는 경우에는 상기와 같이 DNS를 통해 IP 주소를 얻는 과정을 반복하여 해당 컨텐츠 제공자에 접속하고, 해당 경로에 저장되어 있는 컨텐츠 전송을 요청한다.
클라이언트 웹브라우저로부터 컨텐츠 전송을 요청 받은 컨텐츠 제공자들이 해당 경로에 저장되어 있는 각종 컨텐츠를 클라이언트 웹브라우저로 전송하면, 클라이언트 웹브라우저는 이렇게 컨텐츠 제공자들로부터 전송 받은 HTML 문서와 각종 컨텐츠들을 화면에 출력한다.
도면2는 웹브라우저 연결 서버를 통해 컨텐츠 제공자에 대한 특정 클라이언트의 서비스 요청을 다른 클라이언트로 전송함으로써, 컨텐츠 제공자에 대한 클라이언트들의 웹 브라우징을 동기화 하는 간단한 블록도로써, 인터넷에 연결되어 있는 특정 클라이언트가 도면1과 같은 방법으로 컨텐츠 제공자로부터 해당 컨텐츠를제공받은 후, 이것을 웹브라우저 연결 서버를 통해 다른 클라이언트와 연동하는 방법에 대한 것이다.
클라이언트A는 인터넷에 연결되어 있는 특정 클라이언트이며, 클라이언트A가 도면1과 같은 방법으로 컨텐츠 제공자로부터 URL 리소스를 전송 받으면, 클라이언트A의 웹브라우저는 이 과정에서 처리되는 URL 리소스 정보를 웹브라우저 연결 서버를 통해 클라이언트B로 전송한다.
클라이언트A로부터 웹브라우저 연결 서버를 통해 URL 리소스 정보를 전송 받은 클라이언트B 웹브라우저는 전송 받은 패킷에서 URL 리소스만을 추출하여, 컨텐츠 제공자에서 클라이언트A와 동일한 URL 리소스를 요청한다.
클라이언트B로부터 클라이언트A와 동일한 URL 리소스 전송을 요청 받은 컨텐츠 제공자는 해당 컨텐츠를 클라이언트B로 전송함으로써, 클라이언트A와 클라이언트B는 서로 연동된다.
이와 같은 웹브라우저 연결 서버를 이용한 다자간 클라이언트 연동 방법에서 모든 클라이언트는 웹브라우저 연결 서버에 접속해 있으며, 컨텐츠 제공자에 URL 리소스를 최초로 요청하는 클라이언트A는 웹브라우저 연결 서버는 물론 컨텐츠 제공자에 직접 접속해 있다. 그리고 클라이언트A의 웹브라우저에서 발생하는 모든이벤트는 웹브라우저 연결서버를 통해서 클라이언트B와 같은 다른 클라이언트에 전송된다. 그러나 클라이언트B와 같이 클라이언트A와 연동되어 있는 다른 클라이언트가 컨텐츠에 URL 리소스를 요청하면, 해당 클라이언트들은 웹브라우저 연결 서버는 물론 컨텐츠 제공자에 동시에 접속하게 되며, 이것은 웹브라우저 연결 서버 및 컨텐츠 제공자에 동시 접속자 폭주에 의한 전송 지연을 유발하는 원인을 제공한다.
클라이언트 서버 구조에서 일반적으로 발생하는 전송 지연은 웹 서버의 네트워크 설비가 급격한 사용자 수의 증가를 감당할 수 있는 능력이 미리 갖추어져 있지 않거나, 특정 컨텐츠의 높은 인기 때문에 사용자들의 접속이 몰려 웹 서버 폭주현상이 발생하는 경우에 웹 서버가 다운되거나 패킷 전송이 정상적으로 수행되지 않아 데이터 패킷에 대한 타임아웃 현상이 발생하기 때문이며, 도면2와 같이 다자간 클라이언트 연동에 의해 동시 접속자 수가 급격히 증가하는 경우에 이와 같은 현상은 더욱더 빈번히 발생하게 된다.
상기와 같은 다자간 클라이언트 연동 방법에서 동시 접속자 수의 급격한 증가에 의한 웹 서버 다운이나 전송 지연을 막기 위해서는 해당 웹 서버에 걸리는 시스템 부하를 분산해야만 하며, 본 발명은 다자간 클라이언트 연동 과정에서 웹브라우저 연결 서버 대신에 P2P를 이용하여 클라이언트를 동기화 함으로써 이와 같은 서버 시스템다운 및 전송 지연 현상을 방지한다.
도면3은 P2P 응용프로그램과 웹브라우저를 연결하는 기존 연결 방법에 대한 간단한 블록도이다.
현재 일부 컨텐츠 제공자 및 P2P 응용프로그램 공급자에 의해 웹브라우저와 P2P 응용프로그램을 연결하는 방법들이 시도되고 있다. 그러나 이와 같은 방법들은 HTML 문서 안에 포함되어 있는 스크립트를 이용하여 클라이언트에 탑재되어 있는 P2P 응용프로그램을 실행시키거나, P2P 응용프로그램 안에 포함되어 있는 웹브라우저 실행 코드를 이용하여 클라이언트에 탑재되어 있는 웹브라우저를 실행시키는 것일 뿐, P2P 응용프로그램과 웹브라우저 사이의 데이터 및 이벤트 발생은 교환되지 않으며, 특히 웹브라우저에서 발생하는 이벤트를 P2P 응용프로그램에서 확인할 수 없다.
상기와 같은 기존 P2P 응용프로그램과 웹브라우저 연결 방법은 웹브라우저에서 P2P 응용프로그램을 실행시키는 경우와 P2P 응용프로그램에서 웹브라우저를 실행시키는 경우가 있으며, 각각의 경우에 대하여 간단히 설명하면 다음과 같다.
웹브라우저에서 P2P 응용프로그램 실행시키는 방법은 컨텐츠 제공자가 클라이언트로 HTML 문서를 전송할 때, 문서 안에 클라이언트에서 작동하는 스크립트를 포함하여 전송하고, 클라이언트 웹브라우저가 이것을 해석하여 해당 클라이언트에 P2P 응용프로그램이 탑재되어 있는지 확인한 후, 만약 P2P 응용프로그램이 탑재되어 있다면, 해당 P2P 응용프로그램을 실행하고, 탑재되어 있지 않다면, P2P 응용프로그램 공급자로부터 해당 P2P 응용프로그램을 다운로드 받아 설치한 후 실행하는 것이다. 이와 같은 웹브라우저와 P2P 응용프로그램 연결 방법의 대표적인 예는 P2P 응용프로그램을 통한 채팅 서비스이며, 인터넷을 서핑하고 있는 인터넷 사용자 중에서 웹브라우저에 기본적으로 탑재되어 있지 않은 언어체제를 통해 채팅하려는 경우에, 해당 언어를 지원하는 P2P 채팅 프로그램을 통해 서비스하는 것으로써, 일본 문화 정보 컨텐츠 제공자인 하니오(http://www.hanio.com) 등에서 이용되고 있다.
P2P 응용프로그램에서 웹브라우저를 실행하는 방법은 P2P 응용프로그램 공급자가 배포하는 P2P 응용프로그램을 설치한 클라이언트가 해당 P2P 응용프로그램의 사용자 인터페이스에 있는 웹브라우저 구동 이벤트를 발생시키면, 이것을 운영체제가 확인하여 웹브라우저를 실행한 후, P2P 응용프로그램에서 설정한 URL를 웹브라우저로 하여금 접속하여 해당 컨텐츠를 다운로드받게 하는 것이다. 이와 같은 P2P 응용프로그램과 웹브라우저 연결 방법은, 해당 프로그램이 P2P를 지원하지는 않지만, 나모 웹 에디터와 프론트페이지와 같은 HTML 편집 프로그램을 예로 들 수 있다. 상기 HTML 편집 프로그램은 해당 HTML 문서를 편집한 후, 이것을 직접 웹브라우저에서 확인하기 위해 웹브라우저를 구동하며, 이 과정에서 사용되는 방법이 P2P 응용프로그램에서 웹브라우저를 실행하는 것에 그대로 이용되고 있다.
그러나, 상기 P2P 응용프로그램과 웹브라우저의 연동 방법은 웹브라우저에서 P2P 응용프로그램을 실행시킴과 동시에 P2P 서비스에 자동 로그인하게 하거나, P2P 응용프로그램에서 웹브라우저를 실행시킴과 동시에 특정 컨텐츠 제공자에 접속하도록 하는 것일 뿐, 앞에서 서술한 바와 같이 P2P 응용프로그램과 웹브라우저 사이의 실시간 데이터 교환 및 이벤트 발생에 대한 서비스를 지원하지 못하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 클라이언트에 기 탑재되어 있는 인터넷 익스플로러(Internet Explorer) 또는 넷스케이프(Netscape)와 같은 웹브라우저와 인스턴트 메신저(Instant Messenger)와 같은 클라이언트간 직접 데이터 통신(Peer-to-Peer, 이하 P2P라함)P2P 응용프로그램을 실시간으로 연결한 후, P2P 응용프로그램과 웹브라우저 사이의 실시간 데이터 통신 및 이벤트 추적 방법, 서로 다른 클라이언트에 탑재되어 있는 P2P 응용프로그램을 연동하고 동기화 하는 방법, 동기화 된 P2P 응용프로그램을 통해 다른 클라이언트의 웹브라우저를 실시간 제어하고 관리하는 방법, 그리고 상기와 같은 일련의 작업을 관리하는 방법 및 서비스 요금 산출과 같은 부가 기능을 제공하는 방법과 상기 방법들을 인터넷 상에서 구현하기 위한 시스템을 제공함에 있다.
도1은 기존 클라이언트 서버 구조의 인터넷에서 클라이언트 웹브라우저가 컨텐츠 제공자에 연결하는 과정에 대한 간단한 블록도이다.
도2는 도면2는 웹브라우저 연결 서버를 통해 컨텐츠 제공자에 대한 특정 클라이언트의 서비스 요청을 다른 클라이언트로 전송함으로써, 컨텐츠 제공자에 대한 클라이언트들의 웹 브라우징을 동기화하는 간단한 블록도이다.
도3은 P2P 응용프로그램과 웹브라우저를 연결하는 기존 연결 방법에 대한 간단한 블록도이다.
도4는 P2P를 이용한 다자간 인터넷 연동 및 동기화에 대한 간단한 블록도이다
도5는 웹브라우저와 P2P 응용프로그램을 연동하여 동기화 한 후, P2P 망을 구성하여 P2P 응용프로그램을 서로 연동하고 동기화 하는 과정에 대한 간단한 흐름도이다.
도6은 클라이언트에 탑재되어 있는 웹브라우저와 P2P 응용프로그램을 IPC를 이용하여 연동하고, 동기화 하는 간단한 블록도이다.
도7은 웹브라우저와 P2P 응용프로그램을 연동하여 동기화 하는 간단한 흐름도로서, 웹브라우저를 통해 P2P 응용프로그램을 동기화 하는 과정에 대한 것이다.
도8은 P2P 응용프로그램과 웹브라우저를 연동하여 동기화 하는 간단한 흐름도로서, P2P 응용프로그램을 통해 웹브라우저를 동기화 하는 과정에 대한 것이다.
도9는 클라이언트 웹브라우저와 동기화 된 P2P 응용프로그램이 P2P 망을 구성한 후, 각각의 P2P 응용프로그램과 연동하고 동기화 하는 간단한 블록도이다.
도10은 클라이언트 웹브라우저와 동기화 된 P2P 응용프로그램이 P2P 망을 구성하고, 연동하여 동기화 하는 과정에 대한 간단한 흐름도이다.
도11은 P2P를 이용한 동기화 된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 함께 인터넷 쇼핑을 하고 있는 경우에 대한 간단한 예시도이다.
도12는 P2P를 이용한 동기화 된 인터넷 쇼핑에 대하여 제품 구입에 대한 결제 처리를 위한 간단한 블록도이다.
도13은 P2P를 이용한 동기화 된 인터넷 쇼핑에 대하여 제품 구입에 대한 결제 처리를 위한 간단한 흐름도이다.
도14는 P2P를 이용한 동기화 된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 인터넷 교육을 받고 있는 경우에 대한 간단한 예시도이다.
도15는 P2P를 이용한 동기화 된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 인터넷 교육을 받고 있는 경우에 대한 간단한 블록도이다.
도16은 마스터/슬레이브 모드 없이 P2P를 이용한 동기화 된 인터넷 교육을 운영하는 도중에 다른 P2P 응용프로그램의 동의를 얻어 특정 P2P 응용프로그램을 마스터 모드로 지정하는 경우에 대한 흐름도이다.
<도면의 주요부분에 대한 설명>
405 : 인터넷 410 : 웹브라우저
415 : IPC 420 : P2P 응용프로그램
600 : WWW처리부 605 : IPC 인터페이스
610 : 웹브라우저 추적부 615 : 웹브라우저 제어부
620 : P2P 처리부 625 : 사용자 인터페이스
본 발명은 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)을 이용하여 형성된 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 자동 이동하도록 함으로써, 다수의 클라이언트간에 동일한 웹브라우저에서 동시에 웹서핑을 즐길 수 있도록 하는 방법 및 시스템으로써, 클라이언트에 탑재되어 있는 P2P 응용프로그램과 웹브라우저를 IPC(InterProcess Communication)와 같은 프로세스 간 데이터 통신 기법을 통해 실시간 연동한 후, 인터넷 사용자에 의하여 웹브라우저에서 발생하는 메시지 또는 이벤트를 IPC를 이용하여 P2P 응용프로그램에서 실시간 추적하고, 이것을 다른 클라이언트에 탑재되어 있는 P2P 응용프로그램으로 실시간 전송하여 각각의 클라이언트들을 동기화 하는 방법, 그리고 P2P 응용프로그램에서 발생하는 웹브라우저 제어 명령을 IPC를 이용하여 웹브라우저에 실시간 적용하고, 이 때 발생하는 웹브라우저의 반응 및 웹 브라우징 작업을 실시간 추적하고, 이것을 다른 클라이언트로 전송하여 각각의 클라이언트들을 동기화 하는 방법, 그리고 이 과정에서 발생하는 다양한 부가 가치 정보를 생성하고, 관리하는 방법에 관한 것이다.
즉, 본 발명은 IPC(InterProcess Communication)와 같은 프로세스 간 데이터 통신 기법을 통해 클라이언트에 탑재되어 있는 클라이언트간 데이터 직접 통신(Peer-to-Peer, 이하 P2P라함.) 응용프로그램과 웹브라우저를 실시간 연동시키고, 상기 P2P 응용프로그램으로부터 고유의 P2P 연결 방식을 통해 외부 클라이언트의 P2P 응용프로그램과 연결하여 Peer-to-Peer(P2P) 망을 구성하고, 상기 클라이언트의 웹브라우저에서 발생하는 메시지 또는 이벤트를 상기 IPC를 이용하여 상기 P2P 응용프로그램에서 실시간 추적하여, 상기 추적 결과를 상기 기 구성된 P2P 망을 통해 타 클라이언트에 탑재되어 있는 P2P 응용프로그램으로 실시간 전송하여 각각의 클라이언트들을 동기화 시킴으로써, 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 상기 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 이동하도록 하는 방법 및 시스템이다.
도면4는 P2P를 이용한 다자간 인터넷 연동 및 동기화에 대한 간단한 블록도이다.
인터넷 사용자는 각각의 클라이언트 웹브라우저(410)를 통해서 인터넷(405)에 연결되어 있으며, P2P 응용프로그램(420)은 P2P(425) 연결을 통해서 상호간 데이터 통신을 할 수 있다. 이 때 P2P는 냅스터(Naptster)와 같은 하이브리드형 P2P와 그누텔라(Gnutella)와 같은 순수 P2P가 있으며, 본 발명에서 다루는 P2P는 하이브리드형 P2P와 순수 P2P를 모두 포함하며, 각각의 경우에 대하여 P2P(425) 연결은 해당 연결 방식에 의존한다.
웹브라우저(420)는 마이크로소프트사의 인터넷 익스플로러(InternetExplorer)나 넷스케이프사의 넷스케이프(Netscape)와 같은 범용 웹브라우저나 본 발명의 목적을 위해 제작된 전용 웹브라우저를 포함하며, 모든 경우에 대하여 WWW을 완벽하게 지원한다.
따라서 본 발명에서 다루는 모든 웹브라우저(420)는 인터넷 상에서 구동되는 모든 컨텐츠 제공자(400)의 서비스를 수용할 수 있으며, 다음에 열거하는 IPC(415)를 통해 P2P 응용프로그램(420) 실시간 데이터 교환 및 이벤트 처리를 수행할 수 있으며, 본 발명의 P2P 응용프로그램(420)은 P2P 고유의 연결 방법을 통해 P2P 망을 구성하고 있으며, IPC(415)를 통해 각각의 클라이언트에 탑재되어 있는 웹브라우저와 연동되어 있다.
IPC(415)는 운영체제에서 생성된 개별 프로그램 또는 프로세스에 대하여 프로세스 간 실시간 데이터 통신을 수행하는 프로그래밍 인터페이스로서, 하나의 프로그램 또는 프로세스에 대하여 다중 사용자 접근을 허락하고, 외부 프로세스의 접근 및 데이터 입력을 처리하고, 이렇게 처리된 결과를 공유함은 물론, 상기 과정에서 필요한 데이터 교환 및 이벤트 처리를 실시간으로 수행한다.
이와 같은 IPC(415)에는 사용자 정의 메시지 또는 시스템 등록 메시지를 실시간 교환하는 방법, 윈도우 메시지나 Atom을 이용하는 방법, 동적 연결 라이브러리(Dynamic Link Library;DLL)를 이용하는 방법, 동적 자료 교환(Dynamic DataExchange;DDE)을 이용하는 방법, 개체 연결 및 삽입 자동화(Object Linking and Embedding Automation;OLE Automation)를 이용하는 방법, 메모리 맵 파일을 통해 공유 메모리를 이용하는 방법, NetBIOS와 같은 소켓을 이용하는 방법, 네임드 파이프(Named Pipe)를 이용하는 방법, 그리고 메일 슬롯(Mail Slot)을 이용하는 방법 등이 있으며, 이와 같은 IPC(415)는 각각의 방식에 따라 독립 프로세스 형태로 존재하거나, 또는 프로그래밍 인터페이스의 형태로 웹브라우저 또는 P2P 응용프로그램(420)의 내부에 탑재되어 있다.
도면5는 웹브라우저(410)와 P2P 응용프로그램(420)을 연동하여 동기화 한 후, P2P 망을 구성하여 P2P 응용프로그램(420)을 서로 연동하고 동기화 하는 과정에 대한 간단한 흐름도이다.
클라이언트에 탑재되어 있는 웹브라우저(410)와 P2P 응용프로그램(420)은 IPC(415)를 통해 프로세스간 데이터 통신을 수행하며, 웹브라우저(410)에서 P2P 응용프로그램(420)을 실행하거나, P2P 응용프로그램(420)에서 웹브라우저(410)를 실행함으로서, 웹브라우저(410)와 P2P 응용프로그램(420)은 상호 연동된다(500).
P2P 응용프로그램(420)에는 웹브라우저(410)에서 발생하는 메시지와 이벤트를 IPC(415) 또는 운영체제를 참조하여 실시간 추적하는 웹브라우저 추적부(610)가 탑재되어 있으며, 이와 같이 P2P 응용프로그램(420)에 탑재되어 있는 웹브라우저추적부(610)가 웹브라우저(410)의 PID(Process IDentifier)를 획득한 후, 해당 웹브라우저(410)에서 발생하는 메시지와 이벤트를 실시간 감시함으로서, 웹브라우저(410)와 P2P 응용프로그램(420)은 동기화 된다(505).
상기와 같은 과정을 통해 웹브라우저(410)와 P2P 응용프로그램(420)이 동기화 되면, P2P 응용프로그램(420)은 고유의 P2P 연결 방식을 통해 외부 P2P 응용프로그램(420)과 연결하여 P2P 망을 구성한다(510). P2P 연결 방식은 기 서술한 바와 같이 중계 서버를 이용하는 하이브리드형 P2P와 중계 서버 없이 P2P를 연결하는 순수 P2P가 있으며, 하이브리드형 P2P의 경우 컨텐츠 제공자가 공급하는 P2P 응용프로그램(420)을 이용하여 P2P를 이용한 동기화된 웹 브라우징 서비스를 제공한다면, 해당 컨텐츠 제공자가 P2P 연결을 위한 중계 서버 역할을 수행할 수도 있다.
상기와 같이 P2P 망이 구성되면 P2P 응용프로그램(420)은 각각의 클라이언트에 탑재되어 있는 P2P 응용프로그램(420)으로 하여금 해당 클라이언트의 웹브라우저(410)와 P2P 응용프로그램(420)을 동기화 시킴으로서 P2P 망을 연동한다(520). 이 과정은 각각의 P2P 참여자에 의해 해당 클라이언트에서 독립적으로 발생할 수도 있으며, 외부 P2P 응용프로그램(420)에 의해서 자동으로 발생할 수도 있다.
외부 P2P 응용프로그램(420)에 의해 P2P 연동 과정이 자동으로 발생하는 경우에, 해당 클라이언트는 상기와 같은 P2P 연동 과정을 수용할 것임을 컨텐츠 제공자(400) 또는 P2P를 이용한 동기화 된 웹 브라우징 서비스 제공자에 예약해야 한다.
P2P 망을 이용한 클라이언트 사이의 P2P 연동이 완성되면, 각각의 클라이언트에 탑재되어 있는 P2P 응용프로그램(420)을 통해서 특정 클라이언트의 웹브라우저(410)와 P2P 응용프로그램(420)에서 발생하는 메시지 또는 이벤트를 모든 P2P 참여 클라이언트로 실시간 분배함으로서 P2P 망을 동기화 시킨다(525).
상기와 같이 P2P 동기화 과정이 완성되면, 특정 클라이언트의 웹브라우저(410)와 P2P 응용프로그램(420)에서 발생하는 모든 작업들이 모든 클라이언트로 P2P 망을 통해서 실시간 전송됨으로서, P2P를 통한 동기화 된 웹 브라우징 서비스가 제공된다(530).
도면6은 클라이언트에 탑재되어 있는 웹브라우저(410)와 P2P 응용프로그램(420)을 IPC(415)를 이용하여 연동하고, 동기화 하는 간단한 블록도이다.
그러나 도면6은 본 발명의 목적을 위한 기본적인 블록만을 포함하고 있으며, 본 발명의 응용분야에 따라 P2P 응용프로그램(420)의 내부 구성은 임의로 추가될 수 있다.
웹브라우저(410)의 WWW 처리부(600)는 웹사이트 브라우징과 같은 웹브라우저(410) 고유의 임무를 위한 웹브라우저(410) 업무 처리부로써, 클라이언트 웹브라우저(410)가 컨텐츠 제공자(400)에 접속하여 다양한 컨텐츠를 제공받거나, 전자상거래 사이트에 접속하여 물품을 구매하는 등의 실질적인 업무를 처리하는 역할을 수행한다.
웹브라우저(410)의 IPC 인터페이스(605)는 본 발명에 다루는 P2P 응용프로그램(420) 또는 클라이언트에 탑재되어 있는 다양한 플러그인 프로그램과 프로세스간 통신을 수행하는 IPC 처리부(900)로써, P2P 응용프로그램(420)과 같은 외부 프로세스를 구동하거나, 이미 구동되어 운영체제에서 실행되고 있는 외부 프로세스와 프로세스간 통신을 수행하는 역할을 담당한다.
P2P 응용프로그램(420)의 IPC 인터페이스(605)는 웹브라우저(410)의 IPC 인터페이스(605)와 직접 프로세스간 통신을 수행하는 역할, 그리고 운영체제를 참조하여 웹브라우저(410)의 다양한 메시지 또는 이벤트를 수용하는 역할을 담당함으로서, 웹브라우저(410)에서 발생되는 모든 메시지와 이벤트를 P2P 응용프로그램(420)으로 전달하고, P2P 응용프로그램(420)에서 웹브라우저(410)로 처리되어야 하는 모든 업무를 웹브라우저(410)의 IPC 인터페이스(605)를 통해 웹브라우저(410)로 전송하는 역할을 수행한다.
P2P 응용프로그램(420)의 웹브라우저 추적부(610)는 일종의 IPC(415) 감시 쓰레드(IPC Watch Thread)로서, P2P 응용프로그램(420)이 실행됨과 동시에 P2P 응용프로그램(420)의 IPC 인터페이스(605)를 통해서 웹브라우저(410)에서 발생하는 모든 메시지와 이벤트를 지속적으로 감시하고, 관리하는 역할을 수행한다.
웹브라우저 추적부(610)는 웹브라우저(410)의 IPC 인터페이스(605)에서 처리되는 메시지 및 이벤트는 물론, 해당 웹브라우저(410)가 운영체제에 요구하는 다양한 명령과 운영체제에서 해당 웹브라우저(410)로 처리되는 다양한 작업들을 가로챈 후, 그 중에서 P2P 응용프로그램(420)에서 처리해야 하는 것을 선별하여 P2P 처리부(620)로 넘겨준다.
P2P 응용프로그램(420)의 웹브라우저 제어부(615)는 IPC 인터페이스(605)를 통해 웹브라우저(410)를 제어하고 관리하는 역할을 담당하며, 사용자 인터페이스(625) 그리고 P2P 처리부(620)에 의해서 웹브라우저(410)로 전송되어야하는 명령을 선별하여 웹브라우저(410)의 IPC 인터페이스(605)로 전송하는 역할을 수행한다.
P2P 응용프로그램(420)의 P2P 처리부(620)는 P2P 데이터 통신 및 채팅과 같은 P2P 고유의 업무를 처리하는 역할을 담당하며, 웹브라우저 추적부(610)와 사용자 인터페이스(625)에서 요구되는 다양한 P2P 업무를 실질적으로 처리하거나, P2P 연결을 통해 외부 P2P 응용프로그램(420)으로 전송하는 역할과, 외부 P2P 응용프로그램(420)에서 전송된 다양한 정보와 사용자 인터페이스(625)에서 요청되는 사용자의 다양한 명령을 실질적으로 처리하거나, 웹브라우저 제어부(615)를 통해 클라이언트 웹브라우저(410)를 제어하고 관리하는 역할을 수행한다.
도면7은 웹브라우저(410)와 P2P 응용프로그램(420)을 연동하여 동기화 하는 간단한 흐름도로서, 웹브라우저(410)를 통해 P2P 응용프로그램(420)을 동기화 하는 과정에 대한 것이다.
클라이언트 웹브라우저(410)를 통해 P2P 응용프로그램(420)을 실행하여 동기화하기 위해서는 먼저 클라이언트에서 웹브라우저(410)를 실행한 후(700), P2P를 이용하여 동기화 된 컨텐츠 서비스를 제공하는 컨텐츠 제공자(400)에 접속하여(705) P2P 응용프로그램(420)을 실행시킬 수 있는 스크립트 또는 임베디드 오브젝트(Embedded Object)가 포함된 HTML 문서를 전송 받는다.
컨텐츠 제공자(400)로부터 P2P 응용프로그램(420)을 실행시킬 수 있는 HTML 문서를 전송 받은 클라이언트 웹브라우저(410)는 해당 문서를 해석하여 웹브라우저(410) 상에 출력시키며, 이 때 클라이언트 웹브라우저(410)에 의해 해석되는 HTML 문서에 P2P 응용프로그램(420) 자동 검색 명령이 포함되어 있거나, 인터넷 사용자로부터 P2P 응용프로그램(420)을 실행시키는 명령이 입력되면, 웹브라우저(410)는 해당 클라이언트에 탑재되어 있는 P2P 응용프로그램(420)이 존재하는지 검색한다(710).
만약 클라이언트에 P2P를 이용한 동기화 된 웹 브라우징 서비스를 제공하는 P2P 응용프로그램(420)이 탑재되어 있다면, 웹브라우저(410)는 해당 P2P 응용프로그램(420)을 실행시킨다(715). 그러나 반대로 해당 클라이언트에 상기와 같은 P2P 응용프로그램(420)이 탑재되어 있지 않거나(720), 오래된 버전의 P2P 응용프로그램(420)이 탑재되어 있다면, 웹브라우저(410)는 컨텐츠 제공자 또는 P2P 응용프로그램(420) 공급자로부터 해당 P2P 응용프로그램(420)을 전송 받아 설치한 후(725), 실행한다(715).
상기와 같은 과정을 통해 클라이언트에서 P2P 응용 프로그램(420)이 실행되면, P2P 응용프로그램(420)은 운영체제를 참조하여 자신을 실행시킨 웹브라우저(410)의 PID를 획득한다(735). PID는 프로세스가 실행될 때 해당 프로세스를 식별하기 위해 운영체제에 의해 할당되는 고유한 프로세스 번호로서, 프로세스가 실행됨과 동시에 운영체제에 의해 할당되고, 프로세스가 종료되면 운영체제에 자동으로 반환된다. 따라서 프로세스에 할당되는 PID는 시간에 따라 다르며, 동일한 프로세스가 여러 개 실행되었다고 할지라도 각각의 PID는 서로 다르다.
예를 들어, 인터넷 사용자가 여러 개의 웹브라우저(410)를 실행하여 서로 다른 컨텐츠 제공자(400)로부터 각기 다른 컨텐츠 서비스를 동시에 제공받을 수 있는 것은 각각의 웹브라우저(410)에 할당되는 PID가 서로 다르며, 운영체제가 이와 같은 PID를 효율적으로 관리하고 있기 때문이다. 특히, 도면7과 같이 웹브라우저(410)에서 P2P 응용프로그램(420)을 실행하는 경우에, P2P 응용프로그램(420)은 웹브라우저(410)에 대하여 자식 프로세스(Child Process)의 형태로 실행되며, P2P 응용프로그램(420)은 자신을 실행시킨 부모 프로세스(Parent Process)의 PID를 운영체제를 참조하여 쉽게 획득할 수 있다.
P2P 응용프로그램(420)에서 자신을 실행시킨 웹브라우저(410)의 PID를 획득하면, 주어진 IPC(415) 방법을 통해 해당 웹브라우저(410)와 연동을 시도한다(740). 만약 P2P 응용프로그램(420)이 웹브라우저(410)와 IPC(415)를 통해 연동되면, 해당 웹브라우저(410)에 대하여 P2P 응용프로그램(420)의 웹브라우저 추적부(610)를 실행함으로서, P2P 응용프로그램(420)과 웹브라우저(410)를 동기화 한다(745). 그러나 반대로 IPC(415) 연동이 실패하면(750), P2P 응용프로그램(420)은 주어진 IPC(415) 방법에 대하여 연동 시도를 반복하거나, 다른 IPC(415) 방법을 이용하여 해당 웹브라우저(410)와 IPC(415)연동이 성공할 때까지 상기와 같은 과정을 반복한다.
도면8은 P2P 응용프로그램(420)과 웹브라우저(410)를 연동하여 동기화 하는간단한 흐름도로서, P2P 응용프로그램(420)을 통해 웹브라우저(410)를 동기화 하는 과정에 대한 것이다.
P2P 응용프로그램(420)을 통해 웹브라우저(410)를 실행하여 동기화하기 위해서는 먼저 P2P 응용프로그램(420)을 실행한 후(800), 해당 P2P 응용프로그램(420)과 IPC(415) 연동이 가능한 웹브라우저(410)를 실행시키고(805), 해당 웹브라우저(410)의 PID를 얻어온다(810). P2P 응용프로그램(420)에서 웹브라우저(410)를 실행하면, 웹브라우저(410)는 P2P 응용프로그램(420)에 대하여 자식 프로세스의 형태로 실행되며, 부모 프로세스는 운영체제를 참조하여 자식 프로세스의 PID를 쉽게 획득할 수 있다.
상기와 같이 P2P 응용프로그램(420)이 웹브라우저(410)의 PID를 획득하면(810), 주어진 IPC(415) 방법을 통해 해당 웹브라우저(410)와 연동을 시도한다(815). 만약 P2P 응용프로그램(420)이 웹브라우저(410)와 IPC(415)를 통해 연동되면, 해당 웹브라우저(410)에 대하여 P2P 응용프로그램(420)의 웹브라우저 추적부(610)를 실행하여 동기화하고(820), 반대로 IPC(415) 연동이 실패하면(825), P2P 응용프로그램(420)은 IPC(415) 연동이 성공할 때까지 상기와 같은 과정을 반복한다.
도면9는 클라이언트 웹브라우저(410)와 동기화 된 P2P 응용프로그램(420)이P2P 망을 구성한 후, 각각의 P2P 응용프로그램(420)과 연동하고 동기화 하는 간단한 블록도이다. 그러나 도면9는 본 발명에 필요한 P2P 응용프로그램(420)의 내부 구성도에 대한 기본적인 블록만을 포함하고 있으며, 본 발명의 응용 분야 및 P2P 응용프로그램(420)의 적용 분야에 따라 P2P 응용프로그램(420)의 내부 구성 블록은 임의로 추가될 수 있다.
P2P 응용프로그램(420)의 IPC 처리부(900)는 도면6의 IPC 인터페이스(605), 웹브라우저 추적부(610), 웹브라우저 제어부(615)를 포함하여 웹브라우저(410)와 IPC 통신을 위한 처리를 담당하며, 도면9의 P2P D/B(905), P2P 망 관리부(910), P2P 통신부(915)는 도면6의 P2P 처리부(620) 중에서 P2P을 구성하고, 각각의 P2P 응용프로그램(420)을 연동하고 동기화 시키는 역할을 실질적으로 수행하는 핵심 처리부이다.
P2P 망 관리부(910)는 주어진 P2P 연결 방법을 통해 P2P 응용프로그램(420)을 P2P 망으로 연결하고, IPC 처리부(900)에서 전달되는 메시지와 이벤트, 그리고 사용자 인터페이스(625)에 P2P 사용자에 의해 요청되는 명령을 P2P D/B(905)에 저장하고, P2P 통신부(915)를 통해 외부 P2P 응용프로그램(420)으로 실시간 전송함으로써, P2P 응용프로그램(420)을 동기화 시키는 역할을 수행한다.
P2P D/B(905)는 P2P를 이용한 동기화 된 웹 브라우징 서비스에 참여하는 각클라이언트에 탑재되어 있는 P2P 응용프로그램(420)에 대한 정보와 P2P를 이용한 동기화 된 웹 브라우징 서비스 제공 과정에서 발생하는 다양한 정보를 실시간 저장하는 역할을 수행하는 데이터베이스로서,
P2P를 이용한 동기화 된 웹 브라우징 서비스를 제공하기 위한 P2P 망 정보는 물론 특정 클라이언트에서 발생하는 메시지와 이벤트, 그리고 사용자 입력에 의한 처리 명령을 저장하고 있으며, 모든 P2P 응용프로그램(420)의 P2P D/B(905)에 저장되는 정보는 동기화 되어 있다.
P2P 통신부(915)는 주어진 P2P 연결 방법을 통해 P2P 망을 구성하는 실질적인 역할을 수행하며, 특정 클라이언트 P2P 응용프로그램(420)에서 발생하는 메시지와 이벤트, 그리고 사용자 명령을 외부 P2P 응용프로그램(420)으로 실시간 전송하는 역할을 담당한다.
도면10은 클라이언트 웹브라우저(410)와 동기화 된 P2P 응용프로그램(420)이 P2P 망을 구성하고, 연동하여 동기화 하는 과정에 대한 간단한 흐름도이다.
P2P 망을 구성하고 각각의 P2P 응용프로그램(420)을 연동하여 동기화 하기 위해서는 먼저 P2P를 통해 동기화 된 웹 브라우징 서비스를 제공하는 클라이언트 웹브라우저(410)와 P2P 응용프로그램(420)이 도면7 또는 도면8과 같은 방법을 통해 동기화 되어야 한다(1000).
상기와 같이 클라이언트 웹브라우저(410)와 P2P 응용프로그램(420)이 동기화 되면, P2P 응용프로그램(420)은 P2P 망을 구성하기 위한 망 정보를 얻어온다(1005). 이 망 정보는 P2P 연결 방법에 따라 저장되어 있는 위치가 다르며, 하이브리드형 P2P에 경우 중계 서버나 컨텐츠 제공자(400)로부터 P2P를 통해 동기화 된 웹 브라우징 서비스에 참여하는 P2P 망 정보를 얻어오며, 순수 P2P의 경우에는 P2P D/B(905) 또는 컨텐츠 제공자(400)로부터 해당 망 정보를 얻어온다.
P2P를 통해 동기화 된 웹 브라우징 서비스를 제공하기 위한 P2P 망 정보를 얻어오면, P2P 응용프로그램(420)은 이 망 정보를 이용하여 외부 P2P 응용프로그램(420)에 접속하고(1010), 도면7 또는 도면8과 같은 과정을 통해 해당 클라이언트의 웹브라우저(410)와 P2P 응용프로그램(420)을 동기화 시킨다(1015). 이렇게 외부 클라이언트 웹브라우저(410)와 P2P 응용프로그램(420)이 동기화 되면, 동기화 된 웹 브라우징 서비스를 제공하는 P2P 응용프로그램(420)은 자신의 P2P D/B(905)에 저장되어 있는 P2P 동기화 정보를 외부 P2P 응용프로그램(420)의 P2P D/B(905)와 동기화 시킨다(1020).
그러나 이 과정은 데이터베이스에 저장되어 있는 내용을 외부 P2P 응용프로그램(420)의 P2P D/B(905)로 단순히 복제하여 전송하는 것이 아니라, 동기화 된 웹 브라우징 서비스를 제공하는 P2P 응용프로그램(420)과 동일한 과정을 통해 외부P2P 응용프로그램(420)과 클라이언트 웹브라우저(410)를 초기화하도록 하는 것이다.
상기와 같은 외부 P2P 응용프로그램(420)과 클라이언트 웹브라우저(410)에 대한 동기화 및 초기화 작업은 동기화 된 웹 브라우징 서비스에 참여하는 모든 P2P 응용프로그램(420)에 대하여 반복적으로 수행되며, 모든 클라이언트에 대한 동기화 및 초기화 작업이 종료되면, P2P를 통해 동기화 된 웹 브라우징 서비스를 제공한다(1025).
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 대표적인 경우에 대한 것이며, 본 발명이 다음의 실시예로 한정되지는 않는다.
도면11은 P2P를 이용한 동기화 된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 함께 인터넷 쇼핑을 하고 있는 경우에 대한 간단한 예시도이다.
P2P를 이용하여 동기화 된 인터넷 쇼핑을 하고 있는 각각의 클라이언트는 P2P 응용프로그램(420)을 통해서 서로 동화상 또는 음성 채팅을 하고 있으며, 모든 클라이언트의 웹브라우저(410)는 동기화 되어 있다. 따라서 P2P를 이용하여 동기화 된 인터넷 쇼핑에 참여하고 있는 특정 클라이언트 사용자가 자신의웹브라우저(410)의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 모든 클라이언트 웹브라우저(410)도 동일하게 해당 웹 페이지로 이동하며, P2P 응용프로그램(420)의 동화상, 음성, 그리고 문자 방식 채팅을 통해 서로 대화를 나누거나 의견을 조율할 수 있다.
이 때 인터넷 쇼핑몰(1200)은 클라이언트가 P2P를 이용하여 동기화 된 인터넷 쇼핑을 하고 있는지 확인할 필요가 없으며, 클라이언트 사이의 동기화 과정은 인터넷 쇼핑몰(1200)과는 상관없이 P2P 응용프로그램(420)을 통해서 이루어진다.
클라이언트가 인터넷 쇼핑몰(1200)의 지원 없이 P2P를 이용한 동기화 된 인터넷 쇼핑을 하는 경우에 대하여, 각각의 P2P 응용프로그램(420)은 동일한 지위를 갖으며, 시간적으로 먼저 발생한 이벤트를 우선적으로 동기화 된 클라이언트로 전송하여 각각의 웹브라우저(410)를 동기화 시킨다. 즉, 특정 클라이언트에서 발생한 이벤트가 모든 클라이언트로 전송되어 동기화 되기 전까지 P2P를 이용하여 동기화 된 인터넷 쇼핑에 참여하고 있는 다른 클라이언트에 발생하는 이벤트는, 해당 클라이언트는 물론이고 다른 클라이언트에서도 무시되며, 선행된 이벤트가 모든 클라이언트에서 동기화 된 후, 다른 클라이언트에서 발생하는 이벤트가 또다시 적용되어 모든 클라이언트를 동기화 시킨다.
상기와 같은 과정은 인터넷 쇼핑몰(1200)에서 제품을 구입하고 결제하는 과정을 제외하고 지속적으로 발생하며, 특정 클라이언트가 해당 인터넷 쇼핑몰(1200)에서 결제 과정에 들어가면, P2P 응용프로그램(420)들은 해당 클라이언트와의 동기화 작업을 잠시 정지하며, 결제가 종료된 후, P2P를 이용한 동기화 된 웹 브라우징 서비스를 복원한다.
도면12는 P2P를 이용한 동기화 된 인터넷 쇼핑에 대하여 제품 구입에 대한 결제 처리를 위한 간단한 블록도이다.
P2P를 이용한 동기화 된 인터넷 쇼핑 중에 구입하고 하는 제품에 대한 결제를 위해서는, 먼저 P2P를 이용한 동기화 과정을 잠시 정지해야 하며, 이것은 결제 과정의 보안 문제를 해결하고, 클라이언트가 P2P를 이용한 동기화 된 인터넷 쇼핑을 하고 있음을 알지 못하는 인터넷 쇼핑몰(1200)에서 동일한 결제 정보가 입력되어 내부 오류를 발생시키거나, 또는 결제가 중복되는 문제를 방지하기 위한 것이다. 그리고 P2P 응용프로그램(420)에 탑재된 결제 처리부(1210)와 결제 정보 D/B(1215)를 통해 결제 과정에서 발생하는 정보를 관리한다.
결제 처리부(1210)는 인터넷 쇼핑몰(1200)에서 구입한 제품을 결제하는 과정에서 생성되는 정보를 추출하고, 이것을 결제 정보 D/B(1215)에 저장함은 물론, 이 정보를 결제 관리 기관(1205)으로 전송하는 역할을 담당한다.
P2P를 이용한 동기화된 인터넷 쇼핑 과정 중에 구입한 제품에 대한 결제 방법은, 웹브라우저(410)를 이용하여 해당 인터넷 쇼핑몰(1200)이 제공하는 기존 결제 방법을 통해 하는 방법과, P2P 응용프로그램(420)을 통해 직접 결제하는 방법이 있다. 웹브라우저(410)를 이용하는 기존 결제 방법을 이용하는 경우에 대하여, 결제 처리부(1210)는 IPC 처리부(900)를 통해 웹브라우저(410)에서 발생하는 이벤트와 메시지를 통해 결제 정보를 추출하여 이것을 결제 정보 D/B(1215) 저장하고, P2P 응용프로그램(420)을 이용하여 결제하는 경우에는 사용자 인터페이스(625)를 통해 입력되는 결제 정보를 관리하고, 결제 정보 D/B(1215)에 이것을 저장하는 역할을 수행한다.
결제 처리부(1210)는 상기와 같은 방법으로 결제 정보를 추출하여 결제 정보 D/B(1215)에 저장하면, 해당 정보를 결제 관리 기관(1205)으로 전송한다.
결제 관리 기관(1205)은 인터넷 쇼핑몰(1200) 또는 제3의 전문 결제 관리 기관이 될 수 있으며, 경우에 따라 P2P 응용프로그램(420) 공급자가 결제 관리 기관(1205)이 될 수도 있다.
결제 관리 기관(1205)은 P2P를 이용한 동기화 된 인터넷 쇼핑 과정에서 발생하는 모든 결제 정보를 저장하고 관리하며, 인터넷 쇼핑몰(1200) 및 P2P 응용프로그램(420) 사용자에 대하여 결제 과정에 대한 상호 보증을 담당한다.
도면13은 P2P를 이용한 동기화 된 인터넷 쇼핑에 대하여 제품 구입에 대한 결제 처리를 위한 간단한 흐름도이다.
P2P를 이용한 동기화 된 인터넷 쇼핑에 대하여 제품 구입에 대한 결제가 시작되면, P2P 응용프로그램(420)은 다른 P2P 응용프로그램(420)과 동기화를 일단 정지한 후(1300), 웹브라우저(410)를 이용하여 해당 인터넷 쇼핑몰(1200)이 제공하는 기존 결제 방법을 통해 결제 할 것인지(1330), P2P 응용프로그램(420)을 통해 결제 할 것인지를 결정한다(1305).
웹브라우저(410)를 이용하는 기존 결제 방법은(1335) 컨텐츠 제공자(400)가 금융기관 또는 카드사와의 계약을 통해 이루어지며, 이 과정에 대하여 P2P 응용프로그램(420)의 결제 처리부(1210)는 해당 클라이언트 웹브라우저(410)에서 발생하는 정보를 IPC 처리부(900)를 통해 추출하여 결제 정보 D/B(1215)에 저장한다(1340). 그리고 웹브라우저(410)에서 결제가 완료되면, P2P 응용프로그램(420)의 결제 처리부(1210)는 이 결제 정보를 결제 관리 기관(1205)으로 전송한다(1345).
P2P 응용프로그램(420)을 통해 결제하는 방법은 P2P 응용프로그램(420)에서 발생하는 금융 결제를 대행하는 결제 관리 기관(1205)을 통해 이루어지며, 결제 관리 기관(1205)은 P2P 응용프로그램(420)에 대하여 인터넷 쇼핑몰(1200)이 지원하지 않는 다양한 신용 카드 결제, 계좌 이체 서비스, 그리고 전자 화폐를 이용한 결제를 대행한다.
P2P 응용프로그램(420)을 통해 인터넷 쇼핑몰(1200)에서 구입한 제품에 대한 결제를 하기 위해서는 먼저 결제 처리부(1210)를 통해 쇼핑몰 정보, 구입 제품 정보, 결제 정보, 그리고 배송지와 배송 방법 등과 같은 정보를 입력해야 하며(1310), 결제 처리부(1210)는 상기와 같은 정보를 먼저 결제 정보 D/B(1215)에 저장한 후(1315), 결제 관리 기관(1205)으로 전송한다(1320).
결제 관리 기관(1205)은 P2P 응용프로그램(420)으로부터 전송된 정보를 수용하여 저장하고, 이 정보를 바탕으로 해당 인터넷 쇼핑몰(1200)에 대한 결제를 대행한다(1325).
도면14는 P2P를 이용한 동기화된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 인터넷 교육을 받고 있는 경우에 대한 간단한 예시도이다.
도면14는 인터넷 방송국에 대한 강의를 하고 있는 경우에 대한 것이며, 웹브라우저(410)는 강의용 교재 역할을 하고, P2P 응용프로그램(420)은 강사가 강의를 동화상 또는 음성을 통해 제공받음은 물론, 본 발명의 동기화 과정을 통해 강의를 듣고 있는 모든 클라이언트들의 웹브라우저(410)와 P2P 응용프로그램(420)이 동기화 된다.
인터넷 강의는 미리 준비된 VOD(Video On Demand) 강의 동영상을 이용하는 경우와, 실시간 강의 동영상을 이용하는 경우가 있으며, VOD를 이용하는 경우에는 준비된 시나리오를 바탕으로 인터넷 교육 컨텐츠 제공자가 해당 강의를 수강하고 있는 클라이언트 웹브라우저(410)를 동기화 시키며, 실시간 강의를 하는 경우에는 강사가 자신의 강의 스케즐에 따라 클라이언트 웹브라우저(410)를 동기화 시킨다. 특히, 실시간 강의에 대하여 컨텐츠 제공자(400)는 전자 칠판을 이용하여 강사가 전자 칠판에 기록하는 내용을 실시간으로 클라이언트 웹브라우저(410)에 출력시키고, 강사가 전자 칠판에 기록하는 모습을 P2P 응용프로그램(420)을 통해 출력시킴으로서, 마치 실제 강의실에서 수업하고 있는 것과 같은 효과를 유도할 수 있다.
도면15는 P2P를 이용한 동기화 된 웹 브라우징 서비스를 통해 두 명 이상의 복수 클라이언트가 인터넷 교육을 받고 있는 경우에 대한 간단한 블록도이다.
도면15에서 특이한 점은, P2P를 이용한 동기화 과정이 단방향적으로 발생할 수 있다는 것이다. 도면12와 같은 P2P를 이용한 동기화 된 인터넷 쇼핑몰(1200)의 경우, 동기화 과정은 시간적 우선 순위를 바탕으로 모든 P2P 응용프로그램(420)에서 발생된다. 그러나 본 예시도와 같은 인터넷 교육의 경우에는 인터넷 강의를 하고 있는 강사가 교육을 받고 있는 수강생의 웹브라우저(410) 및 P2P 응용프로그램(420)을 일방적으로 동기화 시키는 것이 보다 효과적이며, 이것을 제공하기 위해 각각의 P2P 응용프로그램(420)은 마스터 모드(420a)와 슬레이브 모드(420b)로 작동된다.
예를 들어, 도면14와 같이 웹브라우저(410)에 강의 교재를 출력시키고 있는 경우에, 각각의 수강생들이 웹브라우저(410)를 임의로 조작하는 것보다 강사가 교육 순서에 맞추어 일괄적으로 동기화 시키는 것이 보다 효과적이다.
마스터 모드 P2P 응용프로그램(420a)은 P2P를 이용한 동기화 된 인터넷 교육, 즉 인터넷 강의를 진행하는 특정 클라이언트의 P2P 응용프로그램(420)이며, 슬레이브 모드 P2P 응용프로그램(420b)은 인터넷 강의를 수강하고 있는 P2P 응용프로그램(420), 즉 마스터 모드 P2P 응용프로그램(420a)을 제외한 나머지 P2P 응용프로그램(420)을 의미한다.
마스터 모드 P2P 응용프로그램(420a)은 P2P를 이용하여 동기화 된 인터넷 교육을 시작하는 P2P 응용프로그램(420)에 자동으로 할당되거나, 마스터/슬레이브 모드 없이 P2P를 이용한 동기화 된 인터넷 교육을 진행하고 있던 특정 클라이언트가 다른 P2P 응용프로그램(420)의 동의를 얻어 자신의 P2P 응용프로그램(420)을 마스터 모드로 할당된다.
즉, 강사가 P2P를 이용한 동기화 된 인터넷 교육 서비스를 시작하면서 자신의 P2P 응용프로그램(420)을 마스터 모드로 지정하였다면, 해당 인터넷 교육에 참여하는 다른 수강생의 P2P 응용프로그램(420)은 자동으로 슬레이브 모드로 할당되며, 마스터/슬레이브 모드 없이 자유 토론 중에 강의를 시작하는 경우에 수강생의 동의를 얻어 인터넷 강사의 P2P 응용프로그램(420)을 마스터 모드로 할당하면, P2P를 이용한 동기화 된 인터넷 교육에 참여하고 있던 다른 P2P 응용프로그램(420)은 슬레이브 모드로 자동 전환된다.
상기와 같은 마스터 모드는 다른 P2P 응용프로그램(420)으로 이전될 수 있으며, 마스터 모드 P2P 응용프로그램(420a)이 해당 권한을 스스로 해지함으로서, 마스터/슬레이브 모드가 없는 P2P를 이용한 동기화 된 인터넷 교육으로 자동 전환 될 수 있다. 예를 들어, 특정 수강생이 웹브라우저(410)를 통해 강사에게 질문을 하려고 하는 경우, 마스터 모드는 해당 수강생의 P2P 응용프로그램(420)으로 전환되어야 한다. 또, 교육이 종료된 후 자유 토론 시간을 갖기 위해서는 마스터/슬레이브 모드 없이 운영되어야 한다.
도면16은 마스터/슬레이브 모드 없이 P2P를 이용한 동기화 된 인터넷 교육을 운영하는 도중에 다른 P2P 응용프로그램(420)의 동의를 얻어 특정 P2P 응용프로그램(420)을 마스터 모드로 지정하는 경우에 대한 흐름도이다.
마스터/슬레이브 모드 없이 P2P를 이용한 동기화 된 인터넷 교육을 진행하고 있던 강사가 자신의 P2P 응용프로그램(420)을 마스터 모드로 지정하여 수강생의 웹브라우저(410)를 일방적으로 동기화 시키기 위해서 자신의 P2P 응용프로그램(420)을 마스터 모드로 지정하면(1600), 해당 P2P 응용프로그램(420)은 이 정보를 수강생 P2P 응용프로그램(420)으로 전송하고(1605), 수강생 P2P 응용프로그램(420)은 메시지 박스나 채팅창 들을 통해 강사의 P2P 응용프로그램(420)으로부터 마스터 모드 변경 동의 요구가 요청되었음을 수강생에게 알려준다(1610).
수강생이 상기 요구에 동의하면, 수강생의 P2P 응용프로그램(420)은 자신을 슬레이브 모드로 자동변환하며(1615), 반대로 모드 변경 동의 요구를 받은 수강생으로부터 해당 요구를 거절당하거나(1620), 적절한 응답이 없는 경우에 동의할 때까지 마스터 모드 변경 동의 요구를 반복한다.
상기와 같은 과정을 인터넷 교육에 참여하는 모든 수강생의 P2P 응용프로그램(420)에 대하여 반복하며, 모든 수강생으로부터 마스터 모드 변경 요구에 대한 동의가 얻어지면, 인터넷 강사의 P2P 응용프로그램(420)은 마스터 모드로 변경된다(1625). 이 후, 인터넷 강사의 P2P 응용프로그램(420)은 동기화 작업을 통해 해당 인터넷 교육에 참여하는 모든 수강생의 P2P 응용프로그램(420) 및 웹브라우저(410)를 일괄적으로 제어하고 관리한다.
본 발명에 따르면, 다자간 클라이언트 연동 과정에서 웹브라우저 연결 서버 대신에 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)를 이용하여 클라이언트를 동기화 함으로써, 동시 접속자 수의 급격한 증가에 의한 웹 서버 다운이나 전송 지연 현상을 방지할 수 있는 장점이 있다.
또한, 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)을 이용하여 형성된 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 자동 이동하도록 함으로써, 다수의 클라이언트간에 동일한 웹브라우저에서 동시에 웹서핑을 즐길 수 있으며, 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P)을 이용하여 웹서핑 도중 채팅과 같은 의견 교환을 자유롭게 구사할 수 있으며, 웹서핑 도중 결제를 요할 시, 상기 클라이언트간 직접 데이터 통신(Peer-to-Peer, P2P) 프로그램을 이용하여 바로 결제를 처리하도록 하는 장점이 있다.

Claims (9)

  1. IPC(InterProcess Communication)와 같은 프로세스 간 데이터 통신 기법을 통해 클라이언트에 탑재되어 있는 클라이언트간 데이터 직접 통신(Peer-to-Peer, 이하 P2P라함.) 응용프로그램과 웹브라우저를 실시간 연동시키는 제 1단계;
    상기 P2P 응용프로그램으로부터 고유의 P2P 연결 방식을 통해 외부 클라이언트의 P2P 응용프로그램과 연결하여 Peer-to-Peer(P2P) 망을 구성하는 제 2단계;
    상기 클라이언트의 웹브라우저에서 발생하는 메시지 또는 이벤트를 상기 IPC를 이용하여 상기 P2P 응용프로그램에서 실시간 추적하는 제 3단계; 및
    상기 추적 결과를 상기 제 2단계에서 구성된 P2P 망을 통해 타 클라이언트에 탑재되어 있는 P2P 응용프로그램으로 실시간 전송하여 각각의 클라이언트들을 동기화 시키는 제 4단계;를 포함하여 이루어지는 것을 특징으로 하며,
    상기 각 단계들을 통해 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 상기 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 이동하도록 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 방법.
  2. 제 1항에 있어서, 상기 제 1단계의 IPC(InterProcess Communication)는,
    클라이언트 운영체제에서 생성된 개별 프로그램 또는 프로세스에 대하여 프로세스 간 실시간 데이터 통신을 수행하는 프로그래밍 인터페이스 역할을 수행하는 기능;
    하나의 프로그램 또는 프로세스에 대하여 다중 사용자 접근을 허락하는 기능;
    외부 프로세스의 접근 및 데이터 입력을 처리하는 기능; 및
    상기 처리된 결과를 공유함은 물론, 상기 과정에서 필요한 데이터 교환 및 이벤트 처리를 실시간으로 수행하는 기능;을 구비하여 이루어지는 것을 특징으로 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 방법.
  3. 제 1항 또는 제 2항에 있어서, 상기 제 1단계의 IPC(InterProcess Communication)는,
    사용자 정의 메시지 또는 시스템 등록 메시지를 실시간 교환하는 방법;
    윈도우 메시지나 Atom을 이용하는 방법;
    동적 연결 라이브러리(Dynamic Link Library;DLL)를 이용하는 방법;
    동적 자료 교환(Dynamic Data Exchange;DDE)을 이용하는 방법;
    개체 연결 및 삽입 자동화(Object Linking and Embedding Automation;OLE Automation)를 이용하는 방법;
    메모리 맵 파일을 통해 공유 메모리를 이용하는 방법;
    NetBIOS와 같은 소켓을 이용하는 방법;
    네임드 파이프(Named Pipe)를 이용하는 방법; 및
    메일 슬롯(Mail Slot)을 이용하는 방법;을 포함하여 이루어지며,
    상기 각각의 방법에 따라 독립 프로세스 형태로 존재하거나, 또는 프로그래밍 인터페이스의 형태로 상기 웹브라우저 또는 P2P 응용프로그램의 내부에 탑재되어지는 것을 특징으로 하는 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 방법.
  4. 제 1항에 있어서, 상기 P2P 응용프로그램과 웹브라우저를 실시간 연동시키는 제 1단계는,
    상기 P2P 응용프로그램으로부터 상기 웹브라우저의 PID(Process IDentifier)를 획득한 후, 상기 PID(Process IDentifier)가 획득된 웹브라우저에서 발생하는 메시지와 이벤트를 실시간 상기 P2P 응용프로그램에서 감시하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 방법.
  5. 클라이언트 웹브라우저와 IPC 통신을 위한 처리를 수행하는 클라이언트간데이터 직접 통신(Peer-to-Peer, 이하 P2P라함.) 응용프로그램의 IPC(InterProcess Communication) 처리부;
    클라이언트간 직접 데이터 통신을 위한 P2P 망을 구성하는 기능; 및
    상기 IPC 처리부를 통해 전달되는 특정 클라이언트의 P2P 응용프로그램에서 발생하는 메시지와 이벤트, 그리고 사용자 명령 데이터를 하기의 P2P D/B(Data Base)로 전달하는 기능;을 구비하는 P2P 망 관리부;
    상기 P2P통신부로부터 전달받은 상기 메시지와 이벤트, 그리고 사용자 입력에 의한 처리 명령 데이터를 저장하는 P2P D/B(Data Base); 및
    상기 P2P D/B(Data Base)에 저장된 메시지와 이벤트, 그리고 사용자 인터페이스를 통해 요청되는 명령 데이터를 추출하여 타 클라이언트의 P2P 응용프로그램으로 실시간 전송하는 P2P 통신부;를 구비하여 이루어지는 것을 특징으로 하며,
    상기 각 구성요소를 통해 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 상기 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 이동하도록 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템.
  6. 제 5항에 있어서, 상기 IPC(InterProcess Communication) 처리부는,
    클라이언트 웹브라우저에서 발생하는 다양한 메시지 또는 이벤트를 상기P2P 응용프로그램으로 전달하는 기능; 및
    상기 P2P 응용프로그램으로부터 상기 웹브라우저로 전달되는 명령 데이터를 상기 웹브라우저로 전송하는 기능;을 구비하는 P2P 응용프로그램의 IPC 인터페이스;
    상기 P2P 응용프로그램이 실행됨과 동시에 상기 P2P 응용프로그램의 IPC 인터페이스를 통해 상기 웹브라우저에서 발생하는 모든 메시지와 이벤트를 지속적으로 감시하고, 관리하는 기능; 및
    상기 웹브라우저에서 발생하는 메시지 및 이벤트와 상기 웹브라우저가 운영체제에 요구하는 명령 데이터와 운영체제에서 상기 웹브라우저로 요구하는 명령 데이터 중 상기 P2P 응용프로그램에서 처리해야 하는 것을 추출하는 기능;을 구비하는 P2P 응용프로그램의 웹브라우저 추적부;
    상기 IPC 인터페이스를 통해 상기 웹브라우저를 제어하고 관리하는 기능; 및
    상기 웹브라우저로 전송되어야하는 명령 데이터를 선별하여 상기 웹브라우저로 전송하는 역할을 수행한다.P2P 응용프로그램의 웹브라우저 제어부;를 구비하여 이루어지는 것을 특징으로 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템.
  7. 제 5항에 있어서, 상기 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템은,
    클라이언트 웹브라우저가 컨텐츠 제공자에 접속시, 상기 컨텐츠 제공자로부터 컨텐츠를 제공받는 실질적인 업무를 처리하는 웹브라우저 처리부;
    클라이언트간 직접 데이터 통신(Peer-to-Peer, 이하 P2P라함) 응용프로그램과 같은 외부 프로세스를 구동하는 기능; 및
    기 구동되어 운영체제에서 실행되고 있는 외부 프로세스와 프로세스간 통신을 수행하는 기능;을 구비하는 웹브라우저의 IPC 인터페이스(IPC 처리부);를 더 구비하여 이루어지는 것을 특징으로 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템.
  8. 제 5항에 있어서, 상기 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템은,
    상기 클라이언트가 접속한 웹사이트에서 결제를 필요로 하는 경우, 상기 클라이언트의 결제 정보 데이터를 추출하고, 상기 추출된 정보 데이터를 결제 관리 기관으로 전송하는 역할을 담당하는 결제 처리부를 더 구비하여 이루어지는 것을 특징으로 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템.
  9. 클라이언트 웹브라우저가 컨텐츠 제공자에 접속시, 상기 컨텐츠 제공자로부터 컨텐츠를 제공받는 실질적인 업무를 처리하는 웹브라우저 처리부;
    클라이언트간 직접 데이터 통신(Peer-to-Peer, 이하 P2P라함) 응용프로그램과 같은 외부 프로세스를 구동하는 기능; 및
    기 구동되어 운영체제에서 실행되고 있는 외부 프로세스와 프로세스간 통신을 수행하는 기능;을 구비하는 웹브라우저의 IPC 인터페이스(IPC 처리부);
    상기 웹브라우저의 IPC 인터페이스와 직접 프로세스간 통신을 수행하는 기능;
    운영체제를 참조하여 상기 웹브라우저 처리부를 통해 발생하는 다양한 메시지 또는 이벤트를 수용하는 기능;
    상기 웹브라우저 처리부를 통해 발생하는 다양한 메시지 또는 이벤트를 상기 P2P 응용프로그램으로 전달하는 기능; 및
    상기 P2P 응용프로그램으로부터 상기 웹브라우저로 전달되는 명령 데이터를 상기 웹브라우저의 IPC 인터페이스를 통해 상기 웹브라우저로 전송하는 기능;을 구비하는 P2P 응용프로그램의 IPC 인터페이스;
    상기 P2P 응용프로그램이 실행됨과 동시에 상기 P2P 응용프로그램의 IPC 인터페이스를 통해 상기 웹브라우저에서 발생하는 모든 메시지와 이벤트를 지속적으로 감시하고, 관리하는 기능; 및
    상기 웹브라우저의 IPC 인터페이스에서 처리되는 메시지 및 이벤트와 상기 웹브라우저가 운영체제에 요구하는 명령 데이터와 운영체제에서 상기 웹브라우저로요구하는 명령 데이터 중 상기 P2P 응용프로그램에서 처리해야 하는 것을 추출하여 하기 P2P 처리부로 전송하는 기능;을 구비하는 P2P 응용프로그램의 웹브라우저 추적부;
    상기 클라이언트간 직접 데이터 통신 업무를 처리하는 기능; 및
    상기 웹브라우저 추적부로부터 전송된 웹브라우저의 IPC 인터페이스에서 처리되는 메시지 및 이벤트와 상기 웹브라우저가 운영체제에 요구하는 명령 데이터와 운영체제에서 상기 웹브라우저로 요구하는 명령 데이터를 P2P 망 연결을 통해 타 클라이언트의 P2P 응용프로그램으로 전송하는 기능;을 구비하는 P2P 응용프로그램의 P2P 처리부;
    상기 IPC 인터페이스를 통해 상기 웹브라우저를 제어하고 관리하는 기능; 및
    상기 P2P 처리부에 의해서 웹브라우저로 전송되어야하는 명령을 선별하여 상기 웹브라우저의 IPC 인터페이스로 전송하는 역할을 수행한다.P2P 응용프로그램의 웹브라우저 제어부;를 구비하여 이루어지는 것을 특징으로 하며,
    상기 각 구성요소를 통해 특정 클라이언트가 웹브라우저의 하이퍼링크를 클릭하거나 URL에 인터넷 주소를 입력하여 다른 웹 페이지로 이동하면, 상기 특정 클라이언트와 상기 P2P 망으로 동기화 된 타 클라이언트 웹브라우저도 실시간 상기 특정 클라이언트 웹브라우저가 이동한 웹 페이지로 이동하도록 하는 클라이언트간 데이터 직접 통신(Peer-To-Peer, P2P)을 이용한 다자간 웹브라우저 동기화 시스템.
KR10-2001-0028574A 2001-05-24 2001-05-24 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템 KR100429059B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0028574A KR100429059B1 (ko) 2001-05-24 2001-05-24 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0028574A KR100429059B1 (ko) 2001-05-24 2001-05-24 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20020089659A KR20020089659A (ko) 2002-11-30
KR100429059B1 true KR100429059B1 (ko) 2004-04-28

Family

ID=27706237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0028574A KR100429059B1 (ko) 2001-05-24 2001-05-24 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100429059B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030010938A (ko) * 2001-07-27 2003-02-06 나이스굿엔터테인먼트 주식회사 인터랙티브 멀티미디어 서비스 제어 방법
KR20030044397A (ko) * 2001-11-29 2003-06-09 (주)이너베이 동일 웹사이트 사용자들간의 실시간 커뮤니케이션 시스템및 방법
KR100496172B1 (ko) * 2004-05-29 2005-06-17 주식회사 티나루 P2p 환경의 웹서버에서 중앙서버를 이용한 듀얼웹서비스 시스템 및 그 방법
KR101009385B1 (ko) * 2009-10-14 2011-01-19 코오롱글로텍주식회사 재활용이 가능한 인조잔디 구조체의 제조방법 및 이의 재활용 방법
KR101281893B1 (ko) * 2011-08-10 2013-07-03 리얼네트웍스아시아퍼시픽 주식회사 대화 중 웹 기반 서비스를 공유하는 시스템 및 방법
CN110557412A (zh) * 2018-05-30 2019-12-10 杭州海康威视数字技术股份有限公司 一种数据同步方法及装置
CN112988263B (zh) * 2021-02-10 2023-11-28 青岛希望鸟科技有限公司 一种网页同步的方法、系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187614A (ja) * 1996-10-28 1998-07-21 Nippon Telegr & Teleph Corp <Ntt> 複数wwwブラウザの同期ページ表示方法及びそのプログラムを記録した記録媒体
KR20000051934A (ko) * 1999-01-28 2000-08-16 구경백 다자간 연동 브라우징 시스템 및 브라우징 방법과 이를 저장한 저장 매체
US6128660A (en) * 1996-03-21 2000-10-03 Hearme Network match maker
KR20010008864A (ko) * 1999-07-05 2001-02-05 허성재 유알엘 동기화 장치 및 방법과 그를 이용한 다중 인스턴스 관리 시스템
KR20010035317A (ko) * 2001-02-02 2001-05-07 박영범 P to P응용기술을 적용한 다자간 영상 및 음성 동시 작동화상회의 시스템
KR20020050903A (ko) * 2000-12-22 2002-06-28 장효상 인터넷을 이용한 교육,방송, 다자간 화상 회의,채팅서비스 제공 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128660A (en) * 1996-03-21 2000-10-03 Hearme Network match maker
JPH10187614A (ja) * 1996-10-28 1998-07-21 Nippon Telegr & Teleph Corp <Ntt> 複数wwwブラウザの同期ページ表示方法及びそのプログラムを記録した記録媒体
KR20000051934A (ko) * 1999-01-28 2000-08-16 구경백 다자간 연동 브라우징 시스템 및 브라우징 방법과 이를 저장한 저장 매체
KR20010008864A (ko) * 1999-07-05 2001-02-05 허성재 유알엘 동기화 장치 및 방법과 그를 이용한 다중 인스턴스 관리 시스템
KR20020050903A (ko) * 2000-12-22 2002-06-28 장효상 인터넷을 이용한 교육,방송, 다자간 화상 회의,채팅서비스 제공 방법
KR20010035317A (ko) * 2001-02-02 2001-05-07 박영범 P to P응용기술을 적용한 다자간 영상 및 음성 동시 작동화상회의 시스템

Also Published As

Publication number Publication date
KR20020089659A (ko) 2002-11-30

Similar Documents

Publication Publication Date Title
US10326807B2 (en) Method and software for enabling n-way collaborative work over a network of computers
JP4263260B2 (ja) サーバシステム
US20070260702A1 (en) Web browser architecture for virtual machine access
US6411989B1 (en) Apparatus and method for sharing information in simultaneously viewed documents on a communication system
EP1811747B1 (en) Method and apparatus for storing and restoring state information of remote user interface
US20100257451A1 (en) System and method for synchronizing collaborative web applications
US20120089659A1 (en) System and method for synchronizing collaborative form filling
JP2006520023A (ja) セグメント化されたピアツーピア・コンピューティングのための方法および装置
KR20140065764A (ko) 기능 확장이 가능한 협업 스크린 시스템 및 협업 방법
WO2001086980A1 (en) Shared application access for data services in wireless telecommunication systems
JP2001521717A (ja) ダイナミック・グループ・レジストリ装置及び方法
KR20140016259A (ko) 소프트웨어 애플리케이션의 최종사용자에 대한 지원제공 방법
US20020035603A1 (en) Method for collaborative-browsing using transformation of URL
US10021165B2 (en) Method of sharing browsing on a web page displayed by a web browser
US8682969B1 (en) Framed event system and method
US20140006915A1 (en) Webpage browsing synchronization in a real time collaboration session field
KR100429059B1 (ko) 클라이언트간 데이터 직접 통신을 이용한 다자간웹브라우저 동기화 방법 및 시스템
Ådahl Shared resource for collaborative editing over a wireless network
Frivold et al. Extending WWW for synchronous collaboration
JP4815481B2 (ja) ネットワーク中継機器、ユーザ情報管理システム、およびユーザ情報管理方法
Gashti Investigating SOAP and XML technologies in Web Service
Limosani et al. Connecting ROS and FIWARE: Concepts and tutorial
KR101699066B1 (ko) Html5 템플릿 기반의 메시지 전송방법
Liu et al. Eucalyptus: a web service-enabled e-infrastructure
KR100856934B1 (ko) 웹사이트 방문자 자동 연결 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120417

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee