KR101961741B1 - 위젯 생성 및 통신 방법 - Google Patents

위젯 생성 및 통신 방법 Download PDF

Info

Publication number
KR101961741B1
KR101961741B1 KR1020090099940A KR20090099940A KR101961741B1 KR 101961741 B1 KR101961741 B1 KR 101961741B1 KR 1020090099940 A KR1020090099940 A KR 1020090099940A KR 20090099940 A KR20090099940 A KR 20090099940A KR 101961741 B1 KR101961741 B1 KR 101961741B1
Authority
KR
South Korea
Prior art keywords
widget
widgets
server
client
received
Prior art date
Application number
KR1020090099940A
Other languages
English (en)
Other versions
KR20100134495A (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/815,658 priority Critical patent/US8954489B2/en
Priority to EP10789689.6A priority patent/EP2443539B1/en
Priority to PCT/KR2010/003835 priority patent/WO2010147362A2/en
Publication of KR20100134495A publication Critical patent/KR20100134495A/ko
Application granted granted Critical
Publication of KR101961741B1 publication Critical patent/KR101961741B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 위젯 생성 및 통신 방법에 관한 것이다. 이러한 본 발명은, 상이한 장치들 간의 위젯 통신 방법, 장치들 간의 위젯 컨텍스트(context)과 모빌러티(mobility) 방법, 위젯 집합, 위젯 의존도, 다른 위젯으로부터의 위젯 활성화 방법, 및 하나의 인터페이스의 복수의 위젯들과 복수의 바인딩 방법을 제공한다.
widget

Description

위젯 생성 및 통신 방법{Method for activating and communication widget}
본 발명은 위젯 생성 및 통신 방법에 관한 것으로, 특히 복수의 위젯 간에 위젯 생성 및 통신 방법에 관한 것이다.
위젯은 디바이스에 존재하는 것이며, 사용자와의 인터페이스 및 해당 장치의 특정 기능 실행을 위한 것이다. 이러한 위젯들은 각 장치에 따로 존재한다.
본 발명의 목적은, 복수의 위젯 간에 위젯 생성 및 통신 방법을 제공한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 위젯 생성 및 통신 방법은, 상이한 장치들 간의 위젯 통신 방법, 장치들 간의 위젯 컨텍스트(context)과 모빌러티(mobility) 방법, 위젯 집합, 위젯 의존도, 다른 위젯으로부터의 위젯 활성화 방법, 및 하나의 인터페이스의 복수의 위젯들과 복수의 바인딩 방법을 제공한다.
상술한 바와 같은 본 발명에 따르면, 장치들 간의 위젯 통신 방법을 제공하며, 장치들 간의 위젯 콘텍스트 및 모빌리티를 제공하며, 타 위젯으로부터 위젯 활성화 방법 및 하나의 인터페이스를 복수의 위젯이 공유하여 사용하는 방법을 제공함으로써, 위젯의 성능을 향상시키는 이점이 있다.
본 발명은 향상된 위젯에 관한 것으로, 다음과 같은 것들의 요구에 의한 해결방안을 제안하기 위한 것이다.
- 상이한 장치들 간의 위젯 통신
- 장치들 간의 위젯 컨텍스트(context)과 모빌러티(mobility)
- 위젯 집합, 위젯 의존도, 다른 위젯으로부터의 위젯 활성화
- 하나의 인터페이스의 복수의 위젯들과 복수의 바인딩
- 그 이외의 다양한 수정 사항.
장치들 간의 위젯 통신
이론적 근거
최근, 위젯 매니저는 새로운 위젯이 활성화되거나 새로운 장치가 검색될 때마다 바인딩 페이즈(binding phase)로 진행된다. 모든 비-바인딩 인터페이스가 수집되고, 새로운 대상(match)들에 대한 시스템적인 검색이 발생한다. 모든 새로운 대상들은 새로운 바인딩으로 도출된다. 이는 동일한 위젯 매니저 간의 2개의 위젯 인터페이스의 바인딩을 위하여 동작하며, 또한 검색된 서비스와 위젯 인터페이스를 바인딩하기 위하여 동작한다.
위젯 매니저를 통한 및/또는 장치들을 통한 위젯 인터페이스들의 바인딩을 가능하게 하기 위하여, 위젯 인터페이스는 위젯 매니저를 통하여 및/또는 장치들을 통하여 검색될 필요가 있다. 이를 달성하기 위한 하나의 분명한 방법은 위젯 인터페이스의 정의로부터 검색 가능한 서비스를 만드는 것이다.
검색 가능한 서비스의 정의는 부가적인 비용을 유발한다. (동일한 위젯 매니저 사이에) 국지적으로 바인딩될 위젯 인터페이스들은 그러한 wrapper를 필요로 하지 않는다. 모든 인터페이스들이 어떻게 바인딩 되는지를 불문하고, 모든 인터페이스들을 위한 wrapper 서비스를 만드는 것은 바인딩 페이즈를 불필요하게 복잡하게 만든다.
어떠한 인터페이스들은 위젯 매니저의 외부로 노출할 필요가 없다.
이는 위젯과 인터페이스의 의미과 관련이 있다. 우리는 위젯 매니저가 인터페이스의 의미에 관하여 어떠한 것도 아는 것을 원치 않기 때문에, 우리는 정보가 제공되는 것을 명령하고자 한다.
각각의 인터페이스에 관해, 우리는 검색 가능한 서비스의 정의가 필요한지 여부를 지시하는 것을 선택한다. 이러한 지시는 강제적이므로, 바인딩 페이즈는 단순화될 수 있다: 인터페이스가 검색 가능한 것으로 표시되었다면, 위젯 매니저는 국지적으로 바인딩 하기 위하여 시도를 하지 않을 것이다. 인터페이스가 검색 가능한 것으로 표시되지 않았다면, 위젯 매니저는 국지적으로 바인딩하기 위하여 시도할 것이지만, 네트워크 상에 이러한 그것의 존재를 알리지는 않을 것이다.
제안
'mw:interface' 요소에 다음과 같은 속성을 추가한다.
mw : discoverable
부차적인 boolean 값은 검색 가능한 서비스와 같이 네트워크 상에 이러한 인터페이스가 공지될 수 있는 지 여부를 지시하며, 디폴트값은 false이다. 이에 따라 이러한 네트워크 상의 다른 위젯 매니저들에 있는 다른 위젯들은 그것(상술한 인터페이스)으로 바인딩 될 것이다. 검색 가능할 때, 인터페이스는 국지적으로 바인딩 될 수 없다.
위젯 컨텍스트와 세션 모빌러티
이론적 근거
위젯을 위한 컨텍스트는 사용자의 선호도(preference)와 위젯의 실행 state등을 저장하는 'save and restore' 명령어에 관련된 것이다.
preference: 사용자는 교통 또는 날씨 위젯에서 현재 위치를 선택하고, 위젯이 활성될 될 때 위젯으로 하여금 항상 정보를 표시하기 시작하는 것을 원한다.
execution state(local): 위젯의 이용은 오히려 복잡하다. 예를 들어 로그인 페이즈가 존재하고, 관심 정보를 얻기 위하여 3페이지의 정보를 통과하여야 한다. 사용자는 이를 한번 실행하고, 사용자가 위젯을 실행하는 다음 시기에 동일한 상태로 돌아갈 것을 기대한다. 주의점: 이것은 복잡한 선호도(preference)들과 유사하다.
execution state(remote): 사용자는 사용자의 전화기에서 예약 위젯을 사용하여 시작하며, 갑자기 화면이 매우 작아진다. 사용자는 옵션을 보기 위하여 더 넓은 공간의 스크린을 갖는 컴퓨터나 TV 세트를 이용하는 것으로 스위칭 하기를 원한다. 그래서 사용자는 위젯과 그것의 컨텍스트를 큰 스크린을 갖는 장치로 확장한다. 주의점: 이것은 local인 경우와 유사하지만, 컨텍스트 파일은 위젯과 함께 새로운 장치로 확장될 것이 요구된다.
우리는 아래와 같이 정의할 필요가 있다.
- declarative-only 상태를 위하여 무엇이 'save'되어야 하는지
- 데이터가 특정한 포맷으로 저장(save)되어야할 필요가 있는지의 여부
- 언제 'save and restore' 명령이 수행되어야 하는지에 대한 여부
- 어디에 정보가 'save'되고 'restore'되기 전에 어떻게 그것을 찾을건지에 대한 부분
what
어떠한 필드 또는 속성 값은 단순한 declarative 컨텍스트에 있을 때 저장될 수 있다. 그러한 경우의 컨텍스트 설명은 저장되는 필드 또는 속성 값의 리스트와 그러한 컨텍스트에서 대응하는 요소들의 이름으로 구성된다. 위젯이 스크립트를 가지고 있을 때, 어떠한 것도 저장될 수 있으며, 스크립트의 내부적인 변수/상태도 포함한다.
포맷을 위해 필요한 것
국지적 사용(우선권 또는 실행 상태)을 위하여, 위젯 매니저가 자기 자신이 작성한 정보를 다시 로딩할 때 어떠한 포맷 정의도 필요하지 않다.
그러나, 우리가 가능한 다른 장치들, 가능한 다른 플랫폼 또는 OS 상에, 그리고 스크립트의 존재에 의존하지 않은 상태로 위젯 매니저들 간에 컨텍스트 파일을 교환할 필요가 있다면, 컨텍스트의 교환을 위하여 간단한 텍스트 포맷이 좋은 케이스이다.
'save and restore' 명령
'save and restore' 명령어는 애플리케이션에 의존하여 자동적으로 위젯 매니저에 의하여 관리된다. 그러나 컨텍스트 저장의 명시적 트리거링을 위한 경우가 있을 수 있다.
저장하는 공간과 찾는 방법
컨텍스트가 저장되는 공간에 대한 이슈는 국지적 상황에서는 발생하지 않는 다. 단지 세션 모빌러티에 있어, 위젯 매니저와 장치들 간에는, 컨텍스트를 찾을 필요가 있다.
해결책:
- 표준 URL을 갖는 별도의 파일
- manifest/context 요소에서URL을 갖는 별도의 파일
제안
우리는 아래와 같이 컨텍스트를 정의할 것을 제안한다.
8.4 위젯 컨텍스트
위젯 컨텍스트는 위젯이 비활성화 되거나 재활성화 될 경우 위젯의 현재 상태를 재생성할 필요가 있는 데이터 세트이다. 컨텍스트는 파일로서 저장되며, 컨텍스트 파일은 이름/값이 쌍으로 저장된다. 컨텍스트는 2가지 환경에서 사용될 수 있다.
스크립트가 사용될 때, 컨텍스트 파일의 포맷은 상술되지 않으며, 단지 xml 포맷에서 존재한다. 스크립트가 존재하지 않는다면, 아래와 같은 xml 포맷이 이용될 수 있다. 싱글 상위 요소 <context>는,강제적 속성인 "name"과 "value"와 함께, <param> 요소의 숫자를 포함할 것이다.
8.4.1 지속적 컨텍스트(Persistent context)
사용자가 위젯을 종료할 때 위젯으로 하여금 동일한 상태에서 그 활동이 재개되기를 원할 때, 컨텍스트는 지속적으로 시그널된다. 위젯 활성(activation)의 마지막에서, 컨텍스트 파일은 다시 로드될 것이다. 위젯 비활성 전에, 새로운 컨텍스트는 컨텍스트 파일에 저장된다.
8.4.2 세선 모빌러티
저자가 위젯을 하나의 장치에서 다른 장치로 동일한 실행 상태를 유지하면서 이동 할 수 있기를 원한다면, 컨텍스트 파일은 목적 장치에서 이용될 수 있도록 생성되어야 한다.
따라서 우리는 콘텍스트 디스크립션(context description)을 위젯의 manifest 부분에 정의하는 것을 제안한다.
11.23 <mw:context> 요소
Description:
<mw:context> 요소는 실행 컨텍스트(execution context)를 위한 위젯의 필요성이 있는지를 확인한다.
실행 콘텍스트(execution context)는 위젯의 현재 상태에 대한 정보의 집합이다.
이러한 위젯은 다음과 같이 동작한다. 위젯의 현재 상태가 지속적인 상태를 가지는 것으로 간주되면, 위젯은 저장하고 종료하는 것이 요구된다. 한편, 세션 모빌리티가 실행되는 경우, 위젯은 다른 디바이스에 전송한다. 콘텍스트는 URI에 접근 가능하도록 만들어진다. 이러한 URI는 위젯의 URI로 만들어지며, 콘텍스트 다음에 기록되어 진다.
Context:
<content> 요소의 하위 요소이다.
Expected children (in any order):
이것은 하나 또는 그 이상의 < mw:input > 요소를 포함한다.
논 스크립티드(non-scripted)의 경우, 콘텍스트 파일에서 < mw:input >의 이름은 <param> 요소의 이름에 매핑된다. 또한, <param> 요소의 값은 <scene> 요소와 동기되며, <scene> 요소는 <mw:input> 요소의 "setAttribute" 속성에 기술된 것이다.
Attributes:
mw:type
필수 속성. 지시 콘텍스트의 타입을 지시, 타입은 지속적(persistent) 또는 일시적(transient) 중 어느 하나가된다. 콘텍스트의 속성이 지속적이면, 콘텍스를 저장하고 종료함. 그리고 위젯이 다시 로딩되면 다시 로딩한다
mw:saveTrigger
옵션 속성. <scene> 생성의 이름을 지시. <scene> 생성의 이름은 콘텍스트 저장을 트리거하는데 사용된다.
위젯 집합(Widget aggregation)
이론적 근거
이러한 케이스를 사용하는 것은 위젯의 재사용이다 다른 위젯 내에서, 예컨 대, 어느 하나의 위젯이 파일 다이얼로그이면, 파일 URL을 필요로하는 다른 위젯에 의해 호출된다.
다음의 다양한 양상이 존재한다.
아이템 1. 위젯 A가 위젯 B에 의해 활성화된다. 그렇지 않으면, 위젯 B는 위젯 A의 일반 함수를 위한 현재 상태를 요구한다.
아이템 2. 위젯 B는 일정 시간 후 또는 일정 액션 뒤에 위젯 A의 비활성화를 요구한다.
아이템 3. 위젯 B는 어떤 방법으로 위젯 A의 변화를 원한다.
아이템 4. 위젯 B는 원한다 위젯 A를 다른 디바이스에 푸쉬하기를 원한다. 예컨대, 위젯 B는 TV 셋을 실행한다. 여기서, TV 셋은 터치스크린 기능을 구비하지 않은 TV이고, 그리고 위젯 A 및 위젯 B가 연결을 유지하는 동안 위젯 B는 터치스크린 기능을 가져오기 위해 위젯 A를 터치스크린 기능을 가지는 휴대 단말기에 위젯 A를 푸쉬한다.
아이템 5. 위젯 B는 활성화되어 있는 동안 위젯 A의 위치의 제어를 원한다,
아이템 1. 은 BONDI의 중요한 특징적 구성이다. BONDI는 모바일 플랫폼 사용을 위한 스크립트 인터페이스의 집합이다. 이러한 구성은 엄격히 제어되지 않은 경우, 잠재된 매우 심각한 위험을 가진다. 따라서 오로지 위젯 만이 활성 또는 비활성을 나타내는 목록에 기술해야하며, 그리고 이것은 반드시 인터페이스의 묶음을 통해 이루어져야함을 제안한다.
이 제안을 다음에 기술하였다. 위젯 B의 목록에는 위젯 B는 위젯 A에 의존하 며, 반드시 위젯 A와 인터페이스를 공유함을 기술된다. 인터페이스 X를 선언한 위젯 B는 위젯 A의 활성화를 가능하게 한다. 이때, 위젯 A는 인터페이스 X와 매핑됨을 선언한다. 그러면, 이러한 활성화는 위젯 매니저에 인터페이스 X의 서비스를 실행하는 위젯을 실행할 것을 요청함으로써 이루어진다. 이러한 활성화는 스크립트를 이용하거나, 또는 선언 이벤트를 통해 트리거 가능하게 된다.
아이템 2는 아이템 1과 같은 방법으로 해결된다.
위젯 A의 <scene> 요소 안에서 변경이 일어난다면, 아이템 3은 바운드 인터페이스의 일반적인 사용을 통해 해결된다.
아이템 4를 수용하기 위해 콤포넌트가 다른 디바이스로 푸쉬(push)되거나 익스포트(export)되는 시그날링이 필요하다.
제안
<mw:component>요소
Description:
<mw:componet> 요소는 이 위젯에 종속되는 다른 위젯과 식별하는데 사용한다. 이 목록이 로딩되자 마자, 위젯 매니저는 실제의 콤포넌트 위젯의 로딩 또는 활성화 없이 이 콤포넌트 위젯의 목록을 얻는다.
Context:
이것은 <content> 요소의 하위 요소이다.
Expected children (in any order):
없음.
Attributes:
mw:src
필수요소. 콤포넌트 위젯의 URI를 지시한다.
mw:id
필수요소. 콤포넌트 위젯의 식별자를 지시한다.
mw:exportable
옵션 불린값, 디폴트 값은 실패(false). 콤포넌트 위젯이 다른 디바이스에 푸쉬될 지 여부를 지시한다.
mw:activateTrigger
옵션. scene 생성의 이름을 지시. scene 생성의 이름은 컴포넌트 위젯의 활성화를 트리거하는데에 사용됨.
mw:deactivateTrigger
옵션. scene 생성의 이름을 지시. scene 생성의 이름은 컴포넌트 위젯의 비활성화를 트리거하는데에 사용됨.
mw:activatedAction
옵션. scene 생성의 이름을 지시. 콤포넌트 위젯의 성공적인 활성화를 노티함을 수신하기 위해 사용.
mw:deactivatedAction
옵션. scene 생성의 이름을 지시. 콤포넌트 위젯의 비활성화를 노티함을 수신하기 위해 사용.
InterfaceHandler 스크립트 인터페이스 추가하며, 다음의 <표 1>과 같다.
readonly attribute DOMString boundStatus;
InterfaceHandler 스크립트 인터페이스 추가한다. "boundStatus"은 바인딩 상태를 지시한다. 예컨대, 스크립트 인터페이스 "InterfaceHandler" 오브젝트에 의거한 외부의 통신 엔티티를 UPnP(Universal Plug and Play) 서비스 또는 위젯인지 여부를 지시한다. 그리고 위젯이 활성화되었는지 여부의 상태를 지시한다.
Widget 인터페이스에 다음의 <표 2>를 추가한다.
void activateWidget(DOMString componentID);
void deactivateWidget(DOMString componentID);
"activateWidget" 메쏘드는 위젯의 콤포넌트의 식별자로 사용되어진다. 이것은 콤포넌트 위젯이 활성화되는 것을 보장한다. 어느 일 위젯이 타 위젯을 사용할 가능성이 있는 경우, 이것은 실제의 로딩이나 활성화 없이 콤포넌트 요소를 선언할 때 유용하다. 먼저 메시지를 전송하기 전에 실제로 이 콤포넌트 위젯이 실제로 로딩되는지 보증하는 것이 필요하다.
deactivateWidget 메소드는 컴포넌트 식별자로 사용되며, 콤포넌트 위젯이 비활성화되는 것을 보장하기 위한 것이다. deactivateWidget 메소드는 어느 일 위젯을 활성화시키는 위젯만이 사용할 할 수 있다.
Add to the mw : interface element:
mw:connectTo
디폴트 값(default value)을 가지지 않는 선택적 스트링(Optional String)은 이러한 인터페이스가 다른 매칭 인터페이스보다 지명된 컴포넌트(named component)의 인터페이스를 매칭하도록 되어있을 것인지 여부를 지시한다.
복수의 예시 및 바인딩
원리
제1 사용 예시 : 위젯 A는 조명 스위치(light switch)이다. 위젯 A는 UPnP 조명을 토글(toggle)하기 위한 명령 인터페이스를 가진다. 위젯 A는 하나 이상의 조명을 위해 동작하도록 디자인된다. 상기 인터페이스는 복수의 UPnP 조명 서비스를 바인드(bind) 하도록 허용된다. 위젯 A는 오직 한 번만 예시될 수 있다.
제2 사용 예시 : 위젯 B는 조명 스위치이다. 위젯 B는 하나의 UPnP 조명을 토글하기 위한 명령 인터페이스를 가진다. 위젯 B는 오직 하나의 조명을 위해 동작하도록 디자인된다. 상기 인터페이스는 단일의 UPnP 조명 서비스를 바인드(bind) 하도록 허용된다. 상기 위젯 B는 발견된 UPnP 조명 당 한 번씩 예시될 수 있다.
저자의 바램 또는 필요에 따라, 상기한 예시의 어떠한 조합도 가능하다. 우리는 이것이 각각의 인터페이스에서 정의될 필요가 있다는 것을 제안한다. 디폴트에 의해, 인터페이스는 다른 방법으로 명백하게 지시되지 않는 이상 오직 한번 묶일 수 있다.
제안
"mw:interface:"에 불리안 필드 "multiBind"를 추가한다.
mw:multiBind
루프 회피
원리
임의의 메시지의 출력트리거(outputTrigger) 및 입력액션(InputAction) 둘 다 동일한 값을 가지는 경우, 대개 무한 루프에 트리거된다. 이러한 상황을 방지하기 위해, 저자의 자연스러운 반응은 그러한 구성(configuration)을 사용하도록 시도하는 것이기 때문에, 우리는 이러한 무한 루프를 금지하는 것을 선호한다.
제안
"messageIn" 및 "messageOut"에 아래와 같은 문장을 삽입하라:
만약 양쪽 속성(attribute)이 특정되면, 출력트리거(outputTrigger) 및 입력액션(InputAction)의 값이 다를 것이다.
미싱 파라미터(missing parameter)
원리
서비스 중, 출력 인수(output argument)가 선택적이라면, 그것은 메시지에서 미싱일 수 있다. 만약, 스크립트(script)가 위젯에서 연결된다면, 함수는 값을 필요로 하는 파라미터를 가진다. 이러한 경우, "mw:default attribute"가 제공된다면, 상기 값이 사용될 것이다.
서비스 인터페이스에서 출력 요소 프레즌트(output element present)를 매치시키는 인터페이스 선언에서 입력 요소가 없는 경우, 바인딩(binding)은 위젯이 당해 파라미터를 사용하지 않을 것이라는 가정을 계속해야 한다. 우리는 "mw:input"의 문구(semantics)에서 이러한 설명을 쓸 것을 제안한다.
메시지의 출력 인수(output argument)가 상수(constant)인 경우, 상기 출력 인수를 유용하지 않은 씬(scene)의 상수 필드(constant field)에 연결하는 것은 무용하다. 그 결과로, 상수 속성을 "mw:output"에 추가할 것을 제안한다.
제안
서비스 인터페이스에서 출력 요소 프레즌트(output element present)를 매치시키는 인터페이스 선언에서 입력 요소가 없는 경우, 바인딩(binding)은 위젯이 당해 파라미터를 사용하지 않을 것이라는 가정을 계속한다.
그리고:
mw:default
상기 속성(attribute)은 디폴트 값이 없는 것으로 선택 가능하다. 그것은 수신 메시지(incoming message)가 파라미터 매칭(선택적 파라미터의 경우)을 위한 값을 포함하지 않는 경우, 씬(Scene)에 제공되어야 하는 디폴터 값을 지시한다.
"mw:output" 의 추가
mw:constant
상기 속성(attribute)은 선택적이며, 디폴트 값을 가지지 않는다. 상기 속성(attribute)은 위젯의 씬 트리(scene tree) 연결에 대한 필요가 없고 상수 값이 메시지의 활성화에 제공되는 경우에, 상기 파라미터의 값을 지시한다.
속성 이름에서의 XML prefixes
원리
네임스페이스(namespace)를 가지는 XML 기술(description)의 경우, 속성(attribute)의 이름은 네임스페이스 프레픽스(namespace prefix)(xlink와 같이)를 포함할 수 있다. 만약, 이러한 속성 이름이 "config.xml" 파일에 언급될 필요가 있다면, 씬 기술(scene description)의 컨텍스트에서 해석되어야만 하는데 반하여, 상기 프레픽스가 "confiog.xml" 파일의 컨텍스트(context)에서 해석될 기회가 있다.
제안
네임스페이스(namespace)를 가지는 XML 기술(description)의 경우, 만약, 속성의 이름이 네임스페이스 프레픽스(namespace prefix)(xlink와 같이)를 포함하는 경우, 상기 프레픽스는 URL이 위젯 구성(configuration)에서 컨텐트 요소의 src 속성에서 주어지는 씬 기술 문서(scene description document) 내에서 해석된다. 상기 프레픽스는 구성 문서 내에서 해석되지 않을 것이다.
위젯 집합(Widget aggregation or Grouping Widget)
이론적 근거
위의 같이 사용되는 위젯 집합화의 보다 구체적인 실시예에 있어서,여러 가지 요소로 구분될 수 있다.
예를 들어, 홈 네트워크 상의 DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치가 존재하며, 각 DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치는 각각의 위젯이 존재한다. 모든 위젯 기반 장치들(DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치)은 DLNA 홈 네트워크 환경으로 그 연결(Connectivity)이 제공된다. 본 발명의 실시 예에 따르면, 기본적으로 DTV 상의 표현 되는 위젯((DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치)을 집합 위젯으로 생성하여, 사용자의 단순하고 쉬운 작동을 통해서 다양한 장치와 연결된 위젯들을 제어함으로써 사용자에게 사용의 편리성을 제공함에 있다.
이 경우, DTV에는 위젯 관리자(Wideget Manger) 기능을 담당하는 모듈이 있으며, 각 장치들은 각 장치의 기능을 표현할 수 있는 위젯을 포함하고 있다.
여기서, 위젯이라고 함은, 화면에 표현되는 GUI 속성 및 특정 기능을 수행할 수 있는 로직 중 적어도 하나를 포함하고 있다. 이러한 속성 및 로직은 상호 간의 통합 및 분리가 가능한 모듈이며, 속성 및 로직을 포함하는 위젯은 전송 및 통신이 가능하다.
첫 번째, 슈퍼 템플릿(Super-Template) 위젯을 제공하여, 상기의 기능을 제공하는 경우이다.
이 경우, DTV 상의 슈퍼 템플릿(Super-Template) 위젯이 존재하며, DTV의 위젯 매니저(Widget manger)는 홈 네트워크 상에서 발견된 위젯들의 각 구성 요소인 심플 위젯(Simple Widget)을 슈퍼 템플릿(Super-Template) 위젯 정보와 연결하여 하나의 집단 위젯을 생성할 수 있다. 예컨대, DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치의 위젯 중 선택된 일부 또는 전부로 집단 위젯을 생성할 수 있다.
생성된 슈퍼 템플릿(Super-Template) 위젯은 독립된 위젯으로 동작할 수 있으며, 타 장치(DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치)로 전송 가능하다.

Template-based, Widget Creator/ Widget Manager support the task template before the Grouping Widget.
<mw:template>
<mw:super-template>
<mw:simpleA>
<mw:simpleB>
<mw:simpleC>
</mw:super-template>
</mw:template>
추가적으로 위의 슈퍼 템플릿(super-template) 위젯과 심플(simple) 위젯과의 예는 상호간의 관련성을 표현하는 것으로, 마스터/슬레이브(Master/ Slave) 구조 등으로 표현될 수 있으며, 위젯은 GUI 및 기능 요소로 통합/분리되어 적용 될 수 있다. 또한 위젯의 GUI 및 기능 요소는 그 위젯을 구성하는 요소 단위 별로 구분될 수 있다.

- Element-based
Widget Manager can select the element by defined aggregation attribute

<mw:component aggregate ="true">
<mw:messageIn name="setSize"inputAction="setWidthAndHeight">
<mw:input name="width"scriptParamType="number"/>
<mw:input name="height"scriptParamType="number"/>
<mw:output name="errorCode"scriptParamType="number"/>
</mw:messageIn>
</mw:component>

-Master/Slave-based

</mw:interface>
<mw:interface type="urn:mpeg:systems:widgets:core:out" aggregate="master">
<messageOut name="setSize">
<output name="width"scriptParamType="number"/>
<output name="height"scriptParamType="number"/>
</messageOut>
</mw:interface>
<mw:interface type="examples" aggregate="slave">
<mw:messageOut name="messageA" outputTrigger="unloader.click"
inputAction="nodeID.end">
<mw:output name="name"attributeModified="eltAName.textContent"/>
<mw:output name="value"attributeModified="eltBValue.textContent"/>
<mw:input name="returnCode"/>
</mw:messageOut>
</mw:interface>
두 번째, DTV 상의 위젯 매니저(Widget Manger)가 각 위젯의 특성 및 연관 정보를 분석하여, 새로운 위젯을 생성하는 경우이다.
상기의 실시예에서와 같이, DTV상의 위젯 매니저(Widget Manager)가 각 위젯들을 검색하고 분석하여 각 모듈별 특성 및 연관 정보를 수집한다.
수집된 연관 정보, 예를 들어, 각 모듈의 GUI 별 연결 가능 관계, 기능별 수행 가능 관계 등을 위젯 매니저(Widget Manger)가 분석한다. 연관 정보는 의미상의 단어에서부터 기능별 특성 정보까지를 의미한다.
DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치 위젯이 존재하며, 각 위젯은 다음과 같은 대표적인 기능을 가진다고 가정한다. 즉, DVD Player는 DVD 재생, DTV는 화면의 종횡비율조절(16:9 또는 4:3), 조명 조절 스위치는 조명 켜기 및 끄기의 기능을 가진다고 가정한다. 그러면, 위젯 매니저는 이러한 위젯들을 검색하고 분석하여, 각 위젯들의 연관 정보를 수집하여, 상술한 기능들을 통합하는 하나의 기능을 생성할 수 있다. 예컨대, 위젯 매니저는 "DVD 영화 시청 하기"라는 기능을 생성하고, 사용자가 이 기능을 선택하는 경우, 영화 시청에 적합하도록, DVD Player의 DVD 재생, DTV의 화면의 종횡비율을 16:9조절, 조명 조절 스위치는 조명 끄기의 기능을 동시에 수행할 수 있도록 하는 새로운 기능을 생성할 수 있다. 이는 각 기능별 조합 및 기능 분석에 따라 새로운 기능을 수행 할 수 있음을 의미한다.

- Task-based (something like a table structure), Widget Manager already know the relationship between each group.

<mw:group>
<mw:aggregation category="UPnP AV"id="widget_TV" relationship="T1">
<mw:interface type="setPlay()">
</mw:group>
<mw:aggregation groupList="T1">
<mw:relationship name="UPnP MS"id="
</mw:aggregation>
본 발명에서는 상기와 같이, 집합 위젯을 생성 하고 통신하는 방법에 있어 위젯 매니저(Widget Manger) 혹은 각 위젯의 구성 요소들을 정의함으로써, 위젯 간의 집합 위젯 혹은 이를 통한 통신 방법을 제공한다.
제안
<mw:component> 요소
Description:
<mw:componet> 요소는 이 위젯에 종속되는 다른 위젯과 식별하는데 사용한다. 이 목록이 로딩되자 마자, 위젯 매니저는 실제의 콤포넌트 위젯의 로딩 또는 활성화 없이 이 콤포넌트 위젯의 목록을 얻는다.
Context:
이것은 <content> 요소의 하위 요소이다.
Expected children (in any order):
없음.
Attributes:
mw:super-template
필수요소. Super-Template 위젯임을 지시한다.
mw:simpleID
필수요소. 발견된 콤포넌트 위젯의 식별자를 지시한다.
도 1은 본 발명의 실시 예에 따른 위젯 생성 방법을 설명하기 위한 도면이다.
도 1에서 장치들은, 각 DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치가 존재하며, 각각의 장치들은 위젯을 가진다고 가정한다.
위젯 클라이언트(100)는, DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치의 위젯 중 어느 하나가 될 수 있다. 특히, 위젯 클라이언트는 위젯 관리자 및 슈퍼 템플릿을 포함한다. 또한, 위젯 서버(200, 210, 220)는 DTV, DVD Player, 5.1 Sound system, 조명 조절 스위치의 위젯 중 어느 하나가 될 수 있다.
도 1에서는 위젯 클라이언트(100)를 DTV로 가정하며, 위젯 서버 1(210)을 DVD player로 위젯 서버 2(220)를 조명 조절 스위치로 가정한다.
도 1을 참조하면, 위젯 클라이언트(Widget Client)는 S101 단계에서 위젯 모음 명령 이벤트를 발생한다. 그런 다음, 위젯 클라이언트(100)의 위젯 매니저는 S103 단계에서 주변의 위젯들을 발견하는 위젯 발견 과정을 수행한다. 이때, 위젯 발견 과정에서 위젯 클라이언트(100)은 위젯 서버 1 및 위젯 서버 2(210, 220)을 발견하였다고 가정한다.
그러면, 위젯 서버(210, 220)는 S105 단계에서 자신의 위젯을 위젯 클라이언트(100)에 제공한다. 즉, 위젯 서버(210, 220)는 위젯을 위젯 클라이언트(100)에 전송한다.
이러한 위젯을 수신한 위젯 클라이언트(100)의 위젯 매니저는 S107 단계에서 해당 위젯을 인스톨한다. 즉, 위젯 매니저는 수신한 위젯에서 데이터를 추출한다.
그런 다음, 위젯 클라이언트(100)의 위젯 매니저는 S109 단계에서 인스톨한 위젯을 분석한다. 즉, 위젯 매니저는 위젯의 특성, 연관 정보 등 집합 위젯을 위한 메타데이터를 추출하는 것을 통해 해당 위젯을 분석한다.
위젯 클라이언트(100)의 위젯 매니저는 S111 단계에서 관련 위젯을 모아서 집합 위젯 생성을 위한 그룹핑(Widget Grouping)을 수행한다. 이때, 그룹핑은 위젯의 분석에 의거하여 기 설정된 기준에 따라 그룹핑을 수행할 수 있다. 이때, 그룹핑은 관련 위젯 및 사용자 지정 집합 위젯을 선택하는 것을 의미하며, 관련 위젯의 일 예로 속성 및 기능이 관련이 있음을 예시할 수 있다. 또한, 사용자 지정 집합 위젯은 사용자가 해당 위젯들을 그룹핑하도록 설정해 놓은 것을 의미한다.
다음으로, 위젯 클라이언트(100)의 위젯 매니저는 S113 단계에서 앞서 그룹핑한 위젯을 집합 위젯으로 생성한다. 이때, 위젯 매니저는 슈퍼 템플릿을 이용하여 집합 위젯을 생성하며, <표 3>의 "<mw:simpleA>", "<mw:simpleA>", "<mw:simpleC>" 등에 해당 위젯을 포함시켜 집합 위젯을 생성할 수 있다. 이때, 집합 위젯 중 어느 하나는 DTV의 화면종횡부 조절 기능, DVD player의 DVD 재생 기능, 및 조명 조절 스위치의 조명 온 오프 기능을 가지는 "DVD 영화 시청 하기" 기능을 가진다고 가정한다.
이때, 사용자가 "DVD 영화 시청하기" 기능을 선택하였다고 가정한다. 그러면, 사용자에 의해 "DVD 영화 시청하기" 이벤트가 발생한다. 그러면, 위젯 클라이언트(100)의 위젯 매니저는 S115 단계에서 사용자로부터 수신받은 이벤트를 통해 집합 위젯 이벤트를 각 위젯에 대한 이벤트로 구분하는 필터링을 수행한다. 즉, DVD 영화 시청하기를 종횡비 16:9로 변경, DVD 재생, 조명 오프 이벤트로 구분하고, 집합 위젯 이벤트를 원 위젯 이벤트와 연관시킨다.
그런 다음, 위젯 클라이언트(100)의 위젯 매니저는 S117 단계에서 앞서 해당 기능을 실행하도록 필터링을 통해 구분한 각 위젯의 기능 수행을 위한 이벤트를 각 위젯 서버(210, 220)에 전송한다.
이를 수신한 각 위젯 서버(210, 220)는 해당 이벤트를 처리하고, S119 단계에서 이벤트 처리 결과를 위젯 클라이언트(100)의 위젯 매니저에 전송한다. 위젯 클라이언트(100)의 위젯 매니저는 S121 단계에서 전송 받은 처리 결과를 토대로 해당 이벤트를 처리한다.
즉, 각 위젯 서버(210, 220)에서 DVD를 재생하고, 조명을 끄고, 해당 처리 결과를 DTV에 전송하면, DTV는 화면의 비를 6:4에서 16:9로 변경한다.
도 2는 본 발명의 실시 예에 따른 위젯 그룹 생성 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 위젯 클라이언트(100)가 S201 단계에서 위젯 서버(200)로부터 복수개의 위젯인 위젯 패키지를 수신한다.
이어서, 위젯 파서는 S203 단계에서 복수의 위젯을 파싱하고, 파싱한 각 위젯을 분석한다.
그런 다음, S205 단계에서 분석한 각 위젯이 미리 등록되어 있는지를 판단한다. 등록되어 있지 않은 경우, S207 단계에서 위젯을 등록한다. 등록은 위젯 라이브러리(Widget Library) 및 메타데이터를 등록하는 것을 포함한다.
특히, 등록시, 관련 위젯의 등록 정보 분석 및 연관 데이터 추출 결과가 위젯 클라이언트(100)의 위젯 매니저에게 통보된다. 이때, 분석한 결과에 따라 그룹핑 가능한 위젯 리스트, 각 위젯의 속성, 및 기능들이 저장된다.
그러면, 위젯 매니저는 S209 단계에서 분석된 위젯들을 그룹핑한다.
그런 다음, 위젯 매니저는 S211 단계에서 그룹핑(Grouping) 가능한 위젯 리스트 및 기능 정보를 바탕으로 집합 위젯을 생성한다.
이때, 위젯 클라이언트(Widget Client)의 위젯 매니저(Widget Manager)는 집합 위젯 생성을 위한 슈퍼 템플릿(Super-Template) 위젯과 기능 통합 모듈을 구분하여 새로운 혹은 변환 위젯을 생성한다. 각 위젯의 기능을 통합하여 새로운 위젯을 생성하는 것은 집합 위젯 생성과 동시에 또는 순차로 수행될 수 있다.
그런 다음, 위젯 클라이언트는 S213단계에서 집합 위젯의 생성 결과물을 프리젠테이션 엔진(presentation engine)을 통해 사용자에게 표현한다.
도 3은 본 발명의 실시 예에 따른 집합 위젯 실행 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 위젯 클라이언트는 위젯 패키지를 수신하면, S301 단계에서 수신한 위젯 패키지를 파싱한다. 그런 다음, 위젯 클라이언트는 S303 단계에서 파싱한 위젯의 종류를 분석하고, S305 단계에서 위젯의 GUI 속성 및 특정 기능을 수행하는 로직 등으로 구분하여 분석한다.
그런 다음, 위젯 클라이언트는 S307 단계에서 집합 위젯이 필요한지 여부를 판단한다. 이때, 집합 위젯이 필요한 경우, S309 단계에서 집합 위젯을 생성한다.
그런 다음, 위젯 클라이언트는 S311 단계에서 위젯을 표시한다. 집합 위젯을 생성한 경우 집합 위젯을 표시하며, 그렇지 않은 경우, 일반적인 위젯을 표시한다. 이때, 집합 또는 일반 위젯의 표시는 프리젠테치션 엔진(Presentation engine)을 통해 표시한다.
그런 다음, 위젯 클라이언트는 S313 단계에서 사용자의 입력이 있는지 감지한다.
사용자의 입력이 있는 경우, 위젯 클라이언트는 S315 단계에서 해당 입력이 집합 위젯의 기능 실행을 위한 이벤트인지 판단한다.
이때, 해당 입력이 집합 위젯의 기능 실행을 위한 이벤트이면, 위젯 클라이언트는 S317 단계에서 집합 위젯 이벤트에 따른 기능을 실행한다. 즉, 위젯 클라이언트는 집합 위젯 이벤트로부터 단순 위젯 이벤트 추출하여 각 위젯 서버에 전송하고, 각 위젯 서버로부터 그 이벤트 처리에 대한 응답을 받은 후, 위젯 클라이언트는 S319 단계에서 자신의 위젯의 기능을 실행하는 이벤트를 처리한다.
한편, 해당 기능이 집합 위젯의 기능 실행을 위한 이벤트가 아닌 경우, 위젯 클라이언트는 S317 단계를 거치지 않고, S319 단계에서 해당 기능을 수행한다.
이상 본 발명을 몇 가지 바람직한 실시 예를 사용하여 설명하였으나, 이들 실시 예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
도 1은 본 발명의 실시 예에 따른 위젯 생성 방법을 설명하기 위한 도면.
도 2는 본 발명의 실시 예에 따른 위젯 그룹 생성 방법을 설명하기 위한 도면.
도 3은 본 발명의 실시 예에 따른 집합 위젯 실행 방법을 설명하기 위한 도면.

Claims (12)

  1. 위젯 클라이언트에서 집합 위젯을 생성하기 위한 방법에 있어서,
    위젯 클라이언트가 위젯 클라이언트의 주변에 위치한 적어도 하나의 외부 위젯 서버로부터 해당 위젯 서버를 제어할 수 있는 적어도 하나의 위젯을 수신하는 단계;
    상기 수신된 위젯과 상기 위젯 클라이언트에 기 저장된 위젯들의 메타데이터를 추출하여 분석하는 단계;
    상기 추출된 메타데이터의 분석에 근거하여 상기 위젯들 상호간 적어도 하나의 속성과 기능들이 관련된 위젯들을 하나의 상기 집합 위젯으로 그룹핑하는 단계;
    사용자로부터 상기 집합 위젯의 실행 이벤트가 수신될 시 상기 집합 위젯 내의 상기 위젯들 중 상기 위젯 서버를 제어하기 위한 위젯에 대한 단순 위젯 이벤트를 추출하는 단계;
    상기 집합 위젯 내의 각 위젯들 중 상기 위젯 서버를 제어하기 위한 위젯은 추출된 단순 위젯 이벤트를 해당하는 위젯 서버로 전송하는 단계;를 포함하는, 위젯 생성 방법.
  2. 제1항에 있어서,
    상기 위젯들을 수신하는 단계는,
    상기 위젯 서버를 탐색하는 단계; 및
    상기 탐색된 위젯 서버로부터 위젯을 수신하는 단계;를 포함하는, 위젯 생성 방법.
  3. 제1항에 있어서,
    상기 위젯 서버로부터 위젯들을 수신한 후 상기 수신된 위젯들의 분석 전에 상기 수신된 위젯들을 인스톨하는 단계를 더 포함하는, 위젯 생성 방법.
  4. 제1항에 있어서, 상기 위젯을 분석하는 단계는,
    상기 수신된 위젯들을 파싱하여 분석하는, 위젯 생성 방법.
  5. 제1항에 있어서,
    상기 위젯의 분석 시, 상기 수신된 위젯들이 이전에 저장된 위젯들인지를 판별하는 단계; 및
    상기 위젯들이 이전에 저장된 위젯들이 아닌 경우 상기 분석된 위젯들을 저장하는 단계;를 더 포함하는, 위젯 생성 방법.
  6. 제1항에 있어서,
    상기 집합 위젯으로 그룹화된 위젯들을 활성화한 후 프레젠테이션 엔진을 이용하여 활성화된 집합 위젯을 표시하는 단계;를 더 포함하는, 위젯 생성 방법.
  7. 집합 위젯을 생성하기 위한 장치에 있어서,
    위젯들을 전송하기 위한 제어부를 갖는 적어도 하나의 위젯 서버; 및
    하드웨어 제어기를 갖는 위젯 클라이언트를 포함하며,
    상기 위젯 클라이언트는,
    상기 위젯 클라이언트의 주변에 위치한 적어도 하나의 외부 위젯 서버로부터 상기 위젯 서버를 제어할 수 있는 적어도 하나의 위젯을 수신하고, 상기 수신된 위젯과 상기 위젯 클라이언트에 기 저장된 위젯들의 메타데이터를 추출하여 분석하며, 상기 추출된 메타데이터의 분석에 근거하여 상기 위젯들 상호간 적어도 하나의 속성과 기능들이 관련된 위젯들을 하나의 상기 집합 위젯으로 그룹핑하고, 사용자로부터 상기 집합 위젯의 실행 이벤트가 수신될 시 상기 집합 위젯 내의 상기 위젯들 중 상기 위젯 서버를 제어하기 위한 위젯에 대한 단순 위젯 이벤트를 추출하고, 상기 집합 위젯 내의 각 위젯들 중 상기 위젯 서버를 제어하기 위한 위젯은 추출된 단순 위젯 이벤트를 해당하는 위젯 서버로 전송하는, 위젯 생성 장치.
  8. 제7항에 있어서, 상기 위젯 클라이언트는,
    상기 위젯들을 수신하는 시, 상기 위젯 서버를 탐색하여, 상기 탐색된 위젯 서버로부터 위젯을 수신하는, 위젯 생성 장치.
  9. 제7항에 있어서, 상기 위젯 클라이언트는,
    상기 위젯 서버로부터 위젯들을 수신한 후 상기 수신된 위젯들의 분석 전에 상기 수신된 위젯들을 인스톨하는, 위젯 생성 장치.
  10. 제7항에 있어서, 상기 위젯 클라이언트는,
    상기 수신된 위젯들을 파싱하여 분석하는, 위젯 생성 장치.
  11. 제7항에 있어서, 상기 위젯 클라이언트는,
    상기 위젯의 분석 시, 상기 수신된 위젯들이 이전에 저장된 위젯들인지를 판별하고, 상기 위젯들이 이전에 저장된 위젯들이 아닌 경우 상기 분석된 위젯들을 저장하는, 위젯 생성 장치.
  12. 제7항에 있어서, 상기 위젯 클라이언트는,
    상기 집합 위젯으로 그룹화된 위젯들을 활성화한 후 프레젠테이션 엔진을 이용하여 활성화된 집합 위젯을 표시하는, 위젯 생성 장치.
KR1020090099940A 2009-06-15 2009-10-20 위젯 생성 및 통신 방법 KR101961741B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/815,658 US8954489B2 (en) 2009-06-15 2010-06-15 Widget activation and communication method
EP10789689.6A EP2443539B1 (en) 2009-06-15 2010-06-15 Widget activation and communication method
PCT/KR2010/003835 WO2010147362A2 (en) 2009-06-15 2010-06-15 Widget activation and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090053113 2009-06-15
KR1020090053113 2009-06-15

Publications (2)

Publication Number Publication Date
KR20100134495A KR20100134495A (ko) 2010-12-23
KR101961741B1 true KR101961741B1 (ko) 2019-03-25

Family

ID=43509418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090099940A KR101961741B1 (ko) 2009-06-15 2009-10-20 위젯 생성 및 통신 방법

Country Status (4)

Country Link
US (1) US8954489B2 (ko)
EP (1) EP2443539B1 (ko)
KR (1) KR101961741B1 (ko)
WO (1) WO2010147362A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100048965A (ko) * 2010-03-12 2010-05-11 블루가 (주) 웹 기반 사용자 인터페이스 구현 장치 및 그 방법
KR101660746B1 (ko) * 2010-08-24 2016-10-10 엘지전자 주식회사 이동 단말기 및 이것의 애플리케이션 지시자 설정 방법
US20140067899A1 (en) * 2012-09-05 2014-03-06 Pantech Co., Ltd. Apparatus and method for controlling widget service
KR102067661B1 (ko) 2013-05-23 2020-01-17 에스케이플래닛 주식회사 위젯 저작 시스템 및 방법
KR102147686B1 (ko) * 2013-06-21 2020-08-26 삼성전자주식회사 오브젝트 실행 장치 및 방법
KR102306536B1 (ko) 2015-04-01 2021-09-29 삼성전자주식회사 위젯 제공 시스템 및 방법
KR102656911B1 (ko) 2016-09-26 2024-04-16 삼성전자주식회사 웨어러블 장치 및 이의 위젯 제공 방법
US10671236B2 (en) * 2018-09-20 2020-06-02 Salesforce.Com, Inc. Stateful, contextual, and draggable embedded widget
KR20200128236A (ko) 2019-04-23 2020-11-12 (주)엔키아 머신 러닝 기반의 자동 위젯 적용 장치 및 방법
US11949761B2 (en) * 2021-07-29 2024-04-02 Oracle International Corporation Techniques for distributed interface component generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130541A1 (en) 2004-06-25 2007-06-07 Louch John O Synchronization of widgets and dashboards

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490295B2 (en) * 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US20080010130A1 (en) * 2006-06-15 2008-01-10 Nokia Corporation Auctions for widget space
US9002726B2 (en) * 2006-06-19 2015-04-07 Nokia Corporation Advertising based on widgets
KR20080001290A (ko) * 2006-06-29 2008-01-03 삼성전자주식회사 사용자의 요구에 따른 기능의 조합을 제공하는 시스템,장치 및 방법
US20080082627A1 (en) * 2006-09-29 2008-04-03 Allen Stewart O Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation
KR20080051679A (ko) * 2006-12-06 2008-06-11 에스케이 텔레콤주식회사 실시간 관심정보 획득 방법 및 시스템
US8117555B2 (en) * 2006-12-07 2012-02-14 Sap Ag Cooperating widgets
US10007895B2 (en) * 2007-01-30 2018-06-26 Jonathan Brian Vanasco System and method for indexing, correlating, managing, referencing and syndicating identities and relationships across systems
US8104044B1 (en) * 2007-07-31 2012-01-24 Amazon Technologies, Inc. System and method for client-side widget communication
WO2009020332A2 (en) 2007-08-06 2009-02-12 Samsung Electronics Co, . Ltd. Method and apparatus for providing/receiving web-based service of plurality of service providers
KR101496326B1 (ko) * 2007-08-06 2015-03-05 삼성전자주식회사 복수의 서비스 제공자의 웹 기반 서비스를 제공/수신하기위한 방법 및 장치
US8352966B2 (en) 2007-09-11 2013-01-08 Yahoo! Inc. System and method of inter-widget communication
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US8196112B1 (en) * 2008-02-15 2012-06-05 Amazon Technologies, Inc. Systems and methods for testing widgets in computer environments
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
JP5226588B2 (ja) * 2008-04-14 2013-07-03 キヤノン株式会社 情報処理装置及びその制御方法
US8584082B2 (en) * 2008-06-12 2013-11-12 Serena Software, Inc. System for dynamic discovery, configuration, and development of process-bound widgets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130541A1 (en) 2004-06-25 2007-06-07 Louch John O Synchronization of widgets and dashboards

Also Published As

Publication number Publication date
US8954489B2 (en) 2015-02-10
EP2443539B1 (en) 2018-11-14
EP2443539A2 (en) 2012-04-25
US20100318601A1 (en) 2010-12-16
KR20100134495A (ko) 2010-12-23
WO2010147362A3 (en) 2011-03-31
EP2443539A4 (en) 2015-05-27
WO2010147362A2 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
KR101961741B1 (ko) 위젯 생성 및 통신 방법
US9442687B2 (en) Method and apparatus for moving web object based on intent
US9069735B2 (en) Systems and methods for integrated application platforms
US8370826B2 (en) Automatically managing versioning of mashup widgets
US8880678B1 (en) System and method for managing and monitoring a web application using multiple cloud providers
CN103425484B (zh) 跨越多个装置的菜单定制的管理
CN101226530B (zh) 具有采用抢占式同步顺序优先化的同步功能的媒体***
US20100023873A1 (en) Method and apparatus for providing toolbar service
US20080178198A1 (en) Distributed digital media management
US10275398B2 (en) Content display device, content display method, and content display program
JP2008520029A (ja) コンテンツを追跡する方法、装置及びソフトウェア
CN103425483B (zh) 用于动态地定制菜单的方法和存储介质
US20140026067A1 (en) Method and apparatus for processing movement of web object based on intent
WO2006062375A1 (en) Structure of objects stored in a media server and improving accessibility to the structure
US8782167B2 (en) Transmission apparatus, transmission method, and transmission system to transmit identification information for virtual directory
US8813026B1 (en) Methods and apparatus for storing information for components of a system in model component files to provide a world view of the system
US20130346582A1 (en) Deployment of services on a set of real objects with automatic matching
JP4927830B2 (ja) データ言語における変数の自動更新
CN105791360A (zh) 跨设备的浏览器功能分享方法和***
WO2008113642A1 (en) A method for providing interaction between a first content set and a second content set
KR101451850B1 (ko) 임베디드 시스템, 임베디드 디바이스 및 그의 메뉴 처리방법
Mawlood-Yunis Content Provider, Service, Message Broadcasting, and Multimedia Player
KR101401236B1 (ko) 인텐트에 기반하여 이동된 웹 객체를 처리하는 방법 및 장치
JP5650877B2 (ja) 複数のコンピューティング機能ソースを用意するための装置及び方法
CN116932950A (zh) 一种页面加载方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101001550; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20170330

Effective date: 20181212

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant