KR101223641B1 - Rui 서버의 애플리케이션에 대한 제어 권한을 관리하는방법 및 이를 위한 장치 - Google Patents

Rui 서버의 애플리케이션에 대한 제어 권한을 관리하는방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR101223641B1
KR101223641B1 KR1020070102149A KR20070102149A KR101223641B1 KR 101223641 B1 KR101223641 B1 KR 101223641B1 KR 1020070102149 A KR1020070102149 A KR 1020070102149A KR 20070102149 A KR20070102149 A KR 20070102149A KR 101223641 B1 KR101223641 B1 KR 101223641B1
Authority
KR
South Korea
Prior art keywords
rui
application
plug
control
rui client
Prior art date
Application number
KR1020070102149A
Other languages
English (en)
Other versions
KR20080101629A (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 US12/123,008 priority Critical patent/US9231778B2/en
Publication of KR20080101629A publication Critical patent/KR20080101629A/ko
Application granted granted Critical
Publication of KR101223641B1 publication Critical patent/KR101223641B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 RUI(Remote User Interface)에 관한 것으로, 본 발명에 따르면 RUI 서버는 UI 페이지에 애플리케이션의 제어 권한을 관리하기 위해 새롭게 정의된 오브젝트를 삽입하고, RUI 클라이언트는 그 오브젝트를 이용하여 RUI 서버의 애플리케이션의 제어 권한을 먼저 확보한 후에 해당 애플리케이션을 제어하므로, RUI 클라이언트에 별도의 플러그인 프로그램을 설치하지 않아도 RUI 클라이언트들이 RUI 서버의 애플리케이션을 충돌 없이 제어할 수 있게 된다.

Description

RUI 서버의 애플리케이션에 대한 제어 권한을 관리하는 방법 및 이를 위한 장치{Method and apparatus for managing control-ownership for application of Remote User Interface Server}
본 발명은 RUI(Remote User Interface)에 관한 것으로, 더욱 상세하게는 RUI서버가 RUI 클라이언트에게 UI를 제공하는 방법에 관한 것이다.
DLNA(Digital Living Network Alliance), HAVi(Home Audio-Video Interoperability), UPnP(Universal Plug and Play) 등과 같은 많은 산업 표준 단체들에 의해 홈 네트워크 기술의 향상을 위한 연구가 활발히 진행되고 있다.
홈 네트워크에서 하나의 디바이스가 다른 디바이스의 기능을 제어하기 위해RUI(Remote User Interface) 기술이 사용될 수 있다. 간단하게 설명하면, RUI 기술은 클라이언트-서버 아키텍쳐를 기반으로 한 것으로, RUI 클라이언트가 RUI 서버로부터 UI를 가져와서, 사용자가 RUI 클라이언트에서 UI를 통해 RUI 서버를 제어할 수 있도록 하는 기술이다.
RUI에 관한 표준인 CEA-2014는 UPnP(Universal Plug and Play) 네트워크와 인터넷 상에서의 RUI를 위한 프로토콜과 프레임 워크를 정의하는데, CEA-2014에 의 하면 UPnP 디바이스(RUI 서버)는 사용자 인터페이스를 CE-HTML 형식의 웹 페이지로 제공하고, 사용자는 이러한 웹 페이지를 통해 원격에서 UPnP 디바이스의 애플리케이션을 제어할 수 있다. CE-HTML은 HTML의 특수한 버전으로, XHTML을 기반으로 한다.
도 1은 CEA-2014 표준에 따라 RUI 서버와 RUI 클라이언트가 통신하는 방법을 나타낸 도면이다.
홈 네트워크에서 RUI를 사용하기 위해서는 우선 RUI Server에 대한 discovery가 수행되어야 한다. CEA-2014는 UPnP 네트워크를 기반으로 하기 때문에 RUI Server를 UPnP Discovery 과정을 통해 발견한다. 도 1에서는 RUI 클라이언트와 컨트롤 포인트(CP, Control Point)를 분리하여 표시하였으나, RUI 클라이언트에 UPnP CP가 내장(embedded)된 경우에는 RUI Client가 직접 RUI Server를 발견할 것이다. 만약 RUI 클라이언트에 CP가 없고 별도의 CP에서 RUI 서버의 UI를 RUI 클라이언트로 보내려고 할 때에는 RUI 클라이언트도 CP가 UPnP discovery를 통해 발견한다.
Discovery 과정이 끝나면 RUI 클라이언트는 UPnP Device Description 내에 포함된 UI 페이지가 있는 URL을 참고하여 UI 페이지를 획득한다. 더욱 상세하게는, RUI 클라이언트의 XHTML browser가 RUI 서버의 웹 서버에게 UI 페이지를 요구한다. UI 페이지는 RUI 서버의 Application을 제어할 수 있도록 구성되어 있으므로, RUI 클라이언트는 UI 페이지를 이용하여 RUI 서버의 애플리케이션을 제어한다. 종래 기술에 따라 RUI 서버와 RUI 클라이언트가 통신하는 방법은 CEA-2104 표준 등의 문헌 에 상세하게 설명되어 있으므로, 여기서는 더 이상의 설명을 생략한다.
이와 같이, 종래 기술에서의 RUI는 일반적인 Web server - HTML Browser의 구조를 기반으로 하고 있다. 일반적인 Web server는 특정 browser의 접속에 대한 관리를 하고 있지 않으며, 단지 browser에서 요구하는 페이지를 리턴해 준다. 따라서 일반적으로 웹 서버에서는 어떤 browser가 페이지를 요구하고 난 후, 종료되었는지의 여부와 같은 정보를 전혀 알 수 없으므로, 클라이언트의 접속을 관리할 수 없다.
그러나, CEA-2014와 같이 웹 서버가 단순히 클라이언트에게 정보를 제공하는 것이 아니라 제공된 정보, 즉 UI 페이지를 통해 RUI 서버의 기능을 제어하는 경우에는 RUI 클라이언트의 권한을 제어할 필요가 있다. 어떤 사용자가 기기를 제어하는 도중에 다른 사용자가 동일한 기기를 제어하여 기기 사용에 있어서의 충돌이 발생할 수 있기 때문이다.
이러한 문제를 해결하기 위해 RUI 클라이언트와 RUI 서버 간의 접속 또는 세션을 관리하고자 하는 경우에는 웹 서버에서 별도로 사용자 별로 접속을 관리하기 위한 데이터베이스를 두거나, RUI 클라이언트가 애플리케이션 별로 active X와 같은 플러그 인(plug-in)을 사용할 수 밖에 없다. 그러나, 일반적으로 CE 기기는 다양한 OS를 사용하고 리소스가 여유롭지 않으므로, 자유롭게 플러그 인을 설치할 수 없는 문제가 있다.
본 발명은 RUI 서버가 제공하는 UI 페이지에 제어 권한을 관리하기 위한 객체를 정의하여, RUI 클라이언트들이 별도의 플러그인을 설치하지 않고도 충돌 없이 RUI 서버의 애플리케이션을 제어할 수 있도록 하는 방법을 제공하고자 한다.
이러한 목적을 달성하기 위한 본 발명은, RUI 클라이언트가 RUI 서버의 애플리케이션을 제어하는 방법에 있어서, 소정의 플러그인 오브젝트를 포함하는 UI 페이지를 상기 RUI 서버로부터 수신하는 단계; 상기 플러그인 오브젝트를 이용하여 상기 애플리케이션이 다른 RUI 클라이언트에 의해 제어되고 있는지 검사하는 단계; 및 상기 검사 결과에 기초하여 상기 애플리케이션을 선택적으로 제어하는 단계를 포함하는 것을 특징으로 한다.
상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것이 바람직하다.
상기 검사하는 단계는, 상기 UI 페이지가 열리는 이벤트가 발생하면 상기 플러그인 오브젝트의 소정 메소드를 실행하여 상기 RUI 서버에 상기 애플리케이션이 제어되고 있는지 문의하는 것이 바람직하다.
상기 제어하는 단계는, 상기 검사 결과 상기 애플리케이션이 제어되고 있지 않으면, 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 획득하는 단계를 포함하는 것이 바람직하다.
상기 제어 방법은, 상기 애플리케이션을 제어하는 동안에는 상기 플러그인 오브젝트의 소정 메소드를 주기적으로 실행함으로써 상기 애플리케이션이 제어되고 있음을 상기 RUI 서버에 주기적으로 통지하는 단계를 더 포함하는 것이 바람직하다.
상기 제어 방법은, 상기 애플리케이션을 제어하는 도중 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 반환하는 단계를 더 포함할 수 있다.
또한, 본 발명은 RUI 클라이언트 장치에 있어서, 소정의 플러그인 오브젝트를 포함하는 UI 페이지를 RUI 서버로부터 수신하는 수신부; 상기 플러그인 오브젝트를 이용하여 상기 RUI 서버의 애플리케이션이 다른 RUI 클라이언트에 의해 제어되고 있는지 검사하는 검사부; 및 상기 검사 결과에 기초하여 상기 애플리케이션을 선택적으로 제어하는 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명은 상기 제어 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것이 바람직하다.
또한, 본 발명은, RUI 서버가 RUI 클라이언트와 통신하는 방법에 있어서, 소정의 플러그인 오브젝트를 포함하는 UI 페이지를 RUI 클라이언트에게 제공하는 단계; 상기 플러그인 오브젝트의 제1메소드가 실행되면 상기 RUI 서버의 애플리케이션에 대한 제어 권한이 다른 RUI 클라이언트에게 점유된 상태인지 여부를 판단하는 단계; 및 상기 판단 결과를 상기 RUI 클라이언트에게 통지하는 단계를 포함하며, 상기 UI 페이지는, 상기 UI 페이지가 열리는 이벤트가 발생하면 상기 제1메소드를 실행하고 상기 제어 권한이 다른 RUI 클라이언트에게 점유되지 않은 경우 상기 제어 권한을 획득하는 상기 플러그인 오브젝트의 제2메소드를 실행하는 스크립트를 포함하는 것을 특징으로 한다.
상기 통신 방법은, 상기 제어 권한을 점유하고 있음을 주기적으로 알리는 상기 플러그인 오브젝트의 제3메소드가 상기 제어 권한을 점유하고 있는 RUI 클라이언트에 의해 소정 시간 동안 실행되지 않으면 상기 제어 권한이 점유 가능한 것으로 설정하는 단계를 더 포함하는 것이 바람직하다.
상기 통신 방법은, 상기 제어 권한을 반환하는 상기 플러그인 오브젝트의 제4메소드가 소정의 RUI 클라이언트에 의해 실행되면, 상기 소정의 RUI 클라이언트가 상기 제어 권한을 점유하고 있는 RUI 클라이언트인지 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 제어 권한을 점유 가능한 것으로 선택적으로 설정하는 단계를 더 포함하는 것이 바람직하다.
또한, 본 발명은 상기 통신 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
RUI 서버의 UI를 RUI 클라이언트에게 제공하는 장치에 있어서, 소정의 플러그인 오브젝트를 포함하는 UI 페이지를 상기 RUI 클라이언트에게 제공하는 UI제공부; 상기 플러그인 오브젝트의 제1메소드가 실행되면 상기 RUI 서버의 애플리케이션에 대한 제어 권한이 다른 RUI 클라이언트에게 점유된 상태인지 여부를 판단하여 상기 RUI 클라이언트에게 통지하는 제어권한관리부를 포함하며, 상기 UI 페이지는, 상기 UI 페이지가 열리는 이벤트가 발생하면 상기 제1메소드를 실행하고 상기 제어 권한이 다른 RUI 클라이언트에게 점유되지 않은 경우 상기 제어 권한을 획득하는 상기 플러그인 오브젝트의 제2메소드를 실행하는 스크립트를 포함하는 것을 특징으로 한다.
본 발명에 따르면, RUI 클라이언트에 별도의 플러그인 프로그램을 설치하지 않아도 RUI 서버의 애플리케이션을 다른 RUI 클라이언트와의 충돌 없이 제어할 수 있다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다. 이하에서, "애플리케이션"은 RUI 클라이언트가 UI 페이지를 통해 제어할 수 있는 RUI 서버의 애플리케이션을 의미한다.
도 2는 본 발명의 일실시예에 따른 UI 페이지를 설명하기 위한 도면이다.
RUI 서버가 RUI 클라이언트에게 전달하는 UI 페이지는 XHTML 컨텐트(210)이며, 이러한 XHTML 컨텐트(210)에는 애플리케이션에 대한 제어 권한을 관리하기 위한 플러그인 오브젝트(220)가 포함된다. 이러한 오브젝트는 RUI 서버의 제어 권한을 관리하기 위해 본 발명에서 새롭게 정의하는 것이며, 아직 XHTML에서 정의되지는 않은 것이므로 플러그인 오브젝트라고 칭한다. RUI 클라이언트의 XHTML 브라우저는 당연히 본 발명에서 정의하는 플러그인 오브젝트를 해석할 수 있어야 하지만, 이 플러그인 오브젝트는 제어 권한의 관리를 위한 것이므로 사용자에게 보여줄 필요는 없다. 이 플러그인 오브젝트는 <object id="control-ownership type="application/control-ownership-plugin"/>과 같은 형태로 XHTML 내에 기술될 수 있을 것이다. 이하 이러한 플러그인 오브젝트를 제어 권한 관리 오브젝트라고 칭하기로 한다.
제어 권한 관리 오브젝트는 다른 오브젝트들과 마찬가지로 속성(property)과 메소드(method)를 가지며, 이들을 이용하여 애플리케이션에 대한 제어 권한이 관리될 수 있다. 예를 들면, 다음과 같은 메소드들이 정의될 수 있을 것이다.
- isFree() : application에 대한 제어권의 사용 가능여부를 알림.
- takeOwnership(RUI Client 식별자): application에 대한 제어권을 획득함.
- releaseOwnership(RUI Client 식별자):application에 대한 제어권을 반환함.
- notifyOwnsership(RUI Client 식별자): application에 대한 제어권을 가지고 있음을 알림.
도 3은 본 발명의 일실시예에 따라 RUI 클라이언트가 RUI 서버의 애플리케이션을 제어하는 과정을 나타낸 순서도이다.
단계 310에서, RUI 클라이언트는 RUI 서버로부터 UI 페이지를 수신한다.
단계 320에서, RUI 클라이언트는 애플리케이션의 제어 권한이 다른 RUI 클라이언트에 의해 점유된 상태인지의 여부를 검사한다. 이러한 과정은 다음과 같이 수 행될 수 있다.
UI 페이지에는 UI 페이지가 RUI 클라이언트의 XHTML 브라우저에 의해 열리는(open) 이벤트가 발생하게 되면 제어 권한 관리 오브젝트의 isFree() 메소드를 실행시키는 스크립트가 포함된다. 따라서, RUI 클라이언트에서 UI 페이지가 로딩되는 순간, RUI 클라이언트는 UI 페이지의 스크립트에 따라 RUI 서버에게 애플리케이션의 제어 권한이 획득 가능한지(available) 여부를 문의한다.
단계 330에서, UI 페이지의 스크립트에 따라, 만약 제어 권한이 점유중이 아니라면 제어 권한을 획득한다. 이러한 과정은 제어 권한 관리 오브젝트의 takeOwnership() 메소드를 실행(execute)함으로써 수행될 수 있다. 제어 권한을 획득하는 과정에서 RUI 클라이언트의 식별자가 RUI 서버에게 전달된다.
만약 제어 권한이 다른 RUI 클라이언트에 의해 점유중이라면, UI 페이지의 스크립트에 따라 UI 페이지는 닫히고, RUI 클라이언트는 해당 애플리케이션을 액세스할 수 없게 된다.
단계 340에서, 제어 권한을 획득한 RUI 클라이언트는 UI 페이지를 통해 애플리케이션을 제어한다.
단계 350에서, UI 페이지의 스크립트에 따라, RUI 클라이언트는 제어 권한을 점유하는 동안, 주기적으로 RUI 서버에게 제어 권한을 점유하고 있음을 통지한다. 이러한 과정은 제어 권한 관리 오브젝트의 notifyOwnsership() 메소드를 실행함으로써 수행될 수 있다. RUI 클라이언트가 주기적으로 자신이 애플리케이션의 제어 권한을 가지고 있음을 통보해야 하는 이유는 RUI 클라이언트가 RUI 서버에게 알리 지 않고 네트워크에서 분리되는 경우 RUI 서버가 제어 권한을 획득할 수 있는 상태로 설정하도록 하기 위해서이다.
단계 360에서, 사용자의 입력 등에 의해 애플리케이션에 대한 제어가 종료되면, RUI 클라이언트는 RUI 서버에게 제어 권한을 반환한다. 이러한 과정은 제어 권한 관리 오브젝트의 releaseOwnership() 메소드를 실행함으로써 수행될 수 있다. 본 발명에서의 RUI 클라이언트 및 RUI 서버는 CEA-2014 규격을 따르는 것이 바람직하며, 이하 동일하다.
도 4는 본 발명의 일실시예에 따라 RUI 서버가 애플리케이션의 제어 권한을 관리하는 과정을 나타낸 순서도이다.
단계 410에서, RUI 서버는 UI 페이지를 RUI 클라이언트에게 제공한다.
단계 420에서, RUI 서버는 애플리케이션의 제어 권한이 점유중인지에 대한 문의를 수신한다. 이는 RUI 클라이언트가 UI 페이지를 여는 과정에서 제어 권한 관리 오브젝트의 isFree() 메소드가 실행되었음을 의미한다.
단계 430에서, RUI 서버는 해당 애플리케이션의 제어 권한이 점유 중인지의 여부를 판단한다. RUI 서버는 이를 위해 애플리케이션에 저장된 정보를 참조하거나 또는 별도의 정보를 참조할 수 있다. 이하에서는 이러한 정보를 관리 정보라 칭하기로 한다. 관리 정보에는 애플리케이션의 제어 권한을 점유하고 있는 RUI 클라이언트의 식별자가 포함된다.
단계 440에서, 만약 애플리케이션의 제어 권한이 점유중이면, 이를 제어 권한의 점유 여부를 문의한 RUI 클라이언트에게 통보한다.
단계 450에서, 만약 애플리케이션의 제어 권한이 점유중이 아니면, 제어 권한이 획득 가능함을 제어 권한의 점유 여부를 문의한 RUI 클라이언트에게 통보한다.
단계 460에서, 제어 권한이 획득 가능함을 통보받은 RUI 클라이언트로부터 제어 권한에 대한 획득 요청을 수신한다. 이는 RUI 클라이언트에 의해 제어 권한 관리 오브젝트의 takeOwnership() 메소드가 실행되었음을 의미한다.
단계 470에서, RUI 서버는 애플리케이션의 제어 권한이 해당 RUI 클라이언트에 의해 점유 중인 것으로 설정한다. 즉, 관리 정보에 해당 RUI 클라이언트의 식별자를 기록하여 관리 정보를 갱신한다.
도 5는 본 발명의 일실시예에 따라 RUI 서버가 제어 권한의 반환을 처리하는 과정을 나타낸 순서도이다.
단계 510에서, RUI 서버는 애플리케이션의 제어 권한에 대한 반환 요청을 수신한다. 이는 RUI 클라이언트에 의해 제어 권한 관리 오브젝트의 releaseOwnership() 메소드가 실행되었음을 의미한다. 이 과정에서 RUI 클라이언트의 식별자가 RUI 서버에게 전달된다.
단계 520에서, RUI 서버는 애플리케이션의 제어 권한에 대한 반환을 요청한 RUI 클라이언트가 실제로 제어 권한을 점유 중인 RUI 클라이언트 여부인지를 판단한다. 이러한 과정은 단계 510에서 수신된 식별자와 관리 정보에 기록된 식별자를 비교함으로써 수행될 수 있다.
단계 530에서, 제어 권한에 대한 반환을 요청한 RUI 클라이언트가 실제로 제 어 권한을 점유 중인 것으로 판단되면, 반환 요청을 받아들여 제어 권한이 획득 가능한 것으로 설정한다.
단계 540에서, 제어 권한에 대한 반환을 요청한 RUI 클라이언트가 실제로 제어 권한을 점유 중이 아닌 것으로 판단되면, 에러 메시지를 전송한다.
도 6은 본 발명의 일실시예에 따라 RUI 서버가 점유된 제어 권한의 상태를 변경하는 과정을 나타낸 순서도이다.
단계 610에서, RUI 서버는 도 4에서 설명한 과정들을 통해 RUI 클라이언트에게 제어 권한을 부여한다.
단계 620에서, RUI 서버는 제어 권한을 점유하고 있는 RUI 클라이언트로부터 제어 권한을 점유하고 있음이 주기적으로 통지되고 있는지 여부를 판단한다. 즉, RUI 클라이언트가 주기적으로 제어 권한 관리 오브젝트의 notifyOwnsership() 메소드를 실행하고 있는지의 여부를 판단한다.
단계 630에서, 만약 RUI 클라이언트가 주기적으로 제어 권한을 점유하고 있음을 통지하지 않으면, 즉 소정 시간 동안 해당 RUI 클라이언트에 의해 notifyOwnsership() 메소드가 실행되지 않으면 관리 정보를 변경하여 애플리케이션의 제어 권한이 획득 가능한 것으로 설정한다.
따라서, 애플리케이션의 제어 권한을 점유하고 있던 RUI 클라이언트가 제어권한을 반환하지 않고 비정상적으로 종료된 경우, RUI 서버는 제어 권한을 다른 RUI 클라이언트에게 부여할 수 있다.
도 7은 본 발명의 일실시예에 따른 RUI 클라이언트와 RUI 서버의 구조를 나 타낸 도면이다.
본 발명의 일실시예에 따른 RUI 클라이언트(700)는 수신부(701), 검사부(702) 및 제어부(703)를 포함한다.
수신부(701)는 RUI 서버(750)로부터 UI 페이지를 수신한다. 이 UI 페이지에는 제어 권한 관리 오브젝트가 포함되어 있다.
검사부(702)는 제어 권한 관리 오브젝트를 이용하여 애플리케이션이 다른 RUI 클라이언트에 의해 제어되고 있는지를 검사한다. 즉, UI 페이지의 스크립트에 따라, UI 페이지가 열리는 이벤트가 발생하면 제어 권한 관리 오브젝트의 isFree() 메소드를 실행한다.
제어부(703)는 만약 애플리케이션에 대한 제어 권한이 획득 가능하면, 제어 권한 관리 오브젝트의 takeOwnership() 메소드를 실행하여 제어 권한을 획득하고, UI 페이지를 통해 애플리케이션을 제어한다. 한편, 제어 권한을 점유하고 있는 동안에는 주기적으로 제어 권한 관리 오브젝트의 notifyOwnsership() 메소드를 실행하여 RUI 서버에게 자신이 애플리케이션에 대한 제어 권한을 점유중임을 주기적으로 알린다. 또한, 제어부(703)는 애플리케이션에 대한 제어를 종료하고자 할 때에는 제어 권한 관리 오브젝트의 releaseOwnership() 메소드를 실행함으로써 제어 권한을 반환한다.
한편, RUI 서버(750)는 UI 제공부(751), 제어 권한 관리부(752) 및 메모리(753)를 포함한다.
UI 제공부(751)는 RUI 클라이언트(700)에게 RUI 서버(750)의 애플리케이션을 제어하기 위한 UI 페이지를 제공한다. 이 UI 페이지에는 애플리케이션의 제어를 위한 UI 오브젝트들 외에도 본 발명에 따른 플러그인 오브젝트인 제어 권한 관리 오브젝트가 포함된다.
제어 권한 관리부(752)는 RUI 클라이언트(700)가 제어 권한 관리 오브젝트의isFree() 메소드를 실행하면 메모리(753)에 저장된 관리 정보를 참조하여 애플리케이션이 제어 중인지의 여부를 판단하여 RUI 클라이언트(700)에게 통지한다.
만약 제어 권한이 다른 RUI 클라이언트에 의해 점유 중인 경우에는 이를 통지한다. 그러나, 제어 권한이 획득 가능한 경우, RUI 클라이언트(700)가 제어 권한 관리 오브젝트의 takeOwnership() 메소드를 실행하여 제어 권한의 획득을 요청하면, 관리 정보에 RUI 클라이언트(700)의 식별자를 기록함으로써 RUI 클라이언트(700)에게 제어 권한을 부여한다.
제어 권한 관리부(752)는 제어 권한을 점유하고 있는 RUI 클라이언트(700)가 제어 권한 관리 오브젝트의 notifyOwnsership() 메소드를 주기적으로 실행하는지 검사하고, notifyOwnsership() 메소드가 소정 시간 동안 실행되지 않으면, RUI 클라이언트(700)가 네트워크와의 접속을 종료한 것으로 판단하고, 제어 권한을 획득 가능한 상태로 설정한다. 즉, 메모리(753)에 저장된 관리 정보에서 RUI 클라이언트(700)의 식별자를 삭제한다.
한편, RUI 클라이언트(700)가 제어 권한 관리 오브젝트의 releaseOwnership() 메소드를 실행하면, 제어 권한 관리부(752)는 메소드 실행 과정에서 전달된 RUI 클라이언트(700)의 식별자를 관리 정보에 기록된 식별자와 비교 하여 RUI 클라이언트(700)가 실제로 제어 권한을 점유하고 있는지 여부를 판단한다. 만약, RUI 클라이언트(700)가 실제로 제어 권한을 점유하고 있는 것으로 판단되면 메모리(753)의 관리 정보를 갱신하여 제어 권한을 획득 가능한 상태로 설정하고, 그렇지 않으면 RUI 클라이언트(700)에게 에러 메시지를 송신한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 CEA-2014 표준에 따라 RUI 서버와 RUI 클라이언트가 통신하는 방법을 나타낸 도면,
도 2는 본 발명의 일실시예에 따른 UI 페이지를 설명하기 위한 도면,
도 3은 본 발명의 일실시예에 따라 RUI 클라이언트가 RUI 서버의 애플리케이션을 제어하는 과정을 나타낸 순서도,
도 4는 본 발명의 일실시예에 따라 RUI 서버가 애플리케이션의 제어 권한을 관리하는 과정을 나타낸 순서도,
도 5는 본 발명의 일실시예에 따라 RUI 서버가 제어 권한의 반환을 처리하는 과정을 나타낸 순서도,
도 6은 본 발명의 일실시예에 따라 RUI 서버가 점유된 제어 권한의 상태를 변경하는 과정을 나타낸 순서도,
도 7은 본 발명의 일실시예에 따른 RUI 클라이언트와 RUI 서버의 구조를 나타낸 도면이다.

Claims (22)

  1. RUI 클라이언트가 RUI 서버의 애플리케이션을 제어하는 방법에 있어서,
    소정의 플러그인 오브젝트를 포함하는 UI 페이지를 상기 RUI 서버로부터 수신하는 단계;
    상기 플러그인 오브젝트를 이용하여 상기 애플리케이션이 다른 RUI 클라이언트에 의해 제어되고 있는지 검사하는 단계; 및
    상기 검사 결과에 기초하여 상기 애플리케이션을 선택적으로 제어하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 검사하는 단계는,
    상기 UI 페이지가 열리는 이벤트가 발생하면 상기 플러그인 오브젝트의 소정 메소드를 실행하여 상기 RUI 서버에 상기 애플리케이션이 제어되고 있는지 문의하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 제어하는 단계는,
    상기 검사 결과 상기 애플리케이션이 제어되고 있지 않으면, 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 애플리케이션을 제어하는 동안에는 상기 플러그인 오브젝트의 소정 메소드를 주기적으로 실행함으로써 상기 애플리케이션이 제어되고 있음을 상기 RUI 서버에 주기적으로 통지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 애플리케이션을 제어하는 도중 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 반환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 소정의 플러그인 오브젝트를 포함하는 UI 페이지를 RUI 서버로부터 수신하는 수신부;
    상기 플러그인 오브젝트를 이용하여 상기 RUI 서버의 애플리케이션이 다른 RUI 클라이언트에 의해 제어되고 있는지 검사하는 검사부; 및
    상기 검사 결과에 기초하여 상기 애플리케이션을 선택적으로 제어하는 제어부를 포함하는 것을 특징으로 하는 RUI 클라이언트 장치.
  8. 제 7항에 있어서,
    상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것을 특징으로 하는 RUI 클라이언트 장치.
  9. 제 7항에 있어서,
    상기 검사부는,
    상기 UI 페이지가 열리는 이벤트가 발생하면 상기 플러그인 오브젝트의 소정 메소드를 실행하여 상기 RUI 서버에 상기 애플리케이션이 제어되고 있는지 문의하는 것을 특징으로 하는 RUI 클라이언트 장치.
  10. 제 7항에 있어서,
    상기 제어부는,
    상기 검사 결과 상기 애플리케이션이 제어되고 있지 않으면, 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 획득하는 것을 특징으로 하는 RUI 클라이언트 장치.
  11. 제 7항에 있어서,
    상기 제어부는,
    상기 애플리케이션을 제어하는 동안에는 상기 플러그인 오브젝트의 소정 메소드를 주기적으로 실행함으로써 상기 애플리케이션이 제어되고 있음을 상기 RUI 서버에 주기적으로 통지하는 것을 특징으로 하는 RUI 클라이언트 장치.
  12. 제 7항에 있어서,
    상기 제어부는,
    상기 애플리케이션을 제어하는 도중 상기 플러그인 오브젝트의 소정 메소드를 실행함으로써 상기 애플리케이션에 대한 제어 권한을 반환하는 것을 특징으로 하는 RUI 클라이언트 장치.
  13. 제 1항 내지 제 6항 중 어느 한 항에 의한 방법을 실행하는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  14. RUI 서버가 RUI 클라이언트와 통신하는 방법에 있어서,
    소정의 플러그인 오브젝트를 포함하는 UI 페이지를 RUI 클라이언트에게 제공하는 단계;
    상기 플러그인 오브젝트의 제1메소드가 실행되면 상기 RUI 서버의 애플리케이션에 대한 제어 권한이 다른 RUI 클라이언트에게 점유된 상태인지 여부를 판단하는 단계; 및
    상기 판단 결과를 상기 RUI 클라이언트에게 통지하는 단계를 포함하며,
    상기 UI 페이지는, 상기 UI 페이지가 열리는 이벤트가 발생하면 상기 제1메소드를 실행하고 상기 제어 권한이 다른 RUI 클라이언트에게 점유되지 않은 경우 상기 제어 권한을 획득하는 상기 플러그인 오브젝트의 제2메소드를 실행하는 스크립트를 포함하는 것을 특징으로 하는 방법.
  15. 제 14항에 있어서,
    상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것을 특징으로 하는 방법.
  16. 제 14항에 있어서,
    상기 제어 권한을 점유하고 있음을 주기적으로 알리는 상기 플러그인 오브젝트의 제3메소드가 상기 제어 권한을 점유하고 있는 RUI 클라이언트에 의해 소정 시간 동안 실행되지 않으면 상기 제어 권한이 점유 가능한 것으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 14항에 있어서,
    상기 제어 권한을 반환하는 상기 플러그인 오브젝트의 제4메소드가 소정의 RUI 클라이언트에 의해 실행되면, 상기 소정의 RUI 클라이언트가 상기 제어 권한을 점유하고 있는 RUI 클라이언트인지 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 제어 권한을 점유 가능한 것으로 선택적으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. RUI 서버의 UI를 RUI 클라이언트에게 제공하는 장치에 있어서,
    소정의 플러그인 오브젝트를 포함하는 UI 페이지를 상기 RUI 클라이언트에게 제공하는 UI제공부;
    상기 플러그인 오브젝트의 제1메소드가 실행되면 상기 RUI 서버의 애플리케이션에 대한 제어 권한이 다른 RUI 클라이언트에게 점유된 상태인지 여부를 판단하여 상기 RUI 클라이언트에게 통지하는 제어권한관리부를 포함하며,
    상기 UI 페이지는, 상기 UI 페이지가 열리는 이벤트가 발생하면 상기 제1메소드를 실행하고 상기 제어 권한이 다른 RUI 클라이언트에게 점유되지 않은 경우 상기 제어 권한을 획득하는 상기 플러그인 오브젝트의 제2메소드를 실행하는 스크립트를 포함하는 것을 특징으로 하는 장치.
  19. 제 18항에 있어서,
    상기 RUI 클라이언트 및 상기 RUI 서버는 CEA-2014 규격을 따르는 것을 특징으로 하는 장치.
  20. 제 18항에 있어서,
    상기 제어권한관리부는,
    상기 제어 권한을 점유하고 있음을 주기적으로 알리는 상기 플러그인 오브젝트의 제3메소드가 상기 제어 권한을 점유하고 있는 RUI 클라이언트에 의해 소정 시간 동안 실행되지 않으면 상기 제어 권한이 점유 가능한 것으로 설정하는 것을 특징으로 하는 장치.
  21. 제 18항에 있어서,
    상기 제어권한관리부는,
    상기 제어 권한을 반환하는 상기 플러그인 오브젝트의 제4메소드가 실행되면, 상기 제4메소드를 실행한 RUI 클라이언트가 상기 제어 권한을 점유하고 있는 RUI 클라이언트인지 판단하고,
    상기 판단 결과에 기초하여 상기 제어 권한을 점유 가능한 것으로 선택적으로 설정하는 것을 특징으로 하는 장치.
  22. 제 14항 내지 제 17항 중 어느 한 항의 방법을 실행하는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020070102149A 2007-05-18 2007-10-10 Rui 서버의 애플리케이션에 대한 제어 권한을 관리하는방법 및 이를 위한 장치 KR101223641B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/123,008 US9231778B2 (en) 2007-05-18 2008-05-19 Method and apparatus for managing control ownership for application of remote user interface server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US93872007P 2007-05-18 2007-05-18
US60/938,720 2007-05-18

Publications (2)

Publication Number Publication Date
KR20080101629A KR20080101629A (ko) 2008-11-21
KR101223641B1 true KR101223641B1 (ko) 2013-01-17

Family

ID=40287859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070102149A KR101223641B1 (ko) 2007-05-18 2007-10-10 Rui 서버의 애플리케이션에 대한 제어 권한을 관리하는방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR101223641B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025517A (ko) * 2000-09-29 2002-04-04 구자홍 컴퓨터 직렬포트의 공유 방법
KR20020055216A (ko) * 2000-12-28 2002-07-08 구자홍 다중접속 무선패킷 데이터시스템에서의 채널점유관리방법
KR20040019178A (ko) * 2002-08-26 2004-03-05 엘지전자 주식회사 데이터 버스 중재 방법
KR20070047122A (ko) * 2005-11-01 2007-05-04 엔에이치엔(주) 멀티스래딩 제어 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025517A (ko) * 2000-09-29 2002-04-04 구자홍 컴퓨터 직렬포트의 공유 방법
KR20020055216A (ko) * 2000-12-28 2002-07-08 구자홍 다중접속 무선패킷 데이터시스템에서의 채널점유관리방법
KR20040019178A (ko) * 2002-08-26 2004-03-05 엘지전자 주식회사 데이터 버스 중재 방법
KR20070047122A (ko) * 2005-11-01 2007-05-04 엔에이치엔(주) 멀티스래딩 제어 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20080101629A (ko) 2008-11-21

Similar Documents

Publication Publication Date Title
KR100739743B1 (ko) 홈 네트워크에서 디바이스를 독점적으로 제어하기 위한방법 및 장치
EP2353102B1 (en) Method and apparatus for managing state information of remote user interface
US8301691B2 (en) Server apparatus, network system, data transfer method, and program
KR101495923B1 (ko) UPnP가 발견된 아이템들을 SMB 위치에 매핑하는 방법
EP2840741B1 (en) Method and apparatus for using service of home network device based on remote access
JP2007133796A (ja) 情報処理装置及び情報処理システム
JP5641618B2 (ja) アクセス権を設定するための方法、制御点、装置、および通信システム
EP2359255B1 (en) Method and apparatus for controlling access to resources in remote user interface service
KR101775026B1 (ko) 페어 플레이 서비스 제공 방법 및 장치
WO2010043175A1 (zh) 基于权限控制的终端管理方法及装置
EP2723112B1 (en) Rights control method and apparatus for digital living network alliance
EP1775915B1 (en) Method and apparatus for transmitting a UPnP Byebye message
US9405594B2 (en) Method and apparatus for controlling access to resources in remote user interface service
WO2012151967A1 (zh) 一种控制数字移动网络联盟内容的方法及装置
WO2013097345A1 (zh) 数字生活网络联盟设备的接入控制方法及装置
JP5678184B2 (ja) 遠隔ユーザインターフェース管理装置及び方法とそのためのシステム
US9231778B2 (en) Method and apparatus for managing control ownership for application of remote user interface server
JP5394704B2 (ja) 情報通信システム、及びソフトウェア更新方法
KR101223641B1 (ko) Rui 서버의 애플리케이션에 대한 제어 권한을 관리하는방법 및 이를 위한 장치
KR101355056B1 (ko) 홈 네트워크, 홈 네트워크 시스템 사이의 장치 정보 공유 방법 및 홈 네트워크 시스템
US8671178B2 (en) Information processing system and method providing a remote access
KR100665436B1 (ko) 홈네트워크를 통한 파일 서버 관리 방법
KR101860967B1 (ko) 소유권들에 기초하여 홈 네트워크 환경 내에서의 범용 플러그 앤 플레이 동작들에 대한 보안을 제공하는 방법 및 시스템
KR101538330B1 (ko) 홈 네트워크 내의 통합 rui 서버 및 통합 rui 서버를 이용한 rui 서버 정보 제공 방법
KR20110065247A (ko) 복수의 인터넷 서비스 제공자의 서비스를 이용하는 방법 및 장치

Legal Events

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

Payment date: 20151229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 7