KR101090641B1 - 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템 - Google Patents

커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템 Download PDF

Info

Publication number
KR101090641B1
KR101090641B1 KR1020100054046A KR20100054046A KR101090641B1 KR 101090641 B1 KR101090641 B1 KR 101090641B1 KR 1020100054046 A KR1020100054046 A KR 1020100054046A KR 20100054046 A KR20100054046 A KR 20100054046A KR 101090641 B1 KR101090641 B1 KR 101090641B1
Authority
KR
South Korea
Prior art keywords
component
data
registered
communication bus
sharing
Prior art date
Application number
KR1020100054046A
Other languages
English (en)
Inventor
이동수
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020100054046A priority Critical patent/KR101090641B1/ko
Application granted granted Critical
Publication of KR101090641B1 publication Critical patent/KR101090641B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템이 개시된다. 컴포넌트 간의 데이터 공유 방법은 적어도 하나의 컴포넌트를 커뮤니케이션 버스를 통해 등록하고, 등록된 컴포넌트 간의 데이터를 커뮤니케이션 버스를 이용하여 공유할 수 있다.

Description

커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템{METHOD AND SYSTEM FOR SHARING DATA OF COMPONENTS USING COMMUNICATION BUS}
본 발명은 컴포넌트들 간의 데이터를 공유하는 방법 및 시스템에 관한 것으로, 보다 구체적으로 커뮤니케이션 버스를 이용하여 등록된 컴포넌트들 간의 데이터를 공유하는 방법 및 시스템에 관한 것이다.
최근 들어, 클라이언트에서 동작하는 서비스가 다양화되고 있다. 이러한 서비스의 다양화에 따라, 사용자마다 선호하는 서비스가 존재한다.
일례로, 게임 서비스를 실행하면서, 게임 서비스에서 디폴트로 제공되는 메신저 서비스 이외에 선호하는 다른 메신저 서비스가 사용자마다 다르게 존재한다. 그래서, 동작 중인 게임 서비스에서는 사용자가 선호하는 메신저 서비스를 함께 제공하기 위해 많은 노력이 필요하다.
이를 위해, 하나의 런쳐(Launcher)에서 게임, 메신저 서비스 등과 같이 다수의 컴포넌트들을 실행할 수 있는 기술이 요구된다.
본 발명은 커뮤니케이션 버스를 이용하여 컴포넌트를 등록하여 하나의 런쳐에서 등록된 다수의 컴포넌트들을 실행하는 방법 및 시스템을 제공한다.
본 발명은 커뮤니케이션 버스를 이용하여 등록된 다수의 컴포넌트들 간의 데이터를 공유하는 방법 및 시스템을 제공한다.
본 발명의 일실시예에 따른 컴포넌트 간의 데이터 공유 방법은, 적어도 하나의 컴포넌트(Component)를 등록하는 단계, 및 커뮤니케이션 버스를 이용하여 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계를 포함할 수 있다.
이때, 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는, 상기 등록된 컴포넌트로부터 수신한 데이터를 상기 커뮤니케이션 버스를 통해 다른 컴포넌트에 전송할 수 있다.
또한, 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는, 상기 등록된 컴포넌트로부터 XML 형식의 데이터를 수신할 수 있다.
또한, 상기 등록된 컴포넌트들은, 상기 커뮤니케이션 버스를 통해 메모리를 공유할 수 있다.
또한, 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는, 상기 커뮤니케이션 버스를 통해 상기 컴포넌트에서 발생한 이벤트(event), 동기 콜(Synchronous call), 및 비동기 콜(Asynchronous call) 중 적어도 하나를 수신하여 다른 컴포넌트에 전송할 수 있다.
또한, 상기 컴포넌트의 타입은, 동적 링크 라이브러리(Dynamic Linked Library: DLL) 및 실행 프로그램(Execute Program: EXE) 중 어느 하나일 수 있다.
또한, 상기 적어도 하나의 컴포넌트를 등록하는 단계는, 상기 컴포넌트의 실행 순서를 판단하는 단계, 상기 실행 순서에 따라 컴포넌트를 로딩 및 실행하는 단계, 및 상기 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알리는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 컴포넌트 간의 데이터 공유 시스템은, 적어도 하나의 컴포넌트(Component)를 등록하는 컴포넌트 등록부, 및 커뮤니케이션 버스를 이용하여 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 데이터 공유부를 포함할 수 있다.
이때, 상기 컴포넌트 등록부는, 상기 컴포넌트의 실행 순서를 판단하는 판단부, 상기 실행 순서에 따라 컴포넌트를 로딩 및 실행하는 실행부, 및 상기 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알리는 통지부를 포함할 수 있다.
본 발명의 일실시예에 따르면, 커뮤니케이션 버스를 이용하여 컴포넌트를 등록함에 따라 하나의 런쳐에서 등록된 다수의 컴포넌트들을 실행할 수 있다.
본 발명의 일실시예에 따르면, 커뮤니케이션 버스를 이용하여 등록된 다수의 컴포넌트들 간의 데이터를 공유할 수 있다.
도 1은 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트를 등록하는 과정을 설명하기 위해 제공되는 도면이다.
도 2는 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트를 등록하는 데이터 공유 시스템의 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트 등록부의 세부 구성을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트 간에 데이터를 공유하는 방법을 설명하기 위해 제공되는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트를 등록하는 과정을 설명하기 위해 제공되는 도면이다.
도 1에서, 컴포넌트 1(30), 컴포넌트 2(40), 및 컴포넌트 4(60)는 커뮤니케이션 버스(20)를 이용하여 이미 등록된 상태이고, 컴포넌트 3(50)을 등록하려는 경우, 데이터 공유 시스템(10)은 커뮤니케이션 버스(20)를 이용하여 컴포넌트 3(50)을 등록할 수 있다.
이때, 데이터 공유 시스템(10)은 컴포넌트 3(50)이 신규로 등록되었음을 컴포넌트 1(30), 컴포넌트 2(40), 및 컴포넌트 4(60)에 알릴 수 있다. 그러면, 이미 등록된 컴포넌트 1(30), 컴포넌트 2(40), 및 컴포넌트 4(60)는 신규로 등록된 컴포넌트 3(50)과 데이터를 공유할 수 있다. 이때, 컴포넌트 1 내지 컴포넌트 4(30~60)은 커뮤니케이션 버스(20)를 이용하여 XML 형식의 데이터를 공유할 수 있다.
도 2는 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트를 등록하는 데이터 공유 시스템의 구성을 도시한 도면이다.
도 2를 참고하면, 데이터 공유 시스템(200)은 컴포넌트 등록부(210) 및 데이터 공유부(220)를 포함할 수 있다.
컴포넌트 등록부(210)는 커뮤니케이션 버스(Communication Bus: 300)를 이용하여 하나 이상의 컴포넌트를 등록할 수 있다. 여기서, 컴포넌트는 클라이언트에서 동작하는 다수의 서비스이다. 이때, 컴포넌트(component)는 게임, 메신저, 블로그, 웹 페이지, 게임 아바타, 게임 배경, 및 게임 아이템을 포함할 수 있다.
일례로, 컴포넌트 1(410)은 게임, 컴포넌트 2(420)는 메신저, 컴포넌트 3(430)은 블로그이고, 컴포넌트 1(410), 컴포넌트 2(420), 및 컴포넌트 4(440)는 기등록되고, 컴포넌트 3(430)이 신규로 등록하는 경우, 컴포넌트 등록부(210)는 커뮤니케이션 버스(300)를 이용하여 컴포넌트 3(430)을 신규로 등록할 수 있다. 그리고, 컴포넌트 등록부(210)는 컴포넌트 3(430)이 신규로 등록되었음을 커뮤니케이션 버스(300)를 이용하여 컴포넌트 1(410), 컴포넌트 2(420), 및 컴포넌트 4(440)에 알릴 수 있다.
그러면, 데이터 공유부(220)는 커뮤니케이션 버스(300)를 이용하여 등록된 컴포넌트들 간의 데이터를 공유할 수 있다. 도 2에 따르면, 데이터 공유부(220)는 하나의 런쳐(Launcher)에서 컴포넌트 1(410) 내지 컴포넌트 4(440)이 갖고 있는 데이터들을 커뮤니케이션 버스(300)를 이용하여 서로 공유할 수 있다. 이를 위해, 데이터 공유부(220)는 등록된 컴포넌트로부터 수신한 데이터를 커뮤니케이션 버스(300)를 통해 다른 컴포넌트에 전송할 수 있다.
일례로, 게임인 컴포넌트 1(410)과 메신저(messenger)인 컴포넌트 2(420) 간의 데이터를 공유하는 경우, 메신저에 사용자가 로그인하였음을 게임 상에 표시할 수 있다. 이때, 컴포넌트 2(420)는 메신저에 등록된 사용자들이 메신저에 로그인할 때마다 메신저 정보를 커뮤니케이션 버스(300)에 브로드캐스팅(broadcasting)할 수 있다. 이에 따라, 컴포넌트 2(420)는 사용자가 메신저에 로그인할 때마다 메신저 정보를 컴포넌트 1(410)로 전달하기 위해 컴포넌트 2를 수정할 필요가 없다.
그리고, 데이터 공유부(220)는 커뮤니케이션 버스(300)를 통해 수신된 메신저 정보를 커뮤니케이션 버스(300)를 이용하여 컴포넌트 1(410)로 전달할 수 있다. 그러면, 게임 상에 메신저에 사용자가 로그인한 정보가 표시될 수 있다. 이에 따라, 컴포넌트 1(410)은 제공되는 라이브러리를 그대로 사용하여 메신저 정보를 수신할 수 있다. 즉, 컴포넌트 1(410)은 메신저 정보를 수신하기 위한 프로토콜을 설계하거나, 코드를 개발하지 않아도 된다.
다른 예로, 게임인 컴포넌트 1(410)과 블로그(Blog)인 컴포넌트 3(430) 간의 데이터를 공유하는 경우, 컴포넌트 1(410)은 동작하고 있는 게임의 현재 화면을 캡쳐(Capture)하여 커뮤니케이션 버스(300)로 전달할 수 있다. 그러면, 데이터 공유부(220)는 수신된 캡쳐 화면을 커뮤니케이션 버스(300)를 이용하여 컴포넌트 3(430)으로 전달할 수 있다. 이에 따라, 블로그에는 캡쳐 화면이 업로드될 수 있다.
또 다른 예로, 게임인 컴포넌트 1(410)과 웹 페이지(Webpage)인 컴포넌트 4(440) 간의 데이터를 공유하는 경우, 컴포넌트 1(410)는 퀘스트(Quest) 수행과 관련된 웹 페이지 요청 데이터를 커뮤니케이션 버스(300)로 전달할 수 있다. 그러면, 데이터 공유부(220)는 커뮤니케이션 버스(300)를 통해 수신된 웹 페이지 요청 데이터를 커뮤니케이션 버스(300)를 이용하여 컴포넌트 4(440)로 전달할 수 있다. 그리고, 데이터 공유부(220)는 컴포넌트 4(440)에서 커뮤니케이션 버스(300)를 통해 수신된 웹 페이지를 커뮤니케이션 버스(300)를 이용하여 컴포넌트 1(410)로 전달할 수 있다. 그러면, 게임 상에 퀘스트 수행과 관련된 웹 페이지가 표시될 수 있다.
이때, 데이터 공유부(220)는 등록된 컴포넌트들로부터 XML 형식의 데이터를 수신할 수 있다. 일례로, 데이터 공유부(220)는 컴포넌트 1 내지 컴포넌트 4(410~440)로부터 XML 형식의 데이터를 커뮤니케이션 버스(330)를 통해 수신할 수 있다. 여기서, XML 형식의 데이터는 DTD(Document Type Definition)를 이용하여 정의될 수 있다.
일례로, XML 형식의 데이터는 아래의 표 1과 같이 정의되고, DTD는 아래의 표 2와 같이 정의될 수 있다.
Figure 112010036823962-pat00001
Figure 112010036823962-pat00002
이하에서는 도 3을 참조하여 신규로 컴포넌트를 등록하는 과정에 대해 보다 상세히 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트 등록부의 세부 구성을 도시한 도면이다.
도 3에 따르면, 컴포넌트 등록부(210)는 판단부(211), 실행부(212), 및 통지부(213)를 포함할 수 있다.
판단부(211)는 컴포넌트의 실행 순서를 판단할 수 있다. 이때, 컴포넌트의 타입은 동적 링크 라이브러리(Dynamic Linked Library: DLL) 및 실행 프로그램(Execute Program: EXE) 중 어느 하나일 수 있다.
일례로, 신규로 등록을 요청한 컴포넌트의 타입이 DLL인 경우, 판단부(211)는 execute manager를 이용하여 실행 순서 XML을 분석하여 기등록된 컴포넌트 1(410), 컴포넌트 2(420), 및 컴포넌트 4(440)의 실행 순서를 판단할 수 있다. 그리고, 판단부(211)는 판단한 기등록된 컴포넌트 1(410), 컴포넌트 2(420), 및 컴포넌트 4(440)의 실행 순서를 기초로 신규로 등록을 요청한 컴포넌트 3(430)를 포함한 실행 순서를 결정할 수 있다. 이때, 판단부(211)는 execute manager를 이용하여 컴포넌트 1 내지 컴포넌트 4(410~440)의 실행 순서를 포함하는 쓰레드(Thread)를 생성할 수 있다.
실행부(212)는 생성한 쓰레드를 이용하여 컴포넌트 3(430)을 로딩 및 실행할 수 있다. 그러면, 컴포넌트 3(430)은 실행을 통해 등록될 수 있다.
다른 예로, 신규로 등록을 요청한 컴포넌트의 타입이 EXE인 경우, 판단부(211)는 execute manager를 이용하여 실행 순서 XML을 분석하면서, 신규로 등록을 요청한 컴포넌트 3(430)를 바로 실행할 수 있다. 그러면, 컴포넌트 3(430)은 실행을 통해 등록될 수 있다. 이처럼, 컴포넌트의 타입이 EXE인 경우, 컴포넌트 등록부(220)에서 실행부(212)는 생략될 수 있다.
통지부(213)는 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알릴 수 있다. 일례로, 통지부(213)는 신규로 등록된 컴포넌트 3(430)이 등록되었음을 기등록된 컴포넌트 1(410), 컴포넌트 2(420), 및 컴포넌트 4(440)에게 알릴 수 있다.
그러면, 등록된 컴포넌트 1 내지 컴포넌트 4(410~440)는 커뮤니케이션 버스(300)를 통해 메모리를 공유할 수 있다.
또한, 데이터 공유부(220)는 등록된 컴포넌트 1 내지 컴포넌트 4(410~440)에서 발생한 이벤트(event), 동기 콜(Synchronous Call), 및 비동기 콜(Asynchronous Call) 중 적어도 하나를 커뮤니케이션 버스(300)를 통해 수신하여 다른 컴포넌트로 전송할 수 있다.
여기서, 동기 콜은 컴포넌트에서 데이터를 전송하고, 상대 컴포넌트에서 전송한 데이터에 대한 응답을 전송할 때까지 대기해야 하는 경우에 발생하는 콜을 의미한다.
일례로, 컴포넌트 1(410)이 컴포넌트 2(420)에 사용자 정보를 요청한 후에 사용자 정보를 컴포넌트 2(420)로부터 수신하여 다른 일을 처리해야 하는 경우, 컴포넌트 1(410)은 컴포넌트 2(420)에게 동기 방식으로 데이터를 요청할 수 있다. 즉, 컴포넌트 1(410)은 커뮤니케이션 버스(300) 및 데이터 공유부(220)를 통해 동기 콜을 컴포넌트 2(420)로 전송할 수 있다.
그리고, 비동기 콜은 컴포넌트에서 데이터를 전송한 이후, 상대 컴포넌트가 해당 데이터를 사용하는지 여부에 관계없이 프로세스를 처리해야 하는 경우에 발생하는 콜을 의미한다.
일례로, 컴포넌트 1(410)이 사용자 정보를 외부 시스템으로 전달할 뿐, 외부 시스템에서 사용자 정보를 사용하는지 여부에 관계없이 자신의 일을 계속 처리해야 하는 경우, 컴포넌트 1(410)은 컴포넌트 2(420)에게 비동기 방식으로 데이터를 요청할 수 있다.
도 4는 본 발명의 일실시예에 따른 커뮤니케이션 버스를 이용하여 컴포넌트 간에 데이터를 공유하는 방법을 설명하기 위해 제공되는 흐름도이다.
도 4를 참조하면, S510 단계에서, 컴포넌트 등록부(210)는 하나 이상의 컴포넌트를 커뮤니케이션 버스(300)를 이용하여 등록할 수 있다. 이때, 컴포넌트의 타입은 DLL 및 EXE 중 어느 하나를 포함할 수 있다.
일례로, 신규로 등록을 요청한 컴포넌트의 타입이 DLL인 경우, 판단부(211)는 execute manager를 이용하여 실행 순서 XML을 분석할 수 있다. 그러면, 판단부(2100)는 분석을 통해 기등록된 컴포넌트들의 실행 순서를 판단할 수 있다. 그리고, 판단부(211)는 판단한 기등록된 컴포넌트들의 실행 순서를 기초로 신규로 등록을 요청한 컴포넌트를 포함한 실행 순서를 결정할 수 있다. 이때, 판단부(211)는 기등록된 컴포넌트들과 신규로 등록을 요청한 컴포넌트의 실행 순서를 쓰레드(Thread)를 생성할 수 있다.
그러면, 실행부(212)는 쓰레드를 이용하여 신규로 등록을 요청한 컴포넌트를 로딩 및 실행함으로써, 신규로 등록을 요청한 컴포넌트를 등록할 수 있다. 이때, 통지부(213)는 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알릴 수 있다.
다른 예로, 신규로 등록을 요청한 컴포넌트의 타입이 EXE인 경우, 판단부(211)는 execute manager를 이용하여 실행 순서 XML을 분석하면서, 신규로 등록을 요청한 컴포넌트를 바로 실행하여 등록할 수 있다. 그러면, 통지부(213)는 컴포넌트 타입이 DLL인 경우와 마찬가지로, 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알릴 수 있다.
이어, S520 단계에서, 데이터 공유부(220)는 등록된 컴포넌트들 간의 데이터를 커뮤니케이션 버스(300)를 이용하여 공유할 수 있다. 이때, 데이터 공유부(220)는 등록된 컴포넌트로부터 수신한 데이터를 커뮤니케이션 버스(300)를 통해 다른 컴포넌트에 전송할 수 있다. 여기서, 커뮤니케이션 버스를 통해 수신 및 다른 컴포넌트로 전송되는 데이터는 XML 형식의 데이터일 수 있다.
일례로, 데이터 공유부(220)는 등록된 컴포넌트들에서 발생한 이벤트(event), 동기 콜(Synchronous Call), 및 비동기 콜(Asynchronous Call) 중 적어도 하나를 커뮤니케이션 버스(300)를 통해 수신하여 다른 컴포넌트로 전송할 수 있다. 이에 따라, 등록된 컴포넌트들은 서로 데이터를 공유할 수 있다. 또한, 등록된 컴포넌트들은 커뮤니케이션 버스(300)를 통해 메모리를 공유할 수도 있다.
한편, 본 발명의 일 실시예에 따른 데이터 공유 시스템(200)에서, 등록된 컴포넌트들은 데이터를 직렬화(Serialize), 또는 암호화하여 커뮤니케이션 버스(300)를 통해 데이터 공유부(220)로 전달할 수 있다. 그러면, 데이터 공유부(220)는 직렬화 또는 암호화된 데이터를 다른 컴포넌트로 전달할 수 있다. 이때, 커뮤니케이션 버스(300)를 통해 직렬화 또는 암호화된 데이터를 수신한 컴포넌트는 데이터를 직렬화 해제 또는 복호화할 수 있다.
다른 한편, 이상에서는 신규로 컴포넌트를 등록하고, 커뮤니케이션 버스를 이용하여 등록된 컴포넌트와 기등록된 컴포넌트 간에 데이터를 공유하는 과정에 대해 설명하였으나, 이외에, 본 발명의 일 실시예에 따른 데이터 공유 시스템(200)은 기등록된 컴포넌트 중에서 등록 해제를 요청한 컴포넌트를 해제하는 컴포넌트 등록 해제부를 더 포함할 수도 있다. 그러면, 기등록된 컴포넌트들은 등록이 해제된 컴포넌트와 더 이상 데이터를 공유하지 않을 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 데이터 공유 시스템
210: 컴포넌트 등록부
211: 판단부
212: 실행부
213: 통지부
220: 데이터 공유부
300: 커뮤니케이션 버스

