KR102099680B1 - 정보처리장치 및 그 제어방법 - Google Patents

정보처리장치 및 그 제어방법 Download PDF

Info

Publication number
KR102099680B1
KR102099680B1 KR1020130046614A KR20130046614A KR102099680B1 KR 102099680 B1 KR102099680 B1 KR 102099680B1 KR 1020130046614 A KR1020130046614 A KR 1020130046614A KR 20130046614 A KR20130046614 A KR 20130046614A KR 102099680 B1 KR102099680 B1 KR 102099680B1
Authority
KR
South Korea
Prior art keywords
event
information processing
application
server
processing device
Prior art date
Application number
KR1020130046614A
Other languages
English (en)
Other versions
KR20140128017A (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 KR1020130046614A priority Critical patent/KR102099680B1/ko
Priority to US14/220,331 priority patent/US10097976B2/en
Publication of KR20140128017A publication Critical patent/KR20140128017A/ko
Application granted granted Critical
Publication of KR102099680B1 publication Critical patent/KR102099680B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences

Landscapes

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

Abstract

본 발명의 실시예에 따른 정보처리장치는, 복수의 어플리케이션과; 상기 어플리케이션을 관리 및 제어하는 플랫폼을 포함하며, 상기 플랫폼은, 상기 복수의 어플리케이션 중 제1어플리케이션에서 발생한 이벤트가 지시하는 대응 동작이 상기 복수의 어플리케이션 중 제2어플리케이션에서 실행되게 처리하는 이벤트 처리모듈과; 적어도 하나 이상의 외부장치와 통신하는 서버와 통신 가능하게 접속하며, 상기 이벤트 처리모듈에서 처리되는 상기 이벤트가 지시하는 상기 대응 동작이 상기 외부장치에 저장된 제3어플리케이션에서 실행될 수 있도록 상기 이벤트를 상기 서버에 전송하는 클라이언트 모듈을 포함하는 것을 특징으로 한다.

Description

정보처리장치 및 그 제어방법 {INFORMATION PROCESSING APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 다양한 종류의 정보를 처리 가능한 정보처리장치 및 그 제어방법에 관한 것으로서, 상세하게는 정보처리장치에서 발생하는 어플리케이션 관련 이벤트에 대하여 타 어플리케이션이 해당 이벤트에 대응하는 리액션(reaction)을 수행하는 구조를 개선한 정보처리장치 및 그 제어방법에 관한 것이다.
정보처리장치는 다양한 형태로 구현되는 정보 또는 데이터를 사전에 정해진 프로세스를 따라서 처리함으로써, 처리 결과에 따른 다양한 액션을 수행할 수 있는 제반 장치를 통칭한다. 정보처리장치는 CPU, 메인보드, 메모리, 디스플레이 등과 같은 하드웨어 구성과, 이러한 하드웨어 구성의 기반에서 동작하는 운영체제, 미들웨어(middleware), 어플리케이션 등과 같은 소프트웨어 구성을 포함한다. 특히, 정보처리장치는 사용자의 요구에 대응하여 다양한 서비스를 제공하는 어플리케이션을 가질 수 있으며, 이러한 어플리케이션은 정보처리장치에서 실행되기 위해 운영체제 또는 미들웨어에 의한 관리를 받는 바, 이러한 운영체제 또는 미들웨어를 디바이스 플랫폼(device platform) 또는 플랫폼이라고 지칭한다.
플랫폼에는 하나의 정보처리장치 내의 복수의 어플리케이션이 소프트웨어적인 인스톨(install) 등의 방법을 통해 상호 연관됨으로써, 플랫폼이 각 어플리케이션에 대한 관리, 제어, 중계 등의 다양한 동작을 수행할 수 있도록 한다. 플랫폼이 수행 가능한 다양한 동작의 한 예시로서, 플랫폼은 복수의 어플리케이션 사이에 인터랙션(interaction)이 수행되도록, 보다 구체적으로 어느 한 어플리케이션에서 발생한 이벤트에 대한 리액션이 다른 어플리케이션이 수행되도록 중계할 수 있다.
본 발명의 실시예에 따른 정보처리장치는, 복수의 어플리케이션과; 상기 어플리케이션을 관리 및 제어하는 플랫폼을 포함하며, 상기 플랫폼은, 상기 복수의 어플리케이션 중 제1어플리케이션에서 발생한 이벤트가 지시하는 대응 동작이 상기 복수의 어플리케이션 중 제2어플리케이션에서 실행되게 처리하는 이벤트 처리모듈과; 적어도 하나 이상의 외부장치와 통신하는 서버와 통신 가능하게 접속하며, 상기 이벤트 처리모듈에서 처리되는 상기 이벤트가 지시하는 상기 대응 동작이 상기 외부장치에 저장된 제3어플리케이션에서 실행될 수 있도록 상기 이벤트를 상기 서버에 전송하는 클라이언트 모듈을 포함할 수 있다.
여기서, 상기 클라이언트 모듈은 상기 서버로부터 이벤트가 수신되면 상기 이벤트 처리모듈에 의해 처리되도록 상기 이벤트를 상기 이벤트 처리모듈에 전달하며, 상기 이벤트 처리모듈은 상기 제1어플리케이션에서 발생한 상기 이벤트 또는 상기 클라이언트 모듈로부터 수신된 상기 이벤트가 지시하는 상기 대응 동작이 실행되도록 처리할 수 있다.
또한, 상기 이벤트 처리모듈은, 상기 플랫폼에서 사전에 정의된 소정 이벤트에 대해 상기 대응 동작을 실행하도록 상기 어플리케이션이 등록된 리스트를 참조 가능하며, 상기 리스트에 기초하여 상기 복수의 어플리케이션 중에서 상기 제2어플리케이션을 선택할 수 있다.
또한, 상기 플랫폼은, 상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 대응 동작을 실행 가능하도록, 상기 정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 컨텐츠 처리모듈을 더 포함할 수 있다.
여기서, 상기 컨텐츠 처리모듈은, 상기 클라이언트 모듈이 상기 외부장치의 상기 제3어플리케이션으로부터 상기 부가 데이터의 요청을 수신하면, 상기 정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 클라이언트 모듈을 통해 상기 외부장치에 전송시킬 수 있다.
또한, 본 발명의 실시예에 따른 시스템은, 서버와; 상기 서버와 통신하며, 복수의 어플리케이션 및 상기 어플리케이션을 관리 및 제어하는 플랫폼이 각기 저장된 복수의 정보처리장치를 포함하며, 상기 복수의 정보처리장치 중 제1정보처리장치의 상기 플랫폼은, 상기 제1정보처리장치에 저장된 제1어플리케이션에서 발생한 이벤트가 지시하는 대응 동작이 상기 제1정보처리장치에 저장된 제2어플리케이션에서 실행되게 처리하는 이벤트 처리모듈과; 상기 이벤트 처리모듈에서 처리되는 상기 이벤트를 상기 서버에 전송하는 클라이언트 모듈을 포함하며, 상기 서버는, 상기 복수의 정보처리장치 중에서 상기 제1정보처리장치로부터 수신되는 상기 이벤트가 지시하는 상기 대응 동작을 실행하는 적어도 하나 이상의 제2정보처리장치를 판별하고, 상기 제2정보처리장치에 저장된 제3어플리케이션에서 상기 대응 동작이 실행되도록 상기 이벤트를 상기 제2정보처리장치에 전송하는 것을 특징으로 한다.
여기서, 상기 서버는, 상기 복수의 정보처리장치 각각으로부터 수신되는 상기 이벤트가 상기 복수의 정보처리장치 중에서 어느 것에 전달될 것인지를 지정하는 데이터베이스를 저장하며, 상기 데이터베이스에 기초하여 상기 복수의 정보처리장치 중에서 상기 제2정보처리장치를 판별할 수 있다.
여기서, 상기 데이터베이스는 상기 제1정보처리장치에 대해 복수의 상기 이벤트를 각기 포함하는 복수의 이벤트 카테고리를 포함하고, 각각의 상기 이벤트 카테고리에는 상기 복수의 정보처리장치 중에서 기 선택된 정보처리장치가 등록되어 있으며, 상기 서버는 상기 제1정보처리장치로부터 수신되는 상기 이벤트가 상기 복수의 이벤트 카테고리 중에서 어느 것에 포함되는지 판단하고, 상기 판단된 이벤트 카테고리에 등록된 정보처리장치를 상기 제2정보처리장치로 판별할 수 있다.
또한, 상기 클라이언트 모듈은 상기 서버로부터 이벤트가 수신되면 상기 이벤트 처리모듈에 의해 처리되도록 상기 이벤트를 상기 이벤트 처리모듈에 전달하며, 상기 이벤트 처리모듈은 상기 제1어플리케이션에서 발생한 상기 이벤트 또는 상기 클라이언트 모듈로부터 수신된 상기 이벤트가 지시하는 상기 대응 동작이 실행되도록 처리할 수 있다.
또한, 상기 복수의 정보처리장치 각각은 상기 플랫폼에서 사전에 정의된 소정 이벤트에 대해 상기 대응 동작을 실행하도록 상기 어플리케이션이 등록된 리스트가 기 저장되며, 상기 제1정보처리장치 또는 상기 제2정보처리장치는 각기 저장된 상기 리스트에 기초하여 상기 제2어플리케이션 또는 상기 제3어플리케이션을 선택할 수 있다.
또한, 상기 플랫폼은, 상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 대응 동작을 실행 가능하도록, 상기 제1정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 컨텐츠 처리모듈을 더 포함할 수 있다.
여기서, 상기 제2정보처리장치는 상기 제3어플리케이션에서 상기 대응 동작을 실행할 때에 상기 이벤트에 관련된 부가 데이터가 필요한 경우에, 상기 부가 데이터를 상기 제1정보처리장치에 요청하며, 상기 컨텐츠 처리모듈은, 상기 제2정보처리장치로부터 상기 부가 데이터의 요청을 수신하면, 상기 제1정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 클라이언트 모듈을 통해 상기 제2정보처리장치에 제공할 수 있다.
또한, 상기 제1정보처리장치 및 상기 제2정보처리장치 사이에서 수행되는 상기 부가 데이터의 요청 및 제공은, 상기 서버를 경유하여 수행될 수 있다.
또한, 본 발명의 실시예에 따른 복수의 어플리케이션이 저장된 정보처리장치의 제어방법은, 상기 복수의 어플리케이션 중 제1어플리케이션에서 소정의 대응 동작을 지시하는 이벤트가 발생하는 단계와; 상기 이벤트가 지시하는 상기 대응 동작이 상기 복수의 어플리케이션 중 제2어플리케이션에서 실행되게 처리하는 단계와; 적어도 하나 이상의 외부장치와 통신하는 서버와 통신 가능하게 접속하고, 상기 이벤트가 지시하는 상기 대응 동작이 상기 외부장치에 저장된 제3어플리케이션에서 실행될 수 있도록 상기 이벤트를 상기 서버에 전송하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 서버로부터 소정의 이벤트를 수신하는 단계와; 상기 서버로부터 수신된 상기 이벤트가 지시하는 대응 동작이 상기 복수의 어플리케이션 중 어느 하나에 의해 실행되게 처리하는 단계를 더 포함할 수 있다.
또한, 상기 정보처리장치는 사전에 정의된 소정 이벤트에 대해 상기 대응 동작을 실행하도록 상기 어플리케이션이 등록된 리스트를 기 저장하며, 상기 대응 동작이 제2어플리케이션에서 실행되게 처리하는 단계는, 상기 리스트에 기초하여 상기 복수의 어플리케이션 중에서 상기 제2어플리케이션을 선택하는 단계를 포함할 수 있다.
또한, 상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 대응 동작을 실행 가능하도록, 상기 정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 부가 데이터를 검색하여 제공하는 단계는, 상기 외부장치의 상기 제3어플리케이션으로부터 상기 부가 데이터의 요청을 수신하는 단계와; 상기 정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 외부장치에 제공하는 단계를 포함할 수 있다.
도 1은 본 발명의 제1실시예에 따른 정보처리장치를 나타내는 구성 블록도,
도 2는 도 1의 정보처리장치에서 실행되는 플랫폼의 구조를 나타내는 구성 블록도,
도 3은 본 발명의 제2실시예에 따른 정보처리장치에서 실행되는 플랫폼의 구조를 나타내는 구성 블록도,
도 4는 본 발명의 제2실시예에 따라서, 서버에서 하나의 정보처리장치에 대해 설정된 노드의 구조를 나타내는 예시도,
도 5는 본 발명의 제2실시예에서, 제1정보처리장치로부터 생성된 이벤트에 따라서 제2정보처리장치에서 리액션이 실행되는 과정을 나타내는 구성 블록도,
도 6은 도 5에서 설명하는 리액션의 실행을 위한 데이터의 전송 과정을 나타내는 구성 블록도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다. 이하 실시예에서는 본 발명의 사상과 직접적인 관련이 있는 구성들에 관해서만 설명하며, 그 외의 구성에 관해서는 설명을 생략한다. 그러나, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 설명이 생략된 구성이 불필요함을 의미하는 것이 아님을 밝힌다.
도 1은 본 발명의 제1실시예에 따른 정보처리장치(1)를 나타내는 구성 블록도이다. 본 실시예에서의 정보처리장치(1)는 모바일 폰(mobile phone)과 같은 모바일 디바이스로 구현된 경우에 관해 설명하지만, 정보처리장치(1)는 이러한 예시 이외에도 TV, 컴퓨터, 태블릿, 멀티미디어 플레이어 등 다양한 형태의 전자장치로도 구현이 가능하다.
도 1에 도시된 바와 같이, 본 실시예에 따른 정보처리장치(1)는 외부와 통신하는 통신 인터페이스(10)와, 영상을 표시하는 디스플레이(20)와, 데이터를 저장하는 메모리(30)와, 사용자에 의한 입력이 수행되는 입력 인터페이스(40)와, 정보처리장치(1)의 동작을 제어하고 다양한 데이터를 처리하는 프로세서(processor)(50)를 포함한다. 이상의 구성요소들은 정보처리장치(1)가 포함할 수 있는 일부의 구성요소들만을 나타낸 것으로서, 정보처리장치(1)는 본 실시예에서 설명하는 구성요소들 이외에도 설계 방식에 따라서 다양한 구성요소들을 포함할 수 있다.
통신 인터페이스(10)는 정보처리장치(1)를 기준으로 볼 때 정보처리장치(1)의 외부와 유선/무선을 통해 통신 가능하게 접속한다. 통신 인터페이스(10)는 외부장치(미도시)에 로컬 접속되거나, 또는 유선/무선 통신 프로토콜을 기반으로 하여 로컬/광역 네트워크에 접속함으로써 해당 네트워크 상의 외부장치(미도시)와 양방향 통신을 수행할 수 있다. 예를 들면, 통신 인터페이스(10)는 와이파이(Wi-Fi) 등의 무선 통신 프로토콜에 따라서 억세스 포인트(access point, AP) 또는 게이트웨이(Gateway)를 통해 서버(3)에 통신 접속하고, 서버(3)와의 사이에 데이터를 교환한다.
디스플레이(20)는 프로세서(50)에 의해 처리되는 영상신호/영상데이터에 기초하여 영상을 표시한다. 디스플레이(20)의 구현 방식은 한정되지 않는 바, 액정(liquid crystal), 플라즈마(plasma), 발광 다이오드(light-emitting diode), 유기발광 다이오드(organic light-emitting diode), 면전도 전자총(surface-conduction electron-emitter), 탄소 나노 튜브(carbon nano-tube), 나노 크리스탈(nano-crystal) 등의 다양한 디스플레이 방식이 적용될 수 있다.
디스플레이(20)는 패널의 구현 방식에 따라서 부가적인 구성을 추가적으로 포함할 수 있다. 예를 들면, 디스플레이(20)의 패널이 액정 방식인 경우, 디스플레이(20)는 액정 패널에 광을 공급하는 백라이트유닛(미도시)과, 패널을 구동시키는 패널구동기판(미도시)을 포함한다. 또는, 디스플레이(20)의 패널이 자발광 패널인 경우, 디스플레이(20)는 패널에 광을 제공하는 백라이트유닛(미도시)을 포함하지 않는다.
메모리(30)는 프로세서(50)의 제어에 따라서 다양한 데이터가 저장된다. 메모리(30)는 플래시메모리(flash-memory), 하드디스크 드라이브(hard-disc drive)와 같은 비휘발성 메모리로 구현된다. 메모리(30)는 프로세서(50)에 의해 억세스되며, 데이터의 독취/기록/수정/삭제/갱신 등이 이루어진다. 메모리(30)에 저장되는 데이터는 한정할 수 없으며, 예를 들면 정보처리장치(1)의 동작을 위한 운영체제(operating system, OS) 및 미들웨어와, 해당 운영체제 상에서 실행되도록 마련된 다양한 어플리케이션이 메모리(30)에 저장된다.
입력 인터페이스(40)는 사용자에 의해 조작됨으로써 사용자 의도에 따른 커맨드 또는 정보를 프로세서(50)에 전달하기 위한 구조/환경을 통칭한다. 예를 들면, 입력 인터페이스(40)는 사용자가 직접 조작할 수 있는 키(key)/버튼(button) 구조나, 터치패드 구조나, 사용자의 동작, 음성 등을 포함한 외부 환경을 감지하는 센싱 구조 등으로 구현될 수 있다. 입력 인터페이스(40)는 디스플레이(20)에 통합 설치된 터치스크린 구조로 구현될 수 있다.
프로세서(50)는 입력 인터페이스(40)를 통해 수신된 커맨드에 따라서, 통신 인터페이스(10)를 통해 수신되거나 또는 메모리(30)에 저장된 데이터를 기 설정된 프로세스로 처리한다. 프로세서(50)는 각 프로세스 관련 기능을 통합시킨 SOC(system-on-chip), 또는 이러한 각 프로세스를 독자적으로 수행할 수 있는 개별적인 칩셋 등의 인쇄회로기판 상에 장착된 처리보드(미도시)로 구현되어 정보처리장치(1)에 내장된다.
프로세서(50)는 운영체제가 실행되어 있는 상태에서, 해당 운영체제를 기반으로 어플리케이션이 실행되게 처리한다. 프로세서(50)는 하나의 어플리케이션을 실행하거나, 또는 멀티스레드(multi-thread)/멀티태스킹(multi-tasking) 방식에 따라서 복수의 어플리케이션을 함께 실행시킬 수 있다. 여기서, 어플리케이션의 제어 및 관리는 프로세서(50)에 의해 실행되는 운영체제 또는 별도의 미들웨어(middleware)가 수행할 수 있는 바, 이러한 운영체제 또는 미들웨어를 정보처리장치(1)의 플랫폼(platform)이라고 지칭한다.
도 2는 정보처리장치(1)에서 실행되는 플랫폼(200)의 구조를 나타내는 구성 블록도이다.
도 2에 도시된 바와 같이, 플랫폼(200)은 복수의 어플리케이션(110, 120, 130, 140)을 관리하며, 일 어플리케이션(110, 120, 130, 140)에서 발생한 이벤트에 대해, 타 어플리케이션(110, 120, 130, 140)을 트리거(trigger)하거나 또는 해당 이벤트 및 부가 데이터를 전달할 수 있는 메커니즘을 제공한다.
플랫폼(200)은 플랫폼 코어(platform core)(210)와, 어플리케이션(110, 120, 130, 140)으로부터 발생한 이벤트를 처리 및 관리하는 이벤트 메시지 처리 모듈(event message processing module)(220)과, 처리되는 이벤트에 관련된 컨텐츠/데이터를 어플리케이션(110, 120, 130, 140)에서 억세스할 수 있도록 정형화된 인터페이스를 제공하는 컨텐츠 매니저(content manager)(230)를 포함한다.
이벤트 메시지 처리모듈(220)은 이벤트 메시지 매니저(event message manager)(221)와, 어플리케이션 바인더(application binder)(222)를 포함한다.
이벤트 메시지 매니저(221)는 어플리케이션(110, 120, 130, 140)에서 소정의 이벤트가 발생하면 어플리케이션(110, 120, 130, 140)으로부터 해당 이벤트를 수신하여 처리한다. 여기서, 이벤트 메시지 처리모듈(220)은 어플리케이션(110, 120, 130, 140)에서 발생한 이벤트가 어느 어플리케이션(110, 120, 130, 140)으로 전달될 것인지에 관한 사항이 설정된 데이터베이스인 이벤트 필터(event filter)를 가지는데, 이벤트 메시지 매니저(221)는 이벤트 필터에서 이벤트 및 어플리케이션의 등록 또는 해제를 수행할 수 있다.
여기서, 이벤트는 특정 리액션을 요구하는 제반 명령어를 포함하는 바, 그 구체적인 내용을 한정할 수 없다, 다만, 이벤트는 플랫폼(200)에서 사전에 정의되거나 또는 사용자가 정의하여 플랫폼(200)이 사용 가능하도록 저장할 수 있다. 본 실시예에서의 예를 들면 이벤트는 어플리케이션(110, 120, 130, 140)의 실행 과정에서 발생할 수 있으나, 이벤트의 의미가 반드시 이러한 예시에 의해 한정되지는 않는다.
이벤트 필터는 사전에 정의된 다양한 이벤트에 대해, 해당 이벤트가 전달되어 처리될 수 있도록 등록된 어플리케이션(110, 120, 130, 140)의 리스트 또는 데이터베이스이다. 소정 이벤트에 대한 리액션을 수행하게 해당 이벤트가 어플리케이션(110, 120, 130, 140)에 전달되는 것을, 이벤트 및 어플리케이션(110, 120, 130, 140)이 바인딩(binding)된다고 표현한다. 즉, 이벤트 필터에는, 플랫폼(200)이 관리하는 복수의 어플리케이션(110, 120, 130, 140)에 대해, 사전 정의된 이벤트와 바인딩 가능한 어플리케이션(110, 120, 130, 140)이 등록되어 있다.
어플리케이션 바인더(222)는 이벤트 메시지 매니저(221)에 의해 처리되는 이벤트를 가지고 이벤트 필터에서 해당 이벤트에 대해 등록된 어플리케이션(110, 120, 130, 140)을 선택하고, 선택한 어플리케이션(110, 120, 130, 140)에 이벤트를 전달함으로써 해당 이벤트 및 선택한 어플리케이션(110, 120, 130, 140)을 바인딩시킨다.
컨텐츠 매니저(230)는 컨텐츠 리졸버(contents resolver)(231)와, 컨텐츠 프로바이더(contents provider)(232)를 포함한다.
컨텐츠 리졸버(231)는 어플리케이션 바인더(222)에 의해 이벤트와 바인딩된 어플리케이션(110, 120, 130, 140)이 해당 이벤트 관련 컨텐츠/데이터를 요청하면, 요청받은 컨텐츠를 컨텐츠 프로바이더(232)로부터 제공받아 어플리케이션(110, 120, 130, 140)에 제공한다.
컨텐츠 프로바이더(232)는 컨텐츠 리졸버(231)로부터 컨텐츠 요청을 받으면, 정보처리장치(1)에 저장된 컨텐츠를 검색 및 억세스함으로써 요청받은 컨텐츠를 검색하여 컨텐츠 리졸버(231)에 전달한다.
컨텐츠 리졸버(231) 또는 컨텐츠 프로바이더(232)가 컨텐츠를 취득 및 제공하는 형태는 플랫폼(200)의 설계 방식에 따라서 다양한 방법으로 구현될 수 있다. 예를 들면, 컨텐츠 프로바이더(232)는 요청받은 컨텐츠가 저장된 정보처리장치(1)의 시스템 자원 주소를 컨텐츠 리졸버(231)에 제공하며, 컨텐츠 리졸버(231)는 제공받은 시스템 자원 주소에 억세스함으로써 해당 주소의 데이터를 취득할 수 있다. 또한, 컨텐츠 리졸버(231)는 취득한 데이터를 어플리케이션(110, 120, 130, 140)에 단순히 전달하거나, 또는 데이터를 어플리케이션(110, 120, 130, 140)에 임베딩(embedding)시키는 동작을 수행할 수 있다.
이러한 구조 하에서, 플랫폼(200)이 이벤트를 처리하는 실시예에 관해 이하 설명한다.
사용자가 카메라 어플리케이션인 제1어플리케이션(110)을 이용하여 사진을 촬영하면, 제1어플리케이션(110)은 새로운 사진이 촬영되었으므로 이미지 뷰어를 실행시킬 것을 지시하는 이벤트를 발생시킨다. 이벤트 메시지 매니저(221)는 이와 같이 제1어플리케이션(110)에서 생성된 이벤트를 수신한다(310).
이벤트 메시지 매니저(221)는 본 이벤트를 어플리케이션 바인더(222)에 전달한다(320). 어플리케이션 바인더(222)는 이벤트 필터에서 해당 이벤트에 대해 등록된 어플리케이션(130)을 검색하여 선택한다.
이벤트 필터에서 이미지 뷰어 어플리케이션인 제3어플리케이션(130)이 해당 이벤트에 대해 등록되어 있다면, 어플리케이션 바인더(222)는 해당 이벤트를 제3어플리케이션(130)에 바인딩시킨다. 만일, 이벤트 필터에서 해당 이벤트에 대해 등록된 어플리케이션(110, 120, 130, 140)이 복수 개라면, 어플리케이션 바인더(222)는 등록된 어플리케이션(110, 120, 130, 140) 중 어느 하나를 사용자가 선택할 수 있도록 제공하는 UI(user interface)를 표시할 수도 있다. 어플리케이션 바인더(222)는 해당 UI를 통해 사용자가 지정한 어플리케이션(110, 120, 130, 140)을 선택하여 해당 이벤트에 바인딩시킨다.
어플리케이션 바인더(222)는 이와 같이 선택된 제3어플리케이션(130)에게 이벤트를 전달한다. 제3어플리케이션(130)는 수신된 이벤트에 대응하는 리액션을 수행하는 바, 예를 들면 이벤트에서 지정하는 사진 데이터를 표시한다.
여기서, 이벤트에 대응하는 리액션을 수행함에 있어서, 단순히 이벤트 뿐만 아니라 해당 이벤트에 관련된 데이터가 필요한 경우가 있을 수 있다. 본 실시예의 경우의 이벤트는 새로운 사진이 촬영되었으므로 이미지 뷰어를 실행시킬 것을 지시하는 내용이므로, 제3어플리케이션(130)이 본 이벤트에 따라서 리액션을 수행하기 위해서는 이미지 뷰어에서 표시할 사진의 데이터가 필요하다.
이에, 제3어플리케이션(130)은 컨텐츠 리졸버(231)에 대해 이벤트 관련 데이터를 요청한다(340). 컨텐츠 리졸버(231)는 제3어플리케이션(130)이 요청한 데이터의 검색을 컨텐츠 프로바이더(232)에 요청한다(350). 컨텐츠 프로바이더(232)는 컨텐츠 리졸버(231)가 요청한 데이터, 이 경우에는 사진 데이터를 정보처리장치(1)의 메모리(30)에서 검색하여 컨텐츠 리졸버(231)에 알린다(360). 컨텐츠 리졸버(231)는 컨텐츠 프로바이더(232)가 검색한 사진 데이터를 제3어플리케이션(130)에 제공한다(370). 이에, 제3어플리케이션(130)은 컨텐츠 리졸버(231)로부터 제공받은 데이터를 가지고 이벤트에 대응하는 리액션을 수행한다.
이상 설명한 실시예에 따르면 한 어플리케이션(110, 120, 130, 140)이 다른 어플리케이션(110, 120, 130, 140)을 트리거하거나 또는 복수의 어플리케이션(110, 120, 130, 140) 사이의 시그널링(signalling) 또는 메시징(messaging)이 필요한 경우에, 플랫폼(200)의 이벤트 메시지 처리모듈(220)을 사용하여 처리할 수 있다. 또한, 이벤트 필터에 등록된 복수의 어플리케이션(110, 120, 130, 140)이 존재하는 경우에, 이벤트 발생 시에 트리거할 어플리케이션(110, 120, 130, 140)을 선택하여 바인딩할 수 있다.
그러나, 상기한 실시예는 하나의 정보처리장치(1) 내의 어플리케이션(110, 120, 130, 140)에 해당하는 것으로서, 본 발명의 사상은 이에 한정되지 않고 둘 이상의 정보처리장치(1) 각각에 설치된 어플리케이션(110, 120, 130, 140) 사이에도 적용될 수 있다.
이러한 구현 예시에 관해 이하 도 3을 참조하여 설명한다.
도 3은 본 발명의 제2실시예에 따른 정보처리장치(1)에서 실행되는 플랫폼(500)의 구조를 나타내는 구성 블록도이다.
도 3에 도시된 바와 같이, 본 실시예에 따른 플랫폼(500)은 복수의 어플리케이션(400)을 관리한다. 플랫폼(500)은 플랫폼 코어(510)와, 이벤트 메시지 처리 모듈(520)과, 컨텐츠 매니저(530)와, 클라이언트 모듈(540)을 포함한다.
여기서, 이벤트 메시지 처리 모듈(520)은 이벤트 메시지 매니저(521) 및 어플리케이션 바인더(522)를 포함하고, 컨텐츠 매니저(530)는 컨텐츠 리졸버(531) 및 컨텐츠 프로바이더(532)를 포함한다. 이들 구성은 앞선 제1실시예에서 설명한 동일 용어의 구성과 실질적으로 동일한 기능을 수행하는 바, 자세한 설명을 생략한다.
클라이언트 모듈(540)은 서버(3)와의 통신을 수행한다. 클라이언트 모듈(540)은 정보처리장치(1)의 통신 인터페이스(10, 도 1 참조)의 동작을 제어함으로써, 서버(3)와 데이터, 정보 또는 커맨드를 상호간에 송수신되게 한다.
이벤트 메시지 매니저(521)가 소정의 이벤트를 어플리케이션 바인더(522)에 전달하는 시점에서, 해당 이벤트는 클라이언트 모듈(540)에도 전달된다. 클라이언트 모듈(540)은 이벤트를 서버(3)에 전달하며, 서버(3)는 수신된 이벤트를 하나 이상의 타 정보처리장치에 전달함으로써 해당 정보처리장치의 어플리케이션에서 이벤트의 대응 리액션이 수행되도록 한다.
여기서, 서버(3)는 이벤트에 대한 퍼블리싱(publishing)/서브스크라이빙(subscribing) 노드(node)가 기 저장되며, 이러한 노드에 기초하여 이벤트를 전달할 정보처리장치를 판별한다. 노드는 서버(3)가 통신 가능한 복수의 정보처리장치 각각에 대해 설정되며, 해당 정보처리장치에서 수신된 이벤트가 복수의 정보처리장치 중에서 어느 정보처리장치에 전달되어야 할지를 명시하는 리스트 또는 데이터베이스이다.
이하, 서버(3)의 노드에 관해 도 4를 참조하여 설명한다.
도 4는 서버(3)에서 하나의 정보처리장치(1)에 대해 설정된 노드(600)의 구조를 나타내는 예시도이다.
도 4에 도시된 바와 같이, 노드(600)는 "Device 1"의 식별명을 가지는 하나의 정보처리장치에 대해 복수의 이벤트 카테고리(610, 620, 630)를 포함한다. 각 이벤트 카테고리(610, 620, 630)는 이벤트의 특성별로 구분된 복수의 이벤트를 포함할 수 있다. 예를 들면, 이미지, 음악, 텍스트의 세 카테고리(610, 620, 630)가 있다고 할 때, 이미지 카테고리(610)에는 이미지에 관련된 이벤트들이 포함되며, 음악 카테고리(620)에는 음악에 관련된 이벤트들이 포함된다.
서버(3)는 Device 1로부터 이벤트가 수신되면, 즉 Device 1로부터 이벤트가 퍼블리싱(publishing)되면, 이 이벤트가 노드(600)의 Device 1 이하 복수의 이벤트 카테고리(610, 620, 630) 중에서 어느 것에 포함되는지 판단한다.
여기서, 각 이벤트 카테고리(610, 620, 630)는 서버(3)가 통신 가능한 하나 이상의 정보처리장치가 등록되어 있다. 이벤트 카테고리(610, 620, 630)에 정보처리장치가 등록되어 있는 경우에, 해당 정보처리장치는 해당 이벤트 카테고리(610, 620, 630)에 서브스크라이빙(subscribing)되어 있다고 지칭한다.
본 실시예에서의 예를 들면, 이미지 카테고리(610)에 서브스크라이빙된 정보처리장치는 "Device 2" 및 "Device 3"이며, 음악 카테고리(620)에 서브스크라이빙된 정보처리장치는 "Device 3"이며, 텍스트 카테고리(630)에 서브스크라이빙된 정보처리장치는 "Device 4"이다. 본 도면에서 이러한 서브스크라이빙 관계는 카테고리(610, 620, 630) 및 정보처리장치의 식별명들 사이를 잇는 점선으로 나타나 있다.
서버(3)는 Device 1으로부터 퍼블리싱된 이벤트가 이미지 카테고리(610)에 해당한다고 판단하면, 이미지 카테고리(610)에 서브스크라이빙된 정보처리장치를 확인한다. 서버(3)는 확인 결과에 따라서 선택된 Device 2 및 Device 3에 대해 이벤트를 전달함으로써, 해당 이벤트가 Device 2 및 Device 3에서 처리될 수 있도록 한다. 이와 같이, 서버(3)가 서브스크라이빙된 정보처리장치에 대해 이벤트를 전달하는 동작을 노티피케이션(notification)이라고 지칭한다.
반면, 이미지 카테고리(610)에 서브스크라이빙되어 있지 않은 Device 4에 대해서는 노티피케이션이 수행되지 않는다.
동일한 원리로, 서버(3)는 퍼블리싱된 이벤트가 음악 카테고리(620)에 해당한다면, Device 3에 대해 이벤트의 노티피케이션을 수행하고, Device 2 및 Device 4에 대해 노티피케이션을 수행하지 않는다. 또한, 서버(3)는 퍼블리싱된 이벤트가 텍스트 카테고리(630)에 해당한다면, Device 4에 대해 이벤트의 노티피케이션을 수행하고, Device 2 및 Device 3에 대해 노티피케이션을 수행하지 않는다.
이러한 방법에 따라서, 서버(3)는 퍼블리싱된 이벤트가 어느 정보처리장치에 노티피케이션되어야 할 것인지를 판단할 수 있다.
이하, 서버(3)에 통신 가능하게 접속된 두 정보처리장치(700, 800)를 포함하는 시스템 내에서, 제1정보처리장치(700) 및 제2정보처리장치(800) 사이에 이벤트의 발생 및 리액션의 수행이 이루어지는 과정에 관해 이하 도 5 및 도 6을 참조하여 설명한다.
도 5는 제1정보처리장치(700)로부터 생성된 이벤트에 따라서 제2정보처리장치(800)에서 리액션이 실행되는 과정을 나타내는 구성 블록도이며, 도 6은 도 5에서 설명하는 리액션의 실행을 위한 데이터의 전송 과정을 나타내는 구성 블록도이다. 도 5 및 도 6에서는 정보처리장치(700, 800)의 모든 구성을 나타내지 않고, 실시예의 설명에 직접적으로 관련이 있는 구성만을 나타낸 것임을 밝힌다.
도 5에 도시된 바와 같이, 제1정보처리장치(700)는 어플리케이션(710) 및 플랫폼(720)을 포함하며, 제2정보처리장치(800) 또한 어플리케이션(810) 및 플랫폼(820)을 포함한다. 제1정보처리장치(700) 및 제2정보처리장치(800)는 앞서 설명한 장치와 실질적으로 동일한 기능 및 구조로 구현되는 바, 이에 관한 자세한 설명은 생략한다.
우선, 제1정보처리장치(700)의 어플리케이션(710)에서 이벤트가 발생한다. 예를 들면, 제1정보처리장치(700) 상에서 카메라 어플리케이션(710)에 의해 사진이 촬영되면, 해당 어플리케이션(710)은 이미지를 표시할 수 있는 어플리케이션을 실행하여 촬영한 사진을 표시할 것을 지시하는 이벤트를 생성한다. 어플리케이션(710)은 생성한 이벤트의 메시지를 이벤트 메시지 매니저(721)에 전달한다(P1).
이벤트 메시지 매니저(721)는 어플리케이션(710)으로부터의 이벤트를 어플리케이션 바인더(722)에 전달한다(P2). 어플리케이션 바인더(722)는 앞선 제1실시예에서의 경우와 같이, 제1정보처리장치(700)에 미리 설정 및 저장된 이벤트 필터에 기초하여, 제1정보처리장치(700) 내의 어플리케이션 중에서 이벤트를 처리할 수 있는 어플리케이션을 선택 및 바인딩한다. 만일 제1정보처리장치(700) 내에서 이벤트에 대응하는 리액션을 수행 가능한 어플리케이션이 없는 경우에, 어플리케이션 바인더(722)의 상기한 동작은 수행되지 않는다.
이벤트가 이벤트 메시지 매니저(721)로부터 어플리케이션 바인더(722)에 전달되는 시점에서, 해당 이벤트는 클라이언트 모듈(723)에도 전달된다(P3). 어플리케이션 바인더(722)가 이벤트를 클라이언트 모듈(723)에 전달할 수 있으며, 또는 어플리케이션 바인더(722)에 수신되는 이벤트가 동일하게 복사된 이후에 이 복사된 이벤트가 클라이언트 모듈(723)에 전달되는 구성도 가능하다.
클라이언트 모듈(723)은 이와 같이 제1정보처리장치(700)의 어플리케이션(710)으로부터 발생한 이벤트를 서버(3)로 전달하는 동작, 즉 이벤트의 퍼블리싱을 수행한다(P4).
서버(3)는 앞서 설명한 노드에 따라서, 제1정보처리장치(700)로부터 퍼블리싱된 이벤트에 대해 서브스크라빙된 정보처리장치가 무엇인지 판단한다. 본 실시예의 경우, 해당 이벤트에 대해 제2정보처리장치(800)가 서브스크라이빙되어 있는 바, 서버(3)는 제2정보처리장치(800)에 대해 이벤트의 노티피케이션을 수행한다(P5).
서버(3)로부터의 노티피케이션에 따라서, 제2정보처리장치(800)에서 수행되는 동작은 다음과 같다.
클라이언트 모듈(823)은 서버(3)로부터 이벤트를 수신하면, 수신된 이벤트를 이벤트 메시지 매니저(821)로 전달한다(P6). 이벤트 메시지 매니저(821)는 수신된 이벤트를 어플리케이션 바인더(822)로 전달한다(P7).
어플리케이션 바인더(822)는 제2정보처리장치(800)에 기 설정 및 저장된 이벤트 필터에 따라서 이벤트를 실행하기 위한 어플리케이션(810)을 선택하여 바인딩하며, 바인딩된 어플리케이션(810)에 이벤트가 전달된다(P8). 어플리케이션(810)은 이벤트에 대응하는 리액션, 예를 들면 사진을 표시하기 위한 동작을 수행한다.
제2정보처리장치(800)에서의 이벤트 필터는 앞서 설명한 이벤트 필터와 실질적으로 동일한 원리에 따른 것인 바, 자세한 설명을 생략한다.
제2정보처리장치(800)의 이벤트 메시지 매니저(821)에 전달되는 이벤트는 클라이언트 모듈(823)로부터 전달된 것이라는 차이가 있을 뿐, 제2정보처리장치(800) 내의 어플리케이션으로부터 전달되는 경우와 처리 과정에서는 차이가 없다. 즉, 이벤트 메시지 매니저(821) 및 어플리케이션 바인더(822)의 동작은 앞선 실시예의 경우와 동일한 원리를 가진다.
그런데, 단순히 이벤트만 전달됨으로써 리액션이 수행된다면 상기한 과정만으로도 충분하겠지만, 전달된 이벤트가 별도의 데이터에 관련된 경우, 즉 리액션의 수행에 있어서 이벤트와 별도의 데이터가 필요한 경우가 있을 수 있다. 예를 들면, 이미지 뷰어에 의해 사진을 표시할 것을 지시하는 이벤트라면, 해당 이벤트를 실행하기 위해서는 사진의 실제 데이터가 필요하다. 이벤트는 단지 컨텐츠를 어떻게 처리할지에 관한 지시내용만을 포함하고 있을 뿐이며 해당 컨텐츠를 포함하지는 않는 바, 어플리케이션(810)이 리액션을 실행하기 위해서는 해당 이벤트에 관련된 컨텐츠를 취득해야 한다.
이에, 이벤트를 전달받은 제2정보처리장치(800)의 어플리케이션(810)이 이벤트 관련 데이터를 취득하는 과정에 관해 이하 도 6을 참조하여 설명한다.
도 6에 도시된 바와 같이, 제2정보처리장치(800)의 어플리케이션(810)은 앞선 도 5의 단계에서 전달받은 이벤트에 대한 리액션을 실행하기 위해, 컨텐츠 리졸버(824)에 이벤트 관련 데이터의 시스템 자원 주소를 전달한다(P11). 컨텐츠 리졸버(824)는 주소를 컨텐츠 프로바이더(825)에 전달하여 데이터를 요청한다(P12).
그런데, 컨텐츠 리졸버(824)가 전달받은 주소는 제2정보처리장치(800) 내의 주소가 아니며 제1정보처리장치(700) 내에서만 유효한 주소인 바, 컨텐츠 프로바이더(825)가 직접 접근할 수 없다. 이에, 컨텐츠 프로바이더(825)는 주소를 클라이언트 모듈(823)에 전달하고(P13), 클라이언트 모듈(823)은 해당 주소의 데이터를 서버(3)에 요청한다(P14).
서버(3)는 제2정보처리장치(800)로부터 수신한 주소의 데이터를 제1정보처리장치(700)에 요청한다(P15).
제1정보처리장치(700)의 클라이언트 모듈(723)이 서버(3)로부터 주소를 수신하면, 이를 컨텐츠 리졸버(724)에 전달한다(P16). 컨텐츠 리졸버(724)는 클라이언트 모듈(723)로부터 수신한 주소의 데이터를 컨텐츠 프로바이더(725)에 요청한다(P17).
컨텐츠 프로바이더(725)는 컨텐츠 리졸버(724)로부터 요청받은 주소에 억세스하고, 해당 주소의 데이터를 취득하여 컨텐츠 리졸버(724)에 전달한다(P21). 컨텐츠 리졸버(724)는 전달받은 데이터를 클라이언트 모듈(723)에 전달하며(P22), 클라이언트 모듈(723)은 데이터를 서버(3)에 전송한다(P23).
서버(3)는 제1정보처리장치(700)로부터 수신한 데이터를 제2정보처리장치(800)에 전송한다(P24).
제2정보처리장치(800)의 클라이언트 모듈(823)은 서버(3)로부터 수신한 데이터를 컨텐츠 프로바이더(825)에 전달한다(P25). 컨텐츠 프로바이더(825)는 데이터를 컨텐츠 리졸버(824)에 전달하며(P26), 컨텐츠 리졸버(824)는 데이터를 어플리케이션(810)에 전달한다(P27).
이로써, 어플리케이션(810)은 이벤트 관련 데이터를 취득하며, 이벤트 대응 리액션을 수행할 수 있다.
상기한 실시예에서는 제1정보처리장치(700)의 데이터를 서버(3)의 중계에 의해 제2정보처리장치(800)에 전달되는 구성을 설명하였다(P23, P24). 그러나, 제1정보처리장치(700)는 서버(3)를 경유하지 않고 peer-to-peer 방식으로 데이터를 제2정보처리장치(800)에 전송할 수도 있다.
이상 설명한 바와 같이, 본 실시예에 따른 정보처리장치의 플랫폼은, 정보처리장치에 저장된 복수의 어플리케이션 중 제1어플리케이션에서 발생한 이벤트가 지시하는 대응 동작이 제2어플리케이션에서 실행되게 처리하는 이벤트 처리모듈과, 이벤트 처리모듈에서 처리되는 이벤트가 지시하는 대응 동작이 외부장치에 저장된 제3어플리케이션에서 실행될 수 있도록 이벤트를 서버에 전송하는 클라이언트 모듈을 포함한다. 서버는 정보처리장치에서 수신한 이벤트를 외부장치에 전달하며, 정보처리장치 및 외부장치는 앞서 설명한 실시예와 같은 구조를 가지고 있는 바, 외부장치는 수신된 이벤트의 대응 동작을 제3어플리케이션에서 실행시킨다.
이와 같이, 본 실시예에 따르면 하나의 디바이스 내에서 복수의 어플리케이션 간의 이벤트 및 리액션의 실행 메커니즘을, 복수의 디바이스 간으로 확장할 수 있다. 특히, 제2실시예의 구현은 제1실시예에서 클라이언트 모듈에 관한 구성만을 추가하면 되며, 플랫폼의 원래 구성을 수정할 필요가 없으므로, 플랫폼을 보다 용이하게 확장시킬 수 있다.
또한, 플랫폼이 이벤트 메시지를 수신하는 단계에서 바인딩될 어플리케이션을 선택하므로, 소스 어플리케이션 입장에서는 타겟 어플리케이션을 고려하지 않아도 상호 통신이 가능하며, 또한 이종 어플리케이션들 사이의 통신도 가능하다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
1 : 정보처리장치
3 : 서버
200, 500 : 플랫폼
220, 520 : 이벤트 메시지 처리모듈
221, 521 : 이벤트 메시지 매니저
222, 522 : 어플리케이션 바인더
230, 530 : 컨텐츠 매니저
231, 531 : 컨텐츠 리졸버
232, 532 : 컨텐츠 프로바이더
540 : 클라이언트 모듈

Claims (18)

  1. 정보처리장치에 있어서,
    서버와 통신하는 통신 인터페이스와;
    이벤트 처리모듈과 클라이언트 모듈을 포함하는 플랫폼과, 복수의 어플리케이션을 저장하는 메모리와;
    상기 플랫폼과 상기 복수의 어플리케이션을 실행하고,
    상기 이벤트 처리모듈을 사용하여, 상기 복수의 어플리케이션 중 제1어플리케이션에서 발생한 이벤트와 관련된 소정 동작을 수행하고,
    상기 클라이언트 모듈을 사용하여, 상기 통신 인터페이스를 통해 복수의 외부장치와 통신하는 서버와 통신 가능하게 연결하고,
    상기 통신 인터페이스를 통해, 상기 제1어플리케이션에서 발생된 이벤트를 상기 서버에 전송하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 제1어플리케이션에서 발생한 이벤트가 상기 복수의 어플리케이션 중 제2어플리케이션에 의해 처리될 수 있도록 등록된 이벤트일 경우 상기 이벤트와 관련된 소정 동작이 상기 제2어플리케이션에서 실행되게 처리하고,
    상기 서버로부터 상기 통신 인터페이스에 의해 상기 이벤트에 관련된 컨텐츠 데이터의 요청이 수신되는 것에 대응하여, 상기 서버가, 상기 복수의 외부장치 중 상기 이벤트의 카테고리에 따라 선택된 적어도 하나의 외부장치에서 상기 이벤트에 대응하여 실행되는 제3어플리케이션에 상기 컨텐츠 데이터를 전송하도록 상기 컨텐츠 데이터를 상기 서버에 전송하고,
    상기 제3어플리케이션은, 상기 이벤트에 대응하는 리액션을 수행하고, 상기 리액션의 수행 시 상기 이벤트가 상기 컨텐츠 데이터에 관련될 때, 상기 컨텐츠 데이터의 요청을 상기 서버를 통해 상기 정보처리장치에 전송하는 것을 특징으로 하는 정보처리장치.
  2. 제1항에 있어서,
    상기 클라이언트 모듈은 상기 서버로부터 제2이벤트가 수신되면 상기 이벤트 처리모듈에 의해 처리되도록 상기 제2이벤트를 상기 이벤트 처리모듈에 전달하며,
    상기 이벤트 처리모듈은 상기 제1어플리케이션에서 발생한 상기 이벤트 또는 상기 클라이언트 모듈로부터 수신된 상기 제2이벤트가 지시하는 소정 동작이 실행되도록 처리하는 것을 특징으로 하는 정보처리장치.
  3. 제1항에 있어서,
    상기 이벤트 처리모듈은, 상기 플랫폼에서 사전에 정의된 소정 이벤트에 대해 상기 소정 동작을 실행하도록 상기 어플리케이션이 등록된 리스트를 참조 가능하며, 상기 리스트에 기초하여 상기 복수의 어플리케이션 중에서 상기 제2어플리케이션을 선택하는 것을 특징으로 하는 정보처리장치.
  4. 제1항에 있어서,
    상기 플랫폼은, 상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 소정 동작 또는 리액션을 실행 가능하도록, 상기 정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 컨텐츠 매니저를 더 포함하는 것을 특징으로 하는 정보처리장치.
  5. 제4항에 있어서,
    상기 컨텐츠 매니저는, 상기 클라이언트 모듈이 상기 외부장치의 상기 제3어플리케이션으로부터 상기 부가 데이터의 요청을 수신하면, 상기 정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 클라이언트 모듈을 통해 상기 외부장치에 전송시키는 것을 특징으로 하는 정보처리장치.
  6. 시스템에 있어서,
    서버와;
    상기 서버와 통신하며, 복수의 어플리케이션과, 이벤트 처리모듈 및 클라이언트 모듈을 포함하는 플랫폼이 각기 저장되며, 상기 이벤트 처리모듈을 사용하여, 상기 복수의 어플리케이션 중 제1어플리케이션에서 발생한 이벤트와 관련된 소정 동작을 수행하고, 상기 클라이언트 모듈을 사용하여, 상기 서버와 통신 가능하게 접속하고, 상기 제1어플리케이션에서 발생된 이벤트를 상기 서버에 전송하는 프로세서가 각기 내장된 복수의 정보처리장치를 포함하며,
    상기 복수의 정보처리장치 중 제1정보처리장치의 상기 프로세서는,
    상기 제1어플리케이션에서 발생한 이벤트가 상기 복수의 어플리케이션 중 제2어플리케이션에 의해 처리될 수 있도록 등록된 이벤트일 경우 상기 이벤트와 관련된 소정 동작이 상기 제2어플리케이션에서 실행되게 처리하고,
    상기 서버로부터 통신 인터페이스에 의해 상기 이벤트에 관련된 컨텐츠 데이터의 요청이 수신되는 것에 대응하여, 상기 서버가, 상기 복수의 정보처리장치 중 상기 이벤트의 카테고리에 따라 선택된 적어도 하나의 제2정보처리장치에서 상기 이벤트에 대응하여 실행되는 제3어플리케이션에 상기 컨텐츠 데이터를 전송하도록 상기 컨텐츠 데이터를 상기 서버에 전송하고,
    상기 서버는, 상기 복수의 정보처리장치 중 상기 이벤트의 카테고리에 따라 선택된 적어도 하나의 제2정보처리장치에서 상기 이벤트에 대응하여 실행되는 제3어플리케이션에 상기 컨텐츠 데이터를 전송하고,
    상기 제3어플리케이션은, 상기 이벤트에 대응하는 리액션을 수행하고, 상기 리액션의 수행 시 상기 이벤트가 상기 컨텐츠 데이터에 관련될 때, 상기 컨텐츠 데이터의 요청을 상기 서버를 통해 상기 제1정보처리장치에 전송하는 것을 특징으로 하는 시스템.
  7. 제6항에 있어서,
    상기 서버는, 상기 복수의 정보처리장치 각각으로부터 수신되는 상기 이벤트가 상기 복수의 정보처리장치 중에서 어느 것에 전달될 것인지를 지정하는 데이터베이스를 저장하며, 상기 데이터베이스에 기초하여 상기 복수의 정보처리장치 중에서 상기 제2정보처리장치를 판별하는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서,
    상기 데이터베이스는 상기 제1정보처리장치에 대해 복수의 상기 이벤트를 각기 포함하는 복수의 이벤트 카테고리를 포함하고, 각각의 상기 이벤트 카테고리에는 상기 복수의 정보처리장치 중에서 기 선택된 정보처리장치가 등록되어 있으며,
    상기 서버는 상기 제1정보처리장치로부터 수신되는 상기 이벤트가 상기 복수의 이벤트 카테고리 중에서 어느 것에 포함되는지 판단하고, 상기 판단된 이벤트 카테고리에 등록된 정보처리장치를 상기 제2정보처리장치로 판별하는 것을 특징으로 하는 시스템.
  9. 제6항에 있어서,
    상기 클라이언트 모듈은 상기 서버로부터 제2이벤트가 수신되면 상기 이벤트 처리모듈에 의해 처리되도록 상기 제2이벤트를 상기 이벤트 처리모듈에 전달하며,
    상기 이벤트 처리모듈은 상기 제1어플리케이션에서 발생한 상기 이벤트 또는 상기 클라이언트 모듈로부터 수신된 상기 제2이벤트가 지시하는 소정 동작이 실행되도록 처리하는 것을 특징으로 하는 시스템.
  10. 제6항에 있어서,
    상기 복수의 정보처리장치 각각은 상기 플랫폼에서 사전에 정의된 소정 이벤트에 대해 상기 소정 동작을 실행하도록 상기 어플리케이션이 등록된 리스트가 기 저장되며,
    상기 제1정보처리장치 또는 상기 제2정보처리장치는 각기 저장된 상기 리스트에 기초하여 상기 제2어플리케이션 또는 상기 제3어플리케이션을 선택하는 것을 특징으로 하는 시스템.
  11. 제6항에 있어서,
    상기 플랫폼은, 상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 소정 동작 또는 리액션을 실행 가능하도록, 상기 제1정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 컨텐츠 매니저를 더 포함하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서,
    상기 제2정보처리장치는 상기 제3어플리케이션에서 상기 리액션을 수행할 때에 상기 이벤트에 관련된 부가 데이터가 필요한 경우에, 상기 부가 데이터를 상기 제1정보처리장치에 요청하며,
    상기 컨텐츠 매니저는, 상기 제2정보처리장치로부터 상기 부가 데이터의 요청을 수신하면, 상기 제1정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 클라이언트 모듈을 통해 상기 제2정보처리장치에 제공하는 것을 특징으로 하는 시스템.
  13. 제11항에 있어서,
    상기 제1정보처리장치 및 상기 제2정보처리장치 사이에서 수행되는 상기 부가 데이터의 요청 및 제공은, 상기 서버를 경유하여 수행되는 것을 특징으로 하는 시스템.
  14. 이벤트 처리모듈과 클라이언트 모듈을 포함하는 플랫폼과, 복수의 어플리케이션이 저장된 정보처리장치의 제어방법에 있어서,
    상기 복수의 어플리케이션 중 제1어플리케이션에서 소정 동작을 지시하는 이벤트가 발생하는 단계와;
    상기 제1어플리케이션에서 발생한 상기 이벤트와 관련된 소정 동작을 수행하는 단계와;
    복수의 외부장치와 통신 가능하게 연결된 서버와 통신하는 단계와;
    상기 제1어플리케이션에서 발생된 상기 이벤트를 상기 서버에 전송하는 단계를 포함하고,
    상기 소정 동작을 수행하는 단계는 상기 제1어플리케이션에서 발생한 이벤트가 상기 복수의 어플리케이션 중 제2어플리케이션에 의해 처리될 수 있도록 등록된 이벤트일 경우 상기 이벤트와 관련된 소정 동작이 상기 제2어플리케이션에서 실행되게 처리하는 단계를 더 포함하고,
    상기 전송하는 단계는 상기 서버로부터 상기 이벤트에 관련된 컨텐츠 데이터의 요청이 수신되는 것에 대응하여, 상기 서버가, 상기 복수의 외부장치 중 상기 이벤트의 카테고리에 따라 선택된 적어도 하나의 외부장치에서 상기 이벤트에 대응하여 실행되는 제3어플리케이션에 상기 컨텐츠 데이터를 전송하도록 상기 컨텐츠 데이터를 상기 서버에 전송하는 단계를 더 포함하고,
    상기 제3어플리케이션은 상기 이벤트에 대응하는 리액션을 수행하고, 상기 리액션의 수행 시 상기 이벤트가 상기 컨텐츠 데이터에 관련될 때, 상기 컨텐츠 데이터의 요청을 상기 서버를 통해 상기 정보처리장치에 전송하는 것을 특징으로 하는 정보처리장치의 제어방법.
  15. 제14항에 있어서,
    상기 서버로부터 제2이벤트를 수신하는 단계와;
    상기 서버로부터 수신된 상기 제2이벤트가 지시하는 제2 소정 동작이 상기 복수의 어플리케이션 중 어느 하나에 의해 실행되게 처리하는 단계를 더 포함하는 것을 특징으로 하는 정보처리장치의 제어방법.
  16. 제14항에 있어서,
    상기 정보처리장치는 사전에 정의된 소정 이벤트에 대해 상기 소정 동작을 실행하도록 상기 어플리케이션이 등록된 리스트를 기 저장하며,
    상기 소정 동작이 제2어플리케이션에서 실행되게 처리하는 단계는, 상기 리스트에 기초하여 상기 복수의 어플리케이션 중에서 상기 제2어플리케이션을 선택하는 단계를 포함하는 것을 특징으로 하는 정보처리장치의 제어방법.
  17. 제14항에 있어서,
    상기 제2어플리케이션 또는 상기 제3어플리케이션이 상기 소정 동작 또는 리액션을 실행 가능하도록, 상기 정보처리장치에 저장된 데이터 중에서 상기 이벤트와 관련된 부가 데이터를 검색하여 제공하는 단계를 더 포함하는 것을 특징으로 하는 정보처리장치의 제어방법.
  18. 제17항에 있어서,
    상기 부가 데이터를 검색하여 제공하는 단계는,
    상기 외부장치의 상기 제3어플리케이션으로부터 상기 부가 데이터의 요청을 수신하는 단계와;
    상기 정보처리장치에 저장된 데이터 중에서 상기 부가 데이터를 취득하여 상기 외부장치에 제공하는 단계를 포함하는 것을 특징으로 하는 정보처리장치의 제어방법.
KR1020130046614A 2013-04-26 2013-04-26 정보처리장치 및 그 제어방법 KR102099680B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130046614A KR102099680B1 (ko) 2013-04-26 2013-04-26 정보처리장치 및 그 제어방법
US14/220,331 US10097976B2 (en) 2013-04-26 2014-03-20 Information processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130046614A KR102099680B1 (ko) 2013-04-26 2013-04-26 정보처리장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20140128017A KR20140128017A (ko) 2014-11-05
KR102099680B1 true KR102099680B1 (ko) 2020-05-15

Family

ID=51790221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130046614A KR102099680B1 (ko) 2013-04-26 2013-04-26 정보처리장치 및 그 제어방법

Country Status (2)

Country Link
US (1) US10097976B2 (ko)
KR (1) KR102099680B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3029666A1 (fr) * 2014-12-04 2016-06-10 Orange Procede de gestion du droit d'acces a un contenu numerique
CN107220129B (zh) * 2017-04-14 2021-01-01 武汉斗鱼网络科技有限公司 一种软件模块间的通信方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080063154A1 (en) 2006-08-09 2008-03-13 Yossi Tamari System and method of customized event notification
WO2012055349A1 (zh) * 2010-10-26 2012-05-03 中国移动通信集团公司 一种事件处理方法和装置
US20130091026A1 (en) * 2011-10-10 2013-04-11 Arcsoft, Inc. Photo Sharing with Digital Album

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3323105B2 (ja) * 1997-06-03 2002-09-09 株式会社ジャストシステム 行為実行管理装置およびその装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7991916B2 (en) * 2005-09-01 2011-08-02 Microsoft Corporation Per-user application rendering in the presence of application sharing
US7945249B2 (en) * 2006-10-12 2011-05-17 Alcatel Lucent Next generation social networking and content rating system and method
US20080147799A1 (en) * 2006-12-13 2008-06-19 Morris Robert P Methods, Systems, And Computer Program Products For Providing Access To A Secure Service Via A Link In A Message
US8078203B2 (en) * 2007-10-11 2011-12-13 Motorola Mobility, Inc. Intelligent messaging service
US8655404B1 (en) * 2009-11-11 2014-02-18 Gurminder Singh Systems and methods for distributing content with a portable electronic device
US8321566B2 (en) 2011-02-24 2012-11-27 Jibe Mobile System and method to control application to application communication over a network
JP2012181795A (ja) 2011-03-03 2012-09-20 Funai Electric Co Ltd イベント管理システム及びイベント管理方法
US8856355B2 (en) * 2011-05-09 2014-10-07 Samsung Electronics Co., Ltd. Systems and methods for facilitating communication between mobile devices and display devices
US9191431B2 (en) * 2011-07-05 2015-11-17 Verizon Patent And Licensing Inc. Systems and methods for sharing media content between users
CN103259818A (zh) * 2012-02-20 2013-08-21 富泰华工业(深圳)有限公司 分散式数据存取系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080063154A1 (en) 2006-08-09 2008-03-13 Yossi Tamari System and method of customized event notification
WO2012055349A1 (zh) * 2010-10-26 2012-05-03 中国移动通信集团公司 一种事件处理方法和装置
US20130091026A1 (en) * 2011-10-10 2013-04-11 Arcsoft, Inc. Photo Sharing with Digital Album

Also Published As

Publication number Publication date
US20140324948A1 (en) 2014-10-30
US10097976B2 (en) 2018-10-09
KR20140128017A (ko) 2014-11-05

Similar Documents

Publication Publication Date Title
KR102224760B1 (ko) 자동 애플리케이션 업데이트
US10108787B2 (en) View-based expiration of shared content
US8307058B2 (en) Apparatus, method, and computer program product for processing information
US20110004676A1 (en) Virtual appliance deploying system
KR20110040604A (ko) 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법
US20060253548A1 (en) Method and system for hosting and executing a component application
JP6775013B2 (ja) データテーブルを共有するためのサポートを有する構成の自己記述
KR101907837B1 (ko) 애플리케이션 활성화 프레임워크
US8810815B2 (en) Image reading system, image reading apparatus, and control methods and programs thereof
US8860986B2 (en) Image forming system for printing contents of a widget application executed in a mobile terminal
JP2013191196A (ja) 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP6358063B2 (ja) 要求送信方法、情報処理装置、及びプログラム
KR102099680B1 (ko) 정보처리장치 및 그 제어방법
KR101494096B1 (ko) 가상화된 객체의 동작 환경을 제공하기 위한 서비스 방법 및 시스템
KR101493166B1 (ko) IoT 환경에서 가상화된 객체의 인스턴스를 관리하기 위한 웹 기반 사용자 인터페이스를 제공하는 서비스 방법 및 시스템
US9407720B2 (en) Direct file transfer without sending requested file through requesting device
US11206310B2 (en) Serving assets in a networked environment
US9553935B2 (en) Mechanism for configuring service endpoints in native client applications at runtime
JP6240987B2 (ja) 携帯電子機器連携システム、車載表示装置、および連携用プログラム
JP2014219813A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
KR101494097B1 (ko) IoT 환경에서 가상화 오브젝트의 인스턴스 인터페이스를 이용한 서비스 방법 및 시스템
Huang et al. Design and implementation of an adaptive Web2. 0 QoS‐based home appliance control service platform
KR101392773B1 (ko) 홈 어플리케이션을 실행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
KR102022592B1 (ko) 전자 장치에서 전송 정보를 관리하기 위한 방법 및 장치
WO2012153362A1 (ja) マッシュアップサーバ

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