Claims (15)

  1. 적어도 하나의 컴포넌트(Component)를 등록하는 단계; 및
    커뮤니케이션 버스를 이용하여 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계
    를 포함하고,
    상기 적어도 하나의 컴포넌트를 등록하는 단계는,
    상기 컴포넌트의 실행 순서에 따라 컴포넌트를 실행하는 단계; 및
    상기 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알리는 단계
    를 포함하는 컴포넌트 간의 데이터 공유 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는,
    상기 적어도 하나의 등록된 컴포넌트로부터 수신한 데이터를 상기 커뮤니케이션 버스를 통해 상기 적어도 하나의 등록된 컴포넌트 중 상기 데이터를 전송한 컴포넌트를 제외한 다른 컴포넌트에 전송하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는,
    상기 적어도 하나의 등록된 컴포넌트로부터 XML 형식의 데이터를 수신하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 등록된 컴포넌트는,
    상기 커뮤니케이션 버스를 통해 메모리를 공유하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 단계는,
    상기 커뮤니케이션 버스를 통해 상기 컴포넌트에서 발생한 이벤트(event), 동기 콜(Synchronous call), 및 비동기 콜(Asynchronous call) 중 적어도 하나를 수신하여 다른 컴포넌트에 전송하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 방법.
  6. 제1항에 있어서,
    상기 컴포넌트의 타입은,
    동적 링크 라이브러리(Dynamic Linked Library: DLL) 및 실행 프로그램(Execute Program: EXE) 중 어느 하나인 것을 특징으로 하는 컴포넌트 간의 데이터 공유 방법.
  7. 삭제
  8. 제1항 내지 제6항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  9. 적어도 하나의 컴포넌트(Component)를 등록하는 컴포넌트 등록부; 및
    커뮤니케이션 버스를 이용하여 상기 적어도 하나의 컴포넌트 간의 데이터를 공유하는 데이터 공유부
    를 포함하고,
    상기 컴포넌트 등록부는,
    상기 컴포넌트의 실행 순서에 따라 컴포넌트를 실행하는 실행부; 및
    상기 실행된 컴포넌트 중 신규로 등록된 컴포넌트의 등록 여부를 기등록된 컴포넌트에게 알리는 통지부
    를 포함하는 컴포넌트 간의 데이터 공유 시스템.
  10. 제9항에 있어서,
    상기 데이터 공유부는,
    상기 적어도 하나의 등록된 컴포넌트로부터 수신한 데이터를 커뮤니케이션 버스를 통해 상기 적어도 하나의 등록된 컴포넌트 중 상기 데이터를 전송한 컴포넌트를 제외한 다른 컴포넌트에 전송하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 시스템.
  11. 제10항에 있어서,
    상기 데이터 공유부는,
    상기 적어도 하나의 등록된 컴포넌트로부터 XML 형식의 데이터를 수신하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 시스템.
  12. 제9항에 있어서,
    상기 적어도 하나의 등록된 컴포넌트는,
    상기 커뮤니케이션 버스를 통해 메모리를 공유하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 시스템.
  13. 제9항에 있어서,
    상기 데이터 공유부는,
    상기 커뮤니케이션 버스를 통해 상기 컴포넌트에서 발생한 이벤트(event), 동기 콜(Synchronous call), 및 비동기 콜(Asynchronous call) 중 적어도 하나를 수신하여 다른 컴포넌트에 전송하는 것을 특징으로 하는 컴포넌트 간의 데이터 공유 시스템.
  14. 제9항에 있어서,
    상기 컴포넌트의 타입은,
    동적 링크 라이브러리(Dynamic Linked Library: DLL) 및 실행 프로그램(Execute Program: EXE) 중 어느 하나인 것을 특징으로 하는 컴포넌트 간의 데이터 공유 시스템.
  15. 삭제
KR1020100054046A 2010-06-08 2010-06-08 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템 KR101090641B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100054046A KR101090641B1 (ko) 2010-06-08 2010-06-08 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100054046A KR101090641B1 (ko) 2010-06-08 2010-06-08 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101090641B1 true KR101090641B1 (ko) 2011-12-08

Family

ID=45505761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100054046A KR101090641B1 (ko) 2010-06-08 2010-06-08 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101090641B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900743B1 (ko) 2004-09-17 2009-06-05 인터내셔널 비지네스 머신즈 코포레이션 데이터 공유 시스템, 방법 및 소프트웨어 툴

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900743B1 (ko) 2004-09-17 2009-06-05 인터내셔널 비지네스 머신즈 코포레이션 데이터 공유 시스템, 방법 및 소프트웨어 툴

Similar Documents

Publication Publication Date Title
US10567841B2 (en) Information interception processing method, terminal, and computer storage medium
KR102105636B1 (ko) 원격으로 애플리케이션들을 설치
CN105530175B (zh) 一种消息处理方法、装置及系统
CN110971655B (zh) 离线客户端重放和同步
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
JP2015518981A (ja) 携帯用装置での閲覧活動を監視及び追跡する方法及びシステム
CN111643907A (zh) 一种游戏登录方法、装置、存储介质和电子设备
CN105897888B (zh) 一种客户端连接方法及系统
US10884723B2 (en) Modification of software behavior in run time
GB2518739A (en) Custom Correlation of a Distributed Business Transaction
US11789765B2 (en) Collaborative hosted virtual systems and methods
CN111569417A (zh) 一种云游戏的外设数据传输方法及系统
CN113347269A (zh) 一种工业系统的数据更新方法、电子设备和存储介质
CN111258902B (zh) 基于SockJS服务器的性能测试方法和性能测试系统
JP2011043924A (ja) Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム
US9507655B2 (en) Tracking asynchronous entry points for an application
CN104615597A (zh) 浏览器中清除缓存文件的方法、装置和系统
WO2011041736A1 (en) System and method for a thin-client terminal system using a serial bus
JP5961471B2 (ja) 複数の情報システムおける出力比較方法
JP2005228183A (ja) プログラム実行方法、および、プログラム実行のための計算機システム
CN117724852B (zh) 一种云电脑计算资源分配方法及装置
KR101090641B1 (ko) 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템
CN110795156B (zh) 移动存储器加载方法、瘦客户端、存储介质及装置
US9774659B2 (en) Bi-directional channel-based progress indicator
CN103457980B (zh) 终端设备和数据获取方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 9