KR101083094B1 - 네트워크 구축 및 관리 프로토콜 - Google Patents

네트워크 구축 및 관리 프로토콜 Download PDF

Info

Publication number
KR101083094B1
KR101083094B1 KR1020057002148A KR20057002148A KR101083094B1 KR 101083094 B1 KR101083094 B1 KR 101083094B1 KR 1020057002148 A KR1020057002148 A KR 1020057002148A KR 20057002148 A KR20057002148 A KR 20057002148A KR 101083094 B1 KR101083094 B1 KR 101083094B1
Authority
KR
South Korea
Prior art keywords
message
device type
type
description
controller
Prior art date
Application number
KR1020057002148A
Other languages
English (en)
Other versions
KR20050084798A (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
Priority claimed from GBGB0218174.1A external-priority patent/GB0218174D0/en
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050084798A publication Critical patent/KR20050084798A/ko
Application granted granted Critical
Publication of KR101083094B1 publication Critical patent/KR101083094B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • 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
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Facsimiles In General (AREA)

Abstract

본 발명은 네트워크된 디바이스들간의 통신을 위한 프로토콜에 관한 것이다. 디바이스들은 어떤 다른 디바이스 타입에도 종속하지 않는 제어기 디바이스 타입(52) 및 다수의 다른 디바이스 타입들이 종속하는 기본 디바이스 타입(54)을 포함하는 디바이스 타입들의 계층으로서 논리적으로 구성된다. 디바이스들은 고정된 길이 및 디바이스 타입을 포함하는 포맷의 간단한 디바이스 기술 메시지를 실행하고, 일부 디바이스들은 부가된 정보를 포함하는, 확장된 디바이스 기술 메시지를 또한 실행한다.
프로토콜, 디바이스 타입, 포맷, 간단한 디바이스 기술 메시지, 확장된 디바이스 기술 메시지

Description

네트워크 구축 및 관리 프로토콜{A network establishment and management protocol}
본 발명은 네트워크 프로토콜 및 특히, 프로토콜의 구현들에 관한 것이다.
네트워크 관리를 위한 종래 기술의 프로토콜은 대역폭, 배터리 소모 및 한도 비용(extent cost)이 문제가 되지 않는 인터넷 애플리케이션들에 매우 유용한 범용 플러그 엔 플레이(universal plug and play; UPnP)이다. 가전 제품(CE: Consumer Electronics)에서 프로토콜의 실행이 있지만, 프로토콜의 범위 때문에, 프로토콜의 범위와 달리 최소 처리 기능만을 필요로 할 것인 간단한 디바이스들에 대해서 그러한 실행은 특히 과부하를 부과한다.
따라서, 조명들, 자동 온도 조절 장치들 및 CE 장비(TV, DVD 및 PVR 용 원격 제어 디바이스)와 같은 간단한 디바이스들에 임베딩하기에 적합한 프로토콜로서, 실행하기에 간단하고 비용 효율적이고, 최소 대역폭을 필요로 하며, 그러나 가변적인 기능을 갖는 디바이스의 범위 전반에 대해 조정 가능한, 상기 프로토콜에 대한 필요성이 있다.
이러한 필요성은 무선 응용에 제한되지 않고, 유선 응용들로 확장된다.
본 발명의 제 1 측면에 따라 간단한 디바이스 기술(description) 메시지 신호(230)가 기록된 매체로서:
상기 메시지 신호는,
디바이스 타입;
전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지를 나타내는 필드; 및
규정된 수의 부가적인 상태 설정들을 식별하는 규정된 수의 부가적인 필드들의 데이터를 포함하며,
상기 디바이스 타입은, 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과 보조 디바이스 타입의 적어도 하나의 추가적인 레벨을 갖는 디바이스 타입 계층으로부터 선택되며, 상기 보조 디바이스 타입은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 간단한 디바이스 기술 메시지 신호가 기록된 매체가 제공된다.
기본 디바이스 타입에 종속하는 적어도 하나의 계층 즉, 제어된 디바이스들의 계층이 있지만, 제어기 디바이스들의 대응하는 계층이 없다는 것을 주목해야 한다. 이것은 가능한 짧고 간단한, 간단한 디바이스 기술 메시지들을 유지하고- 범용 원격 제어기와 같은 많은 제어기들이 다수의 상이한 디바이스 타입들을 제어할 수 있다.
상기 간단한 디바이스 기술은 각 필드가 고정된 길이인 작거나 중간 정도의 수의 미리 결정된 필드들을 포함한다. 일반적으로 어떤 변동이 있을 수 있지만, 동일 필드들이 각 메시지에 대해 이용될 수 있다. 예를 들어, 복합 디바이스는 아래에서 설명된 서브-디바이스들(sub-devices)의 수를 포함하는 부가의 정수 필드를 포함할 수 있다.
상기 부가된 필드의 일부는 선택적일 수 있다. 예를 들어, 상기 메시지는 복합 디바이스중 서브 디바이스들의 수를 나타내기 위한 필드를 포함할 수 있다. 네트워크 오버헤드를 감소시키기 위해, 이 필드는 복합으로 기록된 디바이스 타입을 구비한 메시지의 경우에만 포함될 수 있다.
특히 바람직한 실시예에서, 본 발명의 애플리케이션은 홈 표준 제어 언어(home uniform control language; HUCL)로 언급될 프로토콜에 관한 것이다. 메시지 신호는 HUCL에 의해 제공된 간단한 기능을 실행한다.
바람직하게, 간단한 디바이스 기술 메시지는 토큰-압축된 메시지의 형태이다. HUCL 프로토콜에 따라, 기본 메시지 포맷은 XML과 같은 인간이 판독 가능한 포맷이다. 하지만, 대역폭을 아끼기 위해, 메시지들은 압축된 형태로 네트워크된 디바이스들간에 전달된다. 그럼에도 불구하고, 네트워크된 디바이스는 그와 같은 압축된 메시지들을 처리할 수 있는데, 압축 방법이 공통 스트링들을 토큰들로 대체하는 토큰 압축이기 때문이다. 따라서, 상기 네트워크된 디바이스는 적어도 간단한 디바이스 기술의 응답을 요청하는 질의를 인식하기에 충분하여, 압축 해제없이 상기 압축된 토큰들을 인식하고 그 후, 간단한 디바이스 기술로 응답할 수 있다. 따라서, 네트워크된 디바이스는 거의 오버헤드 없이 실행될 수 있다.
토큰 코딩의 적합한 형태는 http://www.w3.org/TR/wbxml에서 이용 가능한 1999년 6월 24일의 "wap binary XML content format"에서 기술된다.
제 2 측면에서, 본 발명은 규정된 길이의 간단한 디바이스 기술 메시지(230)를 전송하거나 수신하는 단계를 포함하며,
상기 간단한 디바이스 기술 메시지는 인간이 판독 가능한(human-readable) 메시지 포맷으로부터 압축된, 토큰-압축된 메시지의 형태이고, 상기 메시지는 다른 디바이스 타입을 나타내는 디바이스 타입 값을 포함하며, 상기 디바이스 타입 값은, 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과, 보조 디바이스 타입의 적어도 하나의 추가적인 레벨을 갖는 디바이스 타입 계층으로부터 선택되며, 상기 보조 디바이스 타입은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 네트워크된 디바이스의 동작 방법에 관한 것이다.
제 3 측면에서, 본 발명은 규정된 길이의 간단한 디바이스 기술 메시지를 전송하거나 수신하도록 구성된 메시지 처리기를 포함하고, 상기 간단한 디바이스 기술 메시지는 인간이 판독 가능한 메시지 포맷으로부터 압축된, 토큰-압축된 메시지의 형태이고, 상기 메시지는 다른 디바이스 타입을 나타내는 디바이스 타입 값을 포함하며, 상기 디바이스 타입 값은, 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨을 갖는 디바이스 타입 계층으로부터 선택되며, 상기 적어도 하나의 추가적인 레벨의 보조 디바이스 타입들은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 메시지 처리기를 포함하는, 대응하는 디바이스에 관한 것이다.
네트워크된 디바이스의 동작의 방법은 적합한 응답들을 갖는 인입하는 질의 메시지들에 응답하는 네트워크된 디바이스에 관한 것일 수 있다. 따라서, 상기 방법은 간단한 디바이스 기술을 요청하는 다른 디바이스로부터의 간단한 디바이스 기술 질의 메시지를 수신하는 단계; 및 고정된 길이의 상기 간단한 디바이스 기술 메시지를 상기 다른 디바이스에 전송하는 단계를 포함할 수 있다.
본 발명은 또한 다른 디바이스의 디바이스 타입을 결정하는 방법에 관한 것이고, 따라서 본 발명은 적어도 하나의 다른 디바이스의 주소를 확립하는 단계; 간단한 디바이스 기술 질의 메시지를 간단한 디바이스 기술을 요청하는 상기 다른 디바이스 또는 하나 이상의 상기 다른 디바이스들에 전송하는 단계; 상기 간단한 디바이스 기술 메시지를 상기 다른 디바이스 또는 디바이스들로부터 수신하는 단계를 포함할 수 있다.
간단한 디바이스 기술 질의 메시지들에서 이용 가능한 것보다 더 많은 정보를 발견하기 위해, 상기 방법은 확장된 디바이스 기술 질의 메시지를, 상기 다른 디바이스들로부터 확장된 디바이스 기술 메시지를 요청하는 상기 다른 디바이스 또는 상기 다른 디바이스들 중 하나에 전송하는 단계; 및 가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스 또는 상기 다른 디바이스들 중 하나로부터 수신하는 단계를 더 포함한다.
특히, 동작의 방법은 제어기가 제어할 수 있는 디바이스 타입들의 목록을 갖는 제어기 디바이스에 관한 것일 수 있다.
바람직하게, 본 발명에 따른 제어기 디바이스는 제어 입력을 포함하고, 상기 제어 입력 상에 수신된 신호들에 기초한 다른 디바이스들을 제어한다. 또한, 제어기 디바이스는 상기 제어기가 제어할 수 있는 디바이스들을 결정하는 하나 이상의 방법들을 실행할 수 있다.
상기 디바이스가 제어기 디바이스 타입인 사실에 의해 주어진 정보의 결핍을 다루는 한가지 접근 방법은, 상기 제어기가 미리 결정된 디바이스 타입이거나 미리 결정된 디바이스 타입에 종속하는 상위 레벨 디바이스 타입인, 네트워크된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록에서 최하위 레벨의 디바이스 타입으로 응답함으로써 미리 결정된 디바이스 타입을 제어할 수 있는 지를 질의하는, 인입하는 제어기 질의 메시지에 응답하는 상기 제어기 디바이스가 기능을 갖는 것이다. 제어기 디바이스는 이때 제어 신호들의 미리 결정된 목록으로부터 선택된 제어 신호들을 상기 제어 입력 상에 수신된 신호들에 따라 다른 디바이스들에 전송할 수 있다.
제어기 디바이스인 대신에, 상기 디바이스는 기본 디바이스 타입의 디바이스 타입, 또는 기본 디바이스 타입에 종속하는 디바이스 타입을 갖는 제어되는 디바이스 타입이 될 수 있고, 네트워크된 디바이스는 제어기에 의해 전송된 기본 디바이스 명령들에 응답할 수 있고, 명령들은 적어도 명령들의 미리 결정된 기본 세트를 포함한다.
다중기능 디바이스들을 다루기 위해서, 미리 결정된 최상위 레벨 요소들은 복합 디바이스 타입을 포함할 수 있다.
복합 디바이스 타입의 네트워크된 디바이스들은 미리 결정된 수의 다른 디바이스 타입들의 기능을 가지고, 복합 디바이스 타입 및 순간적인 수(instantaneous number)의 다른 디바이스 타입들로서 간단한 디바이스 기술을 전송함으로써 간단한 디바이스 기술을 요청하는, 인입하는 디바이스 질의 메시지에 응답하도록 구성된다.
네트워크된 디바이스는 미리 결정된 간단한 디바이스 기술 메시지를 저장하는 메모리를 포함할 수 있고, 상기 기술 메시지는 디바이스 타입을 포함하는 인간이 판독 가능한 형태인 메시지로부터 미리-압축된 메시지; 상기 전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지 표시하는 플래그; 미리 결정된 수의 부가적인 상태 설정들을 식별하는 미리 결정된 수의 부가적인 플래그들이다. 따라서, 간단한 디바이스 기술 메시지를 내적으로 발생시키기 보다는, 적합한 메시지는 미리-저장되고 요청될 때 전송된다.
다른 측면에서, 네트워크 메시지들을 전송하고 수신하는 송수신기를 각각 갖는 다수의 네트워크된 디바이스들로서, 상기 네트워크된 메시지들은 상기 네트워크된 디바이스의 디바이스 타입을 식별하는 디바이스 기술 메시지들을 포함하는, 상기 네트워크된 디바이스들을 포함하고,
각 네트워크된 디바이스는 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨을 갖는, 디바이스 타입 계층으로부터 선택되며, 상기 보조 디바이스 타입들은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는 미리 결정된 디바이스 타입을 가지고,
상기 네트워크된 디바이스들 중 적어도 하나는 상기 제어기 디바이스 타입을 갖고,
상기 네트워크된 디바이스들 중 적어도 하나는 상기 기본 디바이스 타입의 디바이스 타입 또는 상기 기본 디바이스 타입에 종속하는 디바이스 타입을 갖는, 시스템에 관한 것이다.
상기 시스템은 간단한 기능을 갖고 메시지들을 압축 해제하는 어떤 기능도 갖지 않은 다수의 간단한 디바이스들, 및 메시지들을 해석하고 동작하기 위해 메시지들을 압축 해제하는 더 많은 복합 디바이스들을 포함할 수 있다. 더 많은 복합 디바이스들은 증가된 오버헤드 및 처리기 전력 요청의 대가로 훨씬 더 많은 복합 기능을 가질 수 있다.
상기 시스템은 상기 미리 결정된 최상위 레벨 요소들은 복합 디바이스 타입을 더 포함하고,
상기 시스템은 미리 결정된 수의 다른 디바이스들의 기능을 갖는 상기 복합 디바이스 타입의 적어도 하나의 네트워크된 디바이스를 포함하고, 상기 미리 결정된 수는 2 이상의 정수이며,
상기 복합 디바이스 타입의 상기 적어도 하나의 네트워크된 디바이스의 각각은 상기 미리 결정된 수의 다른 디바이스들을 나타내는 복합 디바이스 및 서브-디바이스 수(234)로서 상기 디바이스 타입(232)을 포함하는 간단한 디바이스 기술(230)을 전송함으로써 간단한 디바이스 기술을 요청하는, 인입하는 디바이스 질의 메시지에 응답할 수 있다.
또한, 본 발명은 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨을 갖는 디바이스 타입의 계층으로서, 상기 적어도 하나의 추가적인 레벨의 보조 디바이스 타입들은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 상기 디바이스 타입의 계층을 규정하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체로서, 상기 컴퓨터 프로그램은 네트워크된 디바이스로 하여금 상기 디바이스 타입 계층으로부터 선택되는 상기 디바이스 타입을 포함하는 간단한 디바이스 기술 메시지들을 전송 및/또는 수신하도록 구성되는, 컴퓨터 프로그램에 관한 것이다.
특히, 컴퓨터 프로그램은 상기 전송 스택을 인터페이스하는 전송 적응 계층을 실행하는 코드;
상기 애플리케이션과 인터페이스하는 애플리케이션 프로그래밍 인터페이스를 실행하는 코드; 및
토큰-엔코딩된, 인간이 판독 가능한 메시지 포맷인 메시지들을 전송하고 수신하는 기능들을 포함하는 메시지 계층을 실행하는 코드를 포함하며,
상기 메시지 계층를 실행하는 코드는, 상기 네트워크된 디바이스로 하여금:
간단한 디바이스 기술 응답을 요청하는 인입하는 디바이스 질의 메시지들을 인식하고 제어기 디바이스 타입의 디바이스 타입을 포함하는 간단한 디바이스 기술 응답을 제공하며;
상기 네트워크된 디바이스가, 상기 미리 결정된 디바이스 타입이거나 상기 미리 결정된 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인 상기 네트워크된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록에서 최하위 레벨 디바이스 타입으로 응답함으로써 미리 결정된 디바이스 타입을 제어할 수 있는지를 질의하는, 인입하는 제어기 질의 메시지에 응답하고;
다음의 단계들을 수행하도록 구성되며,
상기 다음의 단계들은:
디바이스 질의 메시지를 다른 디바이스에 전송하는 단계;
상기 다른 디바이스의 디바이스 타입을 표시하는 상기 다른 디바이스로부터의 응답을 수신하는 단계로서, 상기 디바이스 타입은 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들과, 보조 디바이스 타입의 적어도 하나의 추가적인 레벨을 갖는 디바이스 타입의 계층으로부터 선택되며, 상기 보조 디바이스 타입들은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 특성들을 승계하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 상기 응답 수신 단계;
상기 네트워크된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록에서, 상기 다른 디바이스의 디바이스 타입이거나 상기 다른 디바이스의 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인, 최하위 레벨의 디바이스 타입을 결정함으로써, 상기 네트워트된 디바이스가 상기 다른 디바이스를 제어할 수 있는 범위를 결정하는 단계; 및
상기 결정된 디바이스 타입의 최하위 레벨에 속하는 제어 신호들의 목록으로부터 선택된 제어 신호들을 전송함으로써, 상기 결정된 디바이스 타입의 최하위 레벨의 기능으로 상기 다른 디바이스를 제어하는 단계를 포함할 수 있다.
본 발명을 더 잘 이해하기 위해, 첨부된 도면을 참조하여 실시예들이 예로서만 기술된다.
도 1은 본 발명에 따른 일 실시예를 이용하여 통신하는 한 쌍의 디바이스들을 도시한 도면.
도 2는 한 디바이스에서의 소프트웨어의 개략도.
도 3은 디바이스 발견 과정의 흐름도.
도 4는 디바이스 타입 계층의 개략도.
도 5는 제어기가 제어되는 디바이스에 상기 디바이스의 제어 기능을 알려주기 위해 실행하는 단계들을 도시한 도면.
도 6은 제어기가 제어되는 디바이스의 제어 기능들을 결정하기 위해 실행하는 단계들을 도시한 도면.
도 7은 복합 디바이스에 대한 디바이스 발견 과정의 흐름도.
도 8은 복합 디바이스의 일 실시예를 도시한 도면.
도 9는 복합 디바이스의 다른 실시예를 도시한 도면.
도 10은 소프트웨어의 구조를 도시한 도면.
도 11은 HUCL 프로토콜을 도시한 도면.
도 12는 간단한 디바이스 기술 메시지를 도시한 도면.
프로토콜 HUCL은 주로 무선 시스템들 용으로 설계된 경량의, 저대역 제어 프로토콜이다. 메시지 포맷은 XML에 기초하고, 메시지들은 전송 전에 압축된다. XML를 이용하는 것은 전송되는 데이터를 감소하는 압축을 확장성 있고 스케일링 가능한 솔루션에 제공하여서, 전송기가 온(on)되는 시간과 소비전력의 양을 감소시킨다.
HUCL 프로토콜의 일반 원리들 및 디바이스를 동작하는 방법은 이제 간단한 예를 참조하여 논의될 것이다.
도 1를 참조하여, 조명 스위치(2) 및 조명 부품(light fitting)(4)이 제공된다. 조명 스위치(2)는 RF 송수신기(8) 및 배터리(10)와 더불어, 제어 회로(12) 및 메모리(14)와 더불어, 사용자에 의해 동작되는 로커 스위치(rocker switch)(6)를 갖는다. 조명 부품(4)은 RF 송수신기(8) 및 메모리(14)를 또한 가지지만, 주로 전력을 받고, 전구(22)에 전력을 인가하는 제어 회로(20)를 가진다. 따라서 조명 스위치(2)는 제어 입력(스위치)(6)를 갖는 제어기의 일예이고, 반면에 조명 부품은 제어되는 디바이스(4)의 일예이다. 제어기에서 메모리(14)는 제어기가 제어할 수 있는 디바이스 타입들, 및 디바이스 타입들에 관련된 제어 기능들의 목록(24)을 포함한다. 제어되는 디바이스(4) 및 제어기 디바이스(2) 둘다에서의 메모리(14)는 제어 회로가 더 상세히 후술될 방법들을 실행하도록 하는 코드(26)를 또한 포함한다.
도 2는 각각의 디바이스들 상에 메모리(14) 내에 존재하는 소프트웨어의 표현을 도시한다. 제어 애플리케이션(30)은 어떤 사건들이 발생할 때 HUCL 소프트웨어 스택(32)과 통신한다.
유사한 방법으로 HUCL 소프트웨어 스택(32)은 RF 소프트웨어 스택(34)과 통신하고, RF 소프트웨어 스택(34)은 어떤 사건들이 발생할 때, 예를 들어 데이터의 수신시 HUCL 소프트웨어 스택(32)과 다시 통신한다.
메시지들(36)은 송신되고 수신된다. 메시지들은 간단한 디바이스 기술 질의 메시지를 포함하는 다수의 형태들, 또는 어떤 다수의 다른 메시지 형태들이 될 수 있다.
디바이스들의 동작은 도 3을 참조하여 이제 기술될 것이다. 이런 한 쌍의 디바이스들의 동작에서의 제 1 단계는 스위치가 부품의 주소를 발견하는 것이다. 이는 디바이스 발견으로서 알려져 있고, 이는, (RF 소프트웨어 스택에서) 디바이스 발견이 제공되거나, 또는 (HUCL 소프트웨어 스택의 더 하위 계층에서) 전송 스택의 상에서 디바이스 발견을 실행하는 것이 가능한, 기초적인 RF 전송 스택의 요건이다.
발견 과정은, 알려진 디바이스들의 수를 먼저 요청하고 그 후 그러한 디바이스들의 네트워크 주소를 요청하는 HUCL 소프트웨어 스택에 호를 실행함으로써, (아마 일부 사용자 상호 작용의 결과로서) 제어 애플리케이션에 의해 개시된다(100). 이러한 디바이스 주소들은 리턴된다.
기초적인 RF 프로토콜에 의존하여, 네트워크 주소들은 일부 다른 방법으로 형성될 수 있다.
디바이스 발견 단계의 최종 결과는 제어 애플리케이션이 RF 스택에 알려진 모든 디바이스들의 주소들의 목록을 공급받는다(102). 과정의 그 때에, 제어 애플리케이션은 디바이스들의 주소 외에 각각의 다른 디바이스에 관해 더 이상 알지 못한다. 이 설명된 과정에서 모든 디바이스 주소들이 기술들(descriptions)을 요청하기 전에 검색(retrieved)되지만, 당업자는 다른 가능성들이 존재한다는 것을 인식할 것이라는 것이 주목되어야 한다. 예를 들어, 제어 애플리케이션은 모든 디바이스 주소들이 얻어지기 전, 각각의 디바이스 주소를 수신한 후 즉시, 기술을 요청할 수 있다.
그 스위치와 부품 쌍 과정에서 제 2 단계는 제어 애플리케이션이 이 제어 애플리케이션이 주소들을 갖는 디바이스들에 대한 정보를 모으는 것이다. 이 정보는 디바이스 기술들(device descriptions)로 불리운다. 제어 애플리케이션은 HUCL 소프트웨어 스택으로 호출하여 디바이스 기술을 요구하는 디바이스의 주소를 전달함으로써 이를 행한다.
이어 간단한 디바이스 기술(simple device description)에 대한 요청은 RF 링크를 통해 목적지 디바이스(destination device)에 전달되어(104), 위에서 기술된 스위치/부품 예에서 요청이 스위치로부터 부품까지 전달된다. 요청시, 목적지 디바이스에서의 HUCL 소프트웨어 스택은 디바이스 기술을 요청하는 제어 애플리케이션으로 호출한다. 기술의 포맷은 정의된다. 압축된 형태가 아니라면, 기술은 요청의 송출기로 전송되기 전에 압축된다.
요청하는 디바이스 상의 HUCL 소프트웨어 스택이 디바이스 기술을 수신할(106) 때, 이 디바이스 기술은 제어 애플리케이션까지 전달된다. 이 시점에서, 애플리케이션은 디바이스에 관한 일부 기본 정보를 가지고, 이 디바이스와 더 통신하기를 원하는 지에 대해 결정할 수 있다.
HUCL의 설계 목적은 매우 간단한 디바이스들을 운용하기에 적합한 것이지만, 디바이스를 완전히 기술하기에 필요한 정보는 잠재적으로 매우 복잡하다. 아래 목록은 디바이스가 디바이스의 기술의 일부로서 제공하기를 원할 수 있는 정보의 종류를 보여준다.
디바이스 타입, 예를 들어 DVD
공급자 이름, 예를 들어 필립스
모델 번호, 예를 들어 DVD 1010/002
일련 번호, 예를 들어 AH06848032345
공급자 URL, 예를 들어 www.philips.com
이 섹션 전반에서 예로 사용되는 스위치와 같은 가장 간단한 제어 디바이스들의 경우, 이 정보 중 대부분은 아마도 불필요하다. 그러나 그와 같은 정보는 사용자에게 디스플레이될 수 있는 스크린을 갖는 더 고가의 'PDA' 타입 원격 제어 상에서 유용할 것이다.
저가의 디바이스들에 대한 그러한 기술들의 처리는 문제를 야기할 수 있는데, 수신될 때 완성된 메시지를 저장하는 저장장치(RAM)가 잠재적으로 필요할 수 있기 때문이다. 앞서 나타낸 기술 데이터(description data)의 전체 크기가 정해지지 않기 때문에, 대부분의 정보는 '프리 텍스트(free text)'이고, 공급자 이름은 매우 길 수 있으며, URL은 심지어 파라미터들, 예를 들어
http://www.consumer.philips.com/global/b2c/ce/catalog/subcategory.jhtml?groupId=VIDEO&divId=0&catId=DVD&subCatId=DVDPLAYER 으로 정확한 페이지를 특정할 수 있기 때문에, 그 문제는 처음에 보여질 수 있는 것보다 더 악화된다.
삭제
이것이 HUCL에서 극복되는 방법은 디바이스 기술이 두 계층의 정보로 나눠지는 것이다. 제 1 계층은 단순화한 디바이스의 기술(simplistic description of the device)이지만, 추가적인 정보가 이용 가능한지를 식별하는 것이다. 제 1 계층의 디바이스의 기술은 어떤 프리 텍스트 필드들을 포함하지 않아서, 이의 전체 길이는 확정적이다. 확장된 정보의 제 2 계층은 선택적이지만, 추가적인 정보를 제공한다.
도 12를 참조하여, 간단한 디바이스 기술 메시지(Simple Device Description message)(230)는 확장된 디바이스 기술이 이용 가능한지를 표시하는 필드(238), 디바이스 타입(232), 예를 들어 이벤트 가입(event subscription)이 이용 가능한지를 표시하는 플래그와 같은 중요한 정보를 식별하는 다른 필드들(236)을 포함한다. 선택적인 정수 필드(234)는 복합 디바이스의 하위-디바이스들의 수를 나타낸다. 당업자는 메시지(230)가 간략함을 위해 생략되는 꼬리부(footer) 및 헤더(header)를 포함할 수 있다는 것을 이해할 것이다. 메시지는 또한 명료성을 위해 유사하게 생략되는 압축된 XML 토큰들을 포함할 것이다. 간단한 디바이스 기술의 필드들은 모두 고정된 길이이고, 이들은 압축 해제없이 쉽게 처리될 수 있다.
간단한 디바이스 기술(230)을 수신한 후(106)(도 3), 간단한 디바이스 기술(230)은 HUCL로 다시 전달된다.
확장된 디바이스 기술(Extended Device Description)이 이용 가능하고 제어기 디바이스가 이 확장된 디바이스 기술을 요청하면, 제어기 디바이스 제어 애플리케이션은 그 디바이스에 다시 "확장된 기술 획득(GetExtendedDescription)" 요청(108)을 발행할 수 있다.
이 요청을 수신하는 디바이스 상의 HUCL 스택은 확장된 디바이스 기술을 요청하는 제어 애플리케이션으로 확장된 기술 획득(GetExtendedDescription) 호출을 만든다.
확장된 디바이스 기술은 HUCL 스택에 다시 전달되어, 확장된 다비이스 기술을 요청했던 디바이스 상의 제어 애플리케이션 쪽으로 되돌아 나아간다. 이어, 확장된 기술은 요청하는 디바이스에 리턴된다(110).
확장된 기술 획득(GetExtendedDescription) 질의가 확장된 디바이스 기술을 제공하지 않는 디바이스 상에 수신된다면, 요청은 간단히 무시된다.
이 섹션 전체에서 사용되는 스위치/부품 예로 다시 돌아가서, 스위치가 오직 부품의 주소만을 아는 시점으로부터, 스위치는 부품으로부터 간단한 디바이스 기술을 요청한다.
요청 수신시 부품은 충분한 정보를 제공하여, 스위치는 표준 부품 명령 세트를 따르는 조명 부품들에 대화하고 있다는 것을 알고, 스위치는 또한 (예를 들어) 부품이 확장된 디바이스 기술을 제공할 수 없다는 것을 안다.
요청될 때 HUCL 스택에 간단한 디바이스 기술을 제공하는 것은 디바이스 애플리케이션에 있어서 필수적이다. 어떠한 확장된 디바이스 기술을 제공하지 않는 디바이스는 이 디바이스가 수신하는 그러한 정보에 대한 어떠한 요청들을 무시할 수 있다.
예를 들어, TV, DVD, 조명 부품 등의 디바이스 타입을 식별하는 디바이스 타입 필드(232)는 (요청될 때) 디바이스에 의해 리턴되는 간단한 디바이스 기술 내에 포함된다. 디바이스 타입 필드(232)는 디바이스가 따르는 명령 세트를 (간단한 디바이스 기술을 요청하는) 제어기에 대해 식별할 것이다. HUCL 디바이스들은 타입 식별기에 의해 간단히 자신들을 식별하고, 그 후 디바이스들이 제어되는 방법을 기술하는 메시지들을 계속 보내지는 않는다; HUCL에 어떠한 '실행시간' 서비스 기술 개념도 없다. 디바이스가 조명 부품으로서 자신을 식별한다면, 그 후 이 디바이스 상에 호출될 수 있는 명령 세트는 조명 부품 타입 디바이스에 대한 HUCL 명세에서 식별된다.
도 4를 참조하여, 모든 디바이스 타입들은 베이스 디바이스 타입(base device type)(50)에 종속한다. 이 예에서 최상위 레벨 요소들(58)은 제어기 디바이스 타입(52), 제어되는 디바이스들에 대한 기본 디바이스 타입(54), 및 알람 디바이스 타입(56)을 포함한다.
보조 디바이스 타입들(68)은 기본 디바이스 타입에 종속한다. 이 예에서, 이러한 것들은 TV 디바이스 타입(64), 밝기를 낮출 수 있는 조명 디바이스(dimmable light device) 타입(62) 및 PVR 디바이스(60)를 포함한다.
디바이스 타입 분류는 간단한 제어기가 제어기들의 성능 정도까지 디바이스를 제어할 수 있는지 여부를 식별할 수 있도록 하는 것을 목적으로 하는 시스템을 만드는 것이었다.
간단한 스위치는 조명을 켜고 끄기 위해 조명 부품과 짝지어질 수 있지만, 스위치의 제어 기능 즉, 디바이스를 켜거나 끄는 기능은 온/오프 개념을 수용할 수 있는 어떤 디바이스 예를 들어, TV, 히터, 프린터에 적용할 수 있어야 한다.
이것이 실행될 수 있는 한 방법은 스위치가 제어(켜거나 끄는)하는 방법을 아는 모든 디바이스들의 목록을 갖는 것이고, 그래서 스위치가 디바이스에 대한 간단한 디바이스 기술을 요청할 때, 스위치는 리턴된 기술에서 디바이스 타입 필드를 보고, 스위치가 제어 방법을 아는 디바이스 타입들의 목록 내에 디바이스가 있는지를 결정할 수 있다.
이 접근 방법은 2가지 중요한 문제점이 있다. 우선 스위치는 매우 간단한 디바이스이고, 스위치 내의 애플리케이션이 상당히 큰 용량일 수 있는 스위치가 제어가능한 디바이스들의 목록을 보유하는 것은 바람직하지 않다; 둘째로 스위치가 생성된 후에 (간단한 온/오프 기능을 수용할 수 있는) 디바이스의 새로운 타입이 생성되면, 이때 스위치는 목록에 새로운 디바이스 타입을 갖지 못할 것이고, 스위치가 그 디바이스를 제어할 수 있다는 것을 믿을 수 없는, 즉 확장성이 없을 것이다.
HUCL은 도 4에서 도시된 것처럼, 계층적인 방법으로 디바이스들을 분류한다. 디바이스 타입 필드(232)(도 12)는 계층 내의 디바이스를 식별하고, 새로운 디바이스들이 생성되었더라도, 이 새로운 디바이스가 그 계층 내의 적절한 포인트로부터 도출되는 한, 간단한 스위치는 어느 정도까지 이를 제어할 수 있다는 것을 여전히 알 것이다.
트리에서 하위 디바이스들은 상위 디바이스 타입들의 기능을 수행한다. 트리에서의 하위 디바이스들에 적용될 때 명령들에 일부 해석을 부가하는 것이 필요할 수 있는데, 예를 들어, 조명에 보내질 때의 온/오프 명령이 상당히 명백하게 조명을 껴고 끄는 것일 것이지만, TV에 보내질 때의 동일한 명령은 TV를 대기 모드에 두거나 대기 모드에서 벗어나는 것일 수 있다.
디바이스 타입 기술(description)의 중요한 이점은 제어기가 특정 디바이스 타입 자체에 대한 지식이 없더라도, 제어기는 특정 디바이스에 대한 일부 지식을 가질 수 있는, 특정 디바이스가 기원을 둔(derived) 디바이스를 결정할 수 있고, 따라서 (그 디바이스의 관점으로부터) 제어기는 약간 작은 범위까지 디바이스를 제어할 수 있을 것이다.
예를 들어, 조명 스위치가 디바이스의 주소를 획득하는 경우를 고려하면, 조명 스위치는 이 디바이스로부터 간단한 디바이스 기술(Simple Device Description)을 요청한다; 디바이스 타입 필드는 디바이스를 TV 로 식별하지만, 스위치는 그 디바이스를 스위치가 알고 있는 디바이스로 식별하지 않는다. 그러나, 그 디바이스가 스위치가 알고 있는 '기본 디바이스'('Basic Device')의 파생물이라는 것을 스위치는 기술(description)로부터 또한 밝혀낼 수 있다. 최종 결과는 그 디바이스 자체에 대해 전혀 알지 못함에도 불구하고, 스위치는 제어기들의 기능, 즉 온/오프의 범위로 TV를 제어할 수 있다. 디바이스는 스위치가 제작된 오랜 후에 발명된 'XYZ'라 불리는 새로운 카테고리의 디바이스가 될 수 있지만, 그 디바이스가 기본 디바이스로부터 파생되는 한, 스위치는 그 디바이스를 여전히 어느 정도 제어할 수 있다.
디바이스 타입 계층이 단지 2개의 계층들, 그리고 제어기와 기본 디바이스 상위 레벨 요소들을 가질 수 있지만, 적어도 하나의 추가적인 계층 및/또는 상위 레벨 요소는 바람직하다. 이는 기본적인 '턴 온' '턴 오프' 기능을 갖지 않는 디바이스들인, 기본 디바이스에서 위에 나타낸 기능과 일치하지 않는, 예를 들어 알람, 디바이스들을 위한 것이다. 예시를 위해, '알람' 타입 디바이스(56)는 도 4에서 도시되었고, 당연히 이 '알람' 디바이스는 기본 디바이스로부터 파생되는 디바이스들이 가져야하는 보통의 온/오프 기능들을 실행하기를 원치 않는다; 따라서 이 알람 디바이스는 기본 디바이스(54) 자체와 동일한, 계층에서의 상위 레벨(58)에 존재한다.
계층에 대한 제 2 확장은 도 4, 즉 일반 TV 디바이스(64) 아래의 개선된 TV 디바이스(66)에 또한 도시되어 있다. 여기서 개선된 TV 디바이스는 기본 디바이스(54)와 TV 디바이스(64) 둘다의 기능 모두를 승계하고, 일반 TV에 없는 일부 확장된 기능을 포함한다. 일반 TV 디바이스를 동작하도록 설계된 보통의 TV 원격 제어는 일반 TV 디바이스 기능의 레벨까지, 확장된 TV 디바이스를 동작시킬 수 있지만, 확장된 기능을 제어할 수 없다.
따라서 HUCL 프로토콜은 기능을 승계하는 위의 디바이스 및 디바이스 타입을 기술하는 확장 가능한 메카니즘을 제공한다. 많은 층들의 계층에 대한 아이디어가 선호될 것으로 보일 수 있지만, 계층을 세 단계 또는 네 단계 이상 확장하는 것은 간단한 디바이스 기술의 크기에 영향을 주기 시작할 것이다.
HUCL 내에서, 제어 가능한 디바이스 뿐만 아니라 제어기로부터 디바이스 기술을 요청하는 것이 가능하다. 하나의 디바이스가 제어기 디바이스(예를 들어 스위치)에 "간단한 기술 획득"("Get Simple Description")을 보낼 때, "제어기"의 디바이스 타입을 포함하는 간단한 디바이스 기술(Simple Device Description)이 리턴된다. 제어기 디바이스는 또한 제조 업자, 모델 번호 등과 같은 추가 정보를 제공하는 확장된 디바이스 기술(Extended Device Description)을 이용가능하게 할 수 있다.
제어기 디바이스에 의해 리턴되는 디바이스 타입이, 디바이스 타입 트리에서 규정되는 상이한 제어기 타입 디바이스들의 계층이 전혀 없는, 간단히 "제어기"(52)인 것을 주목하는 것은 중요하다. 이에 대한 이유는 프로토콜을 유지하고 메시지들의 크기를 작고 간단하게 유지하도록 다시 시도하는 것이다. 스위치, TV 원격 제어, PVR 원격 제어 등과 같은 기본 제어기로부터 파생되는 상이한 제어기 타입들을 갖는 것이 가능할 것이라는 느낌이 들 수 있다. 그러나, 문제는 넓은 범위의 디바이스들을 제어할 수 있는 범용 원격 제어기 같은 지능형 제어기들에 발생한다. 간단한 디바이스 기술에서 모든 가능한 제어기 타입들을 포함하는 것은 잠재적으로 큰 메시지를 발생시키고, 초기의 간단한 디바이스 기술을 간단하게 만들도록 하는 개념에 반하는 것이다. 제어기 디바이스의 정확한 기능들을 결정하기 위해, 상이한 메커니즘이 채용된다.
제어기 디바이스의 성능들을 결정하는 제 1 수단은, 제어기 디바이스 상에서 허용되고 디바이스 명, 예를 들어 "범용 원격 제어"와 같은 정보를 포함할 수 있는, 확장된 디바이스 기술에 의한 것이다. 이는 텍스트 정보이어서 애플리케이션 소프트웨어에 의해 직접 해석될 수 없는 반면, 제어기에 대해 잘 알고 하는 선택을 하도록 돕기 위해 사용자에게 제공될 수 있다.
디바이스가 제어기에 대해 더 많은 것을 결정하기 위한 제 2 수단은 제어기를 질의하는 것에 의한 것이다.
질의하는 것을 이용하는 것은, 일제히(en-mass) 공급된다면 요청기를 과부하 걸리게 할 것인, 디바이스에 관해 조금씩 제공하는(drip-feeding) 정보에 대해 강력한 메카니즘이다.
제어기 타입의 각 디바이스는 특정 디바이스 타입(도 5)을 제어할 수 있는지 질의(120)하는 다른 디바이스들을 위한 수단을 제공한다. 질의에서 전달된 디바이스 타입은 간단한 디바이스 기술에서 이용된, 즉 디바이스 타입 계층에서 규정된 것과 같은 동일 필드이다. 제어기는, 질의에서 전달되는 디바이스 타입이거나, 그 디바이스 타입이 종속하는, 제어기 메모리(14)에 저장된 목록(list)에서의 최하위 디바이스 타입을 리턴함으로써, 제어기가 디바이스를 제어할 수 있는 레벨을 리턴한다(122). 예를 들어, 간단한 스위치는 스위치가 개선된 TV 디바이스를 제어할 수 있는지를 질의 받는다. 위의 도 4에서 도시된 계층에 기초하여, 그 응답은 기본 디바이스의 레벨로 개선된 TV 디바이스를 제어할 수 있다는 것이다. 스위치 자체로는 일반적으로 개선된 TV 디바이스의 디바이스 타입에 대해 전혀 알지 못할 것이지만, 디바이스 타입은 기본 디바이스를 식별할 수 있을 승계된 디바이스들을 또한 포함하고, 제어기가 제어할 수 있는 최하위의, 계층적으로 우위인 디바이스 타입으로서 이를 리턴한다.
이는, 예를 들어, PDA 타입 제어기 디바이스를 네트워크를 제어하는 네트워크 관리 애플리케이션으로 동작하도록 허용할 수 있다.
제어기는 스위치가 간단한 디바이스 기술에서 리턴되는 디바이스 타입을 제어할 수 있는지를 결정하는 알고리즘을 또한 구현한다(도 6). 스위치가 간단한 디바이스 기술을 요청하는 디바이스의 주소를 스위치가 발견할 때, 이 정보 수신시, 질의 과정(120)의 결과로서 대응할 필요가 있는 동일 문제인, 스위치가 어느 정도로 이런 타입의 디바이스를 제어할 수 있는지를 스위치는 테스트한다(128). 그 결과는 2개의 질의 과정들(120, 122, 124, 126, 128)이 간단한 스위치 디바이스의 복잡도에 너무 많이 부가하지는 않는다는 것이다. 동일한 것이 다른 간단한 디바이스들에 적용된다.
디바이스가 동일한 물리적 주소를 통해 액세스되는, 예를 들어 단일 RF 송수신기 상에 공동으로 배치되는 다수의 개별 디바이스들의 구성(composition)일 수 있는 경우가 존재할 것이 예견될 수 있다.
이런 타입의 디바이스들의 예들은, 단일의 RF 송수신기를 통해 제어되는 개별적으로 스위칭 가능한 조명들의 뱅크(bank), 또는 2개의 구성 요소들이 다시 동일한 송수신기를 통해 원격으로 제어 가능한 집적된 알람 시계를 구비한 TV 이다.
도 7은 발견 과정을 도시한다. 스위치는 기초적인 전송 매체에 의해 알려진 모든 디바이스들의 주소들을 초기에 얻고, 이는 4개의 개별적으로 제어 가능한 조명들의 단일 주소를 포함한다. 스위치는 간단한 기술 획득(Get Simple Description) 명령을 조명 뱅크에 발행하고, 발생되는 질문은 응답이 무엇이여야 하는가 이다. 4개의 디바이스 기술들이 리턴된다면, 이는 스위치가 수신하기를 예상하는 데이터보다 4배의 데이터가 될 것이다. 다수의 간단한 디바이스 기술을 리턴하는 것은 크기를 상당히 변경하는 것은 아니고, 예를 들어 조명 뱅크에 20개의 조명들이 있었다면 문제를 발생시켰을 것이다.
HUCL에 의해 제공된 솔루션은 복합 디바이스들을 위한 특정 디바이스 타입(Device Type)이다.
복합 디바이스는 자신의 디바이스 타입을 "복합 디바이스"로서 디바이스 타입 필드(232)에 포함하는 간단한 디바이스 기술을 리턴한다(142). 간단한 디바이스 기술은, 예를 들어 이 단일 디바이스 내에 4개의 임베딩된 디바이스들이 있다는 것을 필드(234)에서 또한 식별한다.
제어기가 복합 디바이스들과 통신하고 있다는 것을 제어기가 일단 식별하면, 다음 단계는 복합 디바이스 내에 어떤 임베딩된 디바이스들이 있는지를 제어기가 확인하는 것이다. 제어기는 특정 임베딩된 디바이스들에 대한 요청들을 처리하는 것(addressing) 외에, 복합 디바이스들에 대한 간단한 기술 획득(Get Simple Description) 요청들을 더 만든다(144). 임베딩된 디바이스들은 그들의 디바이스 기술들을 리턴한다(146).
일단 제어기가 임베딩된 디바이스들 중 하나를 제어할 것을 결정하면, 모든 제어 명령들은 임베딩된 디바이스 ID를 각 명령에 포함함으로써 특정 임베딩된 디바이스에 지시된다. 일단 복합 디바이스의 개념이 형성되면, 이는 유용하게 될 다수의 관심 디바이스 조합들에 대한 가능성을 열고, 이들 중 일부는 아래에서 논의될 것이다.
일 예는 정수 개의 스위치를 구비한 램프로 구성된 단일 디바이스이고, 스위치의 기능은 다른 디바이스들을 제어할 수 있도록 하기 위해 드러난다. 간단한 디바이스 기술(Simple Device Description)에 대해 질문을 받을 때, 이 디바이스는 복합 디바이스로서 그 자신을 나타내지만, 추가적으로 질문 받을 때, 하나의 임베딩된 디바이스는 제어기인 것으로 여겨질 것이고, 나머지는 제어 가능한, 즉 광 디바이스로 여겨질 것이다. 다수의 그와 같은 디바이스들은, 디바이스들 중 임의의 한 디바이스 상에서 스위치를 동작시키는 것이 모든 디바이스들 상에서 조명이 온/오프되도록, 예를 들어 라운지에서의 임의의 하나의 테이블 램프를 켜는 것이 라운지에서의 모든 테이블 램프들을 켜는 것과 같은 방법으로, 구성될 수 있다.
CE 영역 내의 복합 디바이스의 다른 가능한 조합들은, 예를 들어 TV + 비디오 카세트 레코더(VCR), 또는 DVD와 VCR를 포함한다. 이러한 것들의 각각은, 요청된다면, 2개의 디바이스들의 복합으로서 자신을 기술한다.
개념적으로 디바이스는 핵심 디바이스에 0 또는 더 많은 하위-구성요소를 더한 것으로 구성되는데, 예를 들어 TV 디바이스(60)는 TV 디바이스(60) 그 자체에 튜너(64), 오디오(66) 및 디스플레이(68) 하위-구성요소들(도 8 참조)을 더한 것으로 구성될 수 있다.
단일 디바이스가 한 하위-구성요소의 경우 보다 더 많이 가질 수 있는데, 예를 들어 TV/VCR 콤비 디바이스(combi device)는 오디오(66) 및 디스플레이(68) 구성요소들 뿐만 아니라, TV 용 튜너 및 VCR 용 튜너인 2개 튜너들(62, 64)(도 9 참조)을 가질 수 있는 것이 또한 가능하다. XML의 이용 및 가장 간단한 디바이스 상에서 압축 및 압축 해제는, 거의 중요하지 않게 느껴진다. 프로토콜을 기술하기 위한 XML의 이용은 장래의 개선에 대해 쉽게 확장 가능하고, 기술하고 이해하기 비교적 간단하며, 구성된 정보를 쉽게 처리할 수 있으며 '인터넷 도메인'과 즉시 호환 가능한 솔루션을 제공한다.
XML(HUCL 내에서 규정된) 상에서 태그된 압축 기술을 이용하는 것은, 콘텐트 구조를 보유하는 일부 추가적인 오버헤드로 인해, 종래의 순수한 2진-기초 프로토콜로 크기에 있어서 퇴보한 상대적으로 장황한 프로토콜을 취한다.
압축된 형태로 명령이 제공되었으면, 이는 데이터 값들에 대한 규정들의 표 및 명령 구조에 대한 정보를 이용하여, 임의의 다른 2진-기반 프로토콜을 판독하는 유사한 방식으로 판독될 수 있다. 2진 데이터가 XML 기반 표기법으로부터 발생되었을 수 있다는 유일한 힌트는 구조를 표현하는 데이터의 존재일 것이다.
HUCL 명세는 메시지가 항상 압축된 형태로 전송 매체를 통해 전송된다는 것을 규정한다. 그러나, 간단한 디바이스 상에서, 애플리케이션은 압축된 메시지에 대해 직접 동작할 수 있어서, HUCL 소프트웨어 스택 내에서 압축/압축 해제 소프트웨어가 그 디바이스 상에 존재할 필요 없게 한다. 애플리케이션이 미리 압축된 형태의 간단한 디바이스 기술을 (ROM에서 애플리케이션 이미지의 일부로서) 저장할 수 있는 경우에, 임의의 다른 2진 프로토콜 파서(parser)와 사실상 유사한 것일 수 있는 애플리케이션이 수신하는 압축된 프로토콜 메시지들을 위한 파서를 가질 수 있다; 임의의 응답 메시지들은 또한 압축된 형태로 저장될 필요가 있다.
이 접근 방법을 이용하여, 이 섹션을 전체를 통해 사용되는 조명 스위치 및 조명 부품 예와 같은 가장 간단한 디바이스들은 감소된 소프트웨어 스택으로 구현될 수 있고, 간단한 디바이스는 이해하고 전송될 필요가 있는 명령들의 수가 비교적 작다(조명을 켬, 조명을 끔, 토글, 현 상태 획득, 디바이스 기술 획득 등) 라는 것을 고려해 볼 때, 애플리케이션 소프트웨어 상의 오버헤드는 최소이다.
이는, 애플리케이션 행해질 수 있는 압축된 데이터에 대해 동작하는 애플리케이션을 구현하는 것에 유용한, 디바이스에 크기 조정 가능한 솔루션을 제공하지만, 디바이스가 더욱 복잡해 질 때, 이는 스택에서 압축/압축 해제 기능을 포함하는 것이 더욱 쉬어지고 애플리케이션이 완전한 XML 표기법으로 프로토콜 메시지들을 이용하도록 하는 점이 있을 것이다. 이 컷 오프 포인트(cut off point)는 디바이스 설계자에게 전적으로 맡겨지고, 전혀 HUCL에 의해 전혀 규정되거나 지시되지(dictated) 않는다.
도 10은 HUCL을 이루는 구성 요소들이 어떻게 함께 조화를 이루는지를 도시한다. 구성 요소들은 메모리에 기록된 소프트웨어 구성 요소들인 것이 이해될 것이다.
다음의 섹션들은 HUCL 소프트웨어 스택(32)을 형성하는 계층들, 및 이들이 제공하는 기능을 더 자세히 논의할 것이다.
앞서 기술된 바와 같이, 초기의 HUCL은 (예를 들어 TCP/IP와 같지 않은) 특정 전송 프로토콜을 신뢰하지 않지만, 대신에 전송 스택(34)의 상부에 바로 위치한다. 다른 전송 스택들(34)은 본래의 특성으로 인해 다른 서비스들을 애플리케이션들로 다른 API를 통해 제공할 것이다. HUCL 전송 적응 계층(180)은 특정 전송 계층에 대한 버퍼로서 동작한다.
전송 적응 계층(180)은 서비스들의 일관된 전송 독립 세트를 HUCL 스택에서 상위 계층들에 제공한다. 이 계층의 요구사항들은 프로토콜 명세에서 상세히 규정된다.
메시지 계층(182)은 HUCL 소프트웨어 스택의 기능의 벌크를 제공한다. 애플리케이션들은 HUCL API를 통해 메시지 계층과 통신하고, 필요할 때(예를 들어, 데이터가 수신될 때) 애플리케이션으로 호 회신(call back)을 수행할 것이다.
메시지 계층(182)은 어떤 초기 오류 보고, 및 필요하다면 확인응답들(acknowledgements)을 또한 처리할 수 있다. 누락된 메시지들 및 응답들에 대한 결합 메시지들을 체크하는데 이용되는 메시지 ID들 및 트랜잭션 ID들은 또한 이 계층에 의해 전적으로 처리된다.
메시지 계층(182)은 메시지가 압축되거나 압축 해제될 필요가 있을 때 압축/해제 서비스들(184)을 이용한다. 앞서 논의된 것처럼, 애플리케이션은 압축된 형태의 메시지들을 배타적으로 처리하고, 어떠한 호들도 이러한 서비스들에 대해 만들어지지 않고, 이들은 실행시간 스택(runtime stack)으로부터 제거될 수 있다.
아주 간단하게 압축 및 압축 해제 서비스들은 압축 및 압축 해제된 형태들 간의 HUCL 메시지들을 변환하는 수단을 메시지 계층에 제공한다. 시스템의 이런 구성 요소들은 애플리케이션과의 모든 데이터 교환들이 압축된 메시지들로 만들어지는 저가의 디바이스들(low-end devices)에서는 생략 가능하다.
애플리케이션 프로그래밍 인터페이스 API(186)는 이를 통해 모든 애플리케이션들이 HUCL 소프트웨어 스택과 통신하는 인터페이스이다. 통신은, HUCL 스택이 하위 계층들에서 발생하는 특정 사건들, 예를 들어 전송 스택을 통해 수신된 메시지의 결과로서 애플리케이션에 대해 비동기 답신 호들을 만들 것이라는 점에서, 양방향이다.
HUCL은 전송 스택(34) 독립적이고, 이는 HUCL 메시지 프로토콜이 다양한 전송 스택들, 유선 및 무선 모두의 위에서 형성될 수 있다는 것을 의미한다.
HUCL이 경량의(lightweight) 프로토콜으로서 설계되었기 때문에, 따라서 HUCL은 최근의 지그비(Zigbee; 802.15.4) 표준과 같은 것과 뿐만 아니라, 경량의 전송 스택들에 가장 적합하지만, HUCL은 광범위한 다른 프로토콜들, 유선(예를 들어 이더넷) 및 무선(예를 들어 802.11b) 둘다를 가능하게 하는 TCP & UDP/IP의 상에서 동일하게 잘 조화를 이룰 수 있다.
전송 스택(34) 상에서 구현되는 HUCL의 경우, HUCL 스택의 메시지 계층에 다수의 서비스들을 제공하는 것이 가능해야만 한다. 이는 이러한 서비스들이 전송 스택 그 자체에 존재할 수 있거나, HUCL 스택의 전송 추상화 계층(Transport Abstraction Layer)에서 임의의 누락된 서비스들을 구현하는 것이 가능해야만 한다. 이러한 서비스들은 주소지정(addressing), 메시지 전달 및 디바이스 발견(예를 들어, 네트워크 상의 다른 디바이스들의 주소들의 발견)과 같은 측면들을 커버할 수 있다.
프로토콜 그 자체는 매체(214) 상에 기록된 문서이고, 도 11에서 도시된 것 같은 다음의 정보를 포함한다.
모든 HUCL 메시지들이 따르는 포맷을 규정하는 일반 HUCL 메시지 포맷(200);
제어 프로토콜을 형성하는 특정 메시지들을 규정하는 메시지 규정들(202);
메시지 수신시 애플리케이션의 요건들 및 메시지들이 언제 보내질 지를 규정하는 메시지 시퀀싱 요건들(204);
HUCL과 이를 이용하는 애플리케이션 간의 양 방향 인터페이스를 규정하는 HUCL API 규정(206);
HUCL 소프트웨어 스택의 기능(208) 및 메시지 시스템 요건들;
HUCL 메시지들의 압축에 대한 메커니즘을 규정하는 압축 알고리즘(210); 및
HUCL 소프트웨어 스택이 전송 시스템(예를 들어, RF 스택)으로 인터페이스되는 방법을 규정하는 전송 적응 계층 규정(212).
따라서, HUCL은 메시지 포맷 규정일 뿐만 아니라, 메시지 교환 및 압축을 캡슐화한다. 목록에서 뒤의 4개의 항목들은 디바이스에 존재할 수 있는 HUCL 소프트웨어 스택을 형성하고, 첫 3개의 항목들은 스택과 애플리케이션이 따라야만 하는 요건들을 규정한다.
본 명세서를 판독함으로써, 다른 변화들 및 변형들은 당업자에게 명백할 것이다. 그와 같은 변화들 및 변형들은 설계, 제조 및 네트워크의 이용에서 이미 알려지고 여기에서 기술된 특징들의 대체이거나 부가되어 이용될 수 있는 동일한 그리고 다른 특징들을 포함할 수 있다. 청구항들은 특징들의 특정 조합들로 이 애플리케이션에서 체계화되지만, 본 발명을 실행함으로써 동일 기술 문제들의 어떤 것 또는 모든 것을 완화시키는지 어떤지 간에, 명세서의 범위는 또한 어떤 일반화 또는 명백하거나 함축적으로 여기에서 기술된 어떤 특징들의 새로운 조합 또는 어떤 새로운 특징을 포함할 수 있는 것으로 이해되어야만 한다. 이에 애플리케이션들은 새로운 청구항들이 그것으로부터 유래되는 어떤 다른 청구항들 또는 본 애플리케이션의 실행동안 그와 같은 특징들의 조합들 및/또는 어떤 그와 같은 특징들로 체계화될 수 있다는 것을 주의하라.
특히, 이 예에서 이용된 특정 서브루틴 명칭들은 쉽게 변경될 수 있다. 디바이스들을 제어하는 컴퓨터 프로그램은 메모리(14)에서 기록되는 것으로 도시되지만, 당업자는 그것이 CD, 플로피 디스크 등과 같은 많은 다른 형들의 레코드 캐리어에 기록될 수 있는 것을 알 수 있다.
또한, 조명 부품 및 조명 스위치의 매우 간단한 예는 앞에서 광범위하게 기술되었던 것을 알 수 있다. 당업자는 더 복잡한 많은 제어 시나리오들이 또한 가능하다는 것을 알 수 있다.

Claims (22)

  1. 간단한 디바이스 기술(description) 메시지(230)가 기록된 매체로서,
    상기 메시지는,
    디바이스 타입(232);
    전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지를 나타내는 필드(238); 및
    규정된 수의 부가적인 상태 설정들을 식별하는 규정된 수의 부가적인 필드들(236)의 데이터를 포함하며,
    상기 디바이스 타입(232)은, 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨을 갖는, 디바이스 타입 계층으로부터 선택되며, 상기 보조 디바이스 타입은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 기능을 포함하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 간단한 디바이스 기술 메시지가 기록된 매체.
  2. 제 1 항에 있어서,
    상기 간단한 디바이스 기술 메시지는 토큰-압축된 XML인, 간단한 디바이스 기술 메시지가 기록된 매체.
  3. 네트워크에 연결된 디바이스의 동작 방법에 있어서,
    규정된 길이의 간단한 디바이스 기술 메시지(230)를 다른 디바이스에 전송하거나 다른 디바이스로부터 수신하는 단계(104)를 포함하며,
    상기 간단한 디바이스 기술 메시지는 인간이 판독 가능한(human-readable) 메시지 포맷으로부터 압축된, 토큰-압축된 메시지의 형태이고, 상기 메시지는 다른 디바이스의 타입을 나타내는 디바이스 타입 값, 전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지를 나타내는 값, 및 규정된 수의 부가적인 상태 설정들을 식별하는 값을 포함하며, 상기 디바이스 타입 값은, 제어기 디바이스 타입(52) 및 기본 디바이스 타입(54)을 포함하는 미리 결정된 최상위 레벨과, 보조 디바이스 타입의 적어도 하나의 추가적인 레벨(68)을 갖는, 디바이스 타입 계층으로부터 선택되며, 상기 보조 디바이스 타입은 상기 기본 디바이스 타입(54)에 종속하며, 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 기능을 포함하고, 상기 제어기 디바이스 타입(52)에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 네트워크에 연결된 디바이스의 동작 방법.
  4. 제 3 항에 있어서,
    적어도 하나의 다른 디바이스의 주소를 획득하는 단계(102);
    간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 상기 다른 디바이스 또는 하나 이상의 다른 디바이스들에 전송하는 단계(104);
    상기 다른 디바이스 또는 디바이스들로부터 상기 간단한 디바이스 기술 메시지를 수신하는 단계(106)를 더 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  5. 제 3 항에 있어서,
    다른 디바이스들로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 상기 다른 디바이스 또는 다른 디바이스들 중 하나에 전송하는 단계(108); 및
    가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스 또는 상기 다른 디바이스들 중 하나로부터 수신하는 단계(110)를 더 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  6. 제 3 항에 있어서,
    상기 네트워크에 연결된 디바이스는 제어기 디바이스(2)이며, 상기 제어기 디바이스(2)는 상기 제어기가 제어할 수 있는 디바이스 타입들의 목록(24)을 갖는, 네트워크에 연결된 디바이스의 동작 방법.
  7. 제 6 항에 있어서,
    상기 제어기에 의해 제어될 수 있는 상기 디바이스 타입들의 목록에서, 상기 다른 디바이스의 상기 디바이스 타입이거나 상기 다른 디바이스의 상기 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인, 최하위 레벨의 디바이스 타입을 결정함으로써, 상기 제어기가 상기 다른 디바이스를 제어할 수 있는 범위를 결정하는 단계를 더 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  8. 제 7 항에 있어서,
    상기 제어기가 요청된 디바이스 타입의 디바이스를 제어할 수 있는지를 요청하는, 상기 요청된 디바이스 타입 값을 포함하는 다른 디바이스로부터의 제어기 질의 메시지를 수신하는 단계(120); 및
    상기 요청된 디바이스 타입이거나 상기 요청된 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인, 상기 디바이스 타입들의 목록에서의 최하위 레벨의 디바이스 타입을 나타내는 디바이스 타입 값을 포함하는, 제어기 응답 메시지로 응답하는 단계(122)를 더 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  9. 제 3 항에 있어서,
    간단한 디바이스 기술을 요청하는 다른 디바이스로부터의 간단한 디바이스 기술 질의 메시지를 수신하는 단계; 및
    고정된 길이의 상기 간단한 디바이스 기술 메시지(230)를 상기 다른 디바이스에 전송하는 단계를 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  10. 제 9 항에 있어서,
    상기 디바이스 타입 계층의 상기 미리 결정된 최상위 레벨은 복합 디바이스 타입을 더 포함하고, 상기 네트워크에 연결된 디바이스는 정수의 상이한 디바이스들의 기능을 갖는 상기 복합 디바이스 타입이며,
    상기 동작 방법은, 상기 디바이스가 복합 디바이스임을 나타내는 상기 디바이스 타입 값(232)과, 상기 복합 디바이스에서의 상기 상이한 디바이스들의 수(234)인 정수의 서브-디바이스(sub-device) 수를 포함하는 간단한 디바이스 기술 메시지(230)를 전송함으로써, 수신된 간단한 디바이스 기술 질의 메시지에 응답하는 단계를 더 포함하는, 네트워크에 연결된 디바이스의 동작 방법.
  11. 시스템에 있어서,
    네트워크를 통해 전달되는 메시지들을 전송하고 수신하는 송수신기(8)를 각각 갖는 다수의 네트워크에 연결된 디바이스들(200)로서, 상기 네트워크를 통해 전달되는 메시지들은 상기 네트워크에 연결된 디바이스의 디바이스 타입을 식별하고 전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지를 나타내며 규정된 수의 부가적인 상태 설정들을 식별하는 디바이스 기술 메시지들을 포함하는, 상기 네트워크에 연결된 디바이스들을 포함하고,
    네트워크에 연결된 각각의 디바이스는, 제어기 디바이스 타입(52) 및 기본 디바이스 타입(54)을 포함하는 미리 결정된 최상위 레벨과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨(68)을 갖는 디바이스 타입 계층으로서, 상기 보조 디바이스 타입들은 상기 기본 디바이스 타입에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 기능을 포함하고, 상기 제어기 디바이스 타입에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 상기 디바이스 타입 계층으로부터 선택되는 미리 결정된 디바이스 타입을 가지며,
    상기 네트워크에 연결된 디바이스들 중 적어도 하나는 상기 제어기 디바이스 타입(52)을 갖는 제어기 디바이스(2)이며,
    상기 네트워크에 연결된 디바이스들 중 적어도 하나는 상기 기본 디바이스 타입(54)의 디바이스 타입 또는 상기 기본 디바이스 타입(54)에 종속하는 디바이스 타입(62, 64, 66)을 갖는 제어되는 디바이스(4)인, 시스템.
  12. 제 11 항에 있어서,
    상기 다수의 네트워크에 연결된 디바이스들은, 메시지들을 압축 해제할 기능이 없고 압축된 간단한 디바이스 기술 질의 메시지들을 직접 해석하는 적어도 하나의 간단한 디바이스, 및 상기 메시지들을 압축 해제하는 메시지 압축 해제 구성(184)과 상기 압축 해제된 메시지를 해석하는 메시지 해석기를 포함하는 적어도 하나의 복잡한 디바이스를 포함하는, 시스템.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 미리 결정된 최상위 레벨은 복합 디바이스 타입을 더 포함하고,
    상기 시스템은 미리 결정된 수의 상이한 디바이스들의 기능을 갖는 상기 복합 디바이스 타입의 적어도 하나의 네트워크에 연결된 디바이스를 포함하고, 상기 미리 결정된 수는 2 이상의 정수이며,
    상기 복합 디바이스 타입의 상기 적어도 하나의 네트워크에 연결된 디바이스 각각은, 복합 디바이스로서의 디바이스 타입(232) 및 상기 복합 디바이스에서의 상기 미리 결정된 수의 상이한 디바이스들을 나타내는 서브-디바이스(sub-device) 수(234)를 포함하는 간단한 디바이스 기술(230)을 전송함으로써, 간단한 디바이스 기술을 요청하는, 들어오는 디바이스 질의 메시지에 응답하는, 시스템.
  14. 네트워크에 연결된 디바이스에 있어서,
    메시지들을 전송하고 수신하는 송수신기(8); 및
    규정된 길이의 간단한 디바이스 기술 메시지를 다른 디바이스에 전송하거나 다른 디바이스로부터 수신하도록 구성된 메시지 처리기(26, 182)를 포함하고, 상기 간단한 디바이스 기술 메시지는 인간이 판독 가능한 메시지 포맷으로부터 압축된, 토큰-압축된 메시지의 형태이고, 상기 메시지는 다른 디바이스 타입을 나타내는 디바이스 타입 값, 전송 디바이스가 이용 가능한 확장된 디바이스 기술을 갖는지를 나타내는 값, 및 규정된 수의 부가적인 상태 설정들을 식별하는 값을 포함하며, 상기 디바이스 타입 값은, 제어기 디바이스 타입(52) 및 기본 디바이스 타입(54)을 포함하는 미리 결정된 최상위 레벨과, 보조 디바이스 타입들의 적어도 하나의 추가적인 레벨(68)을 갖는 디바이스 타입 계층으로서, 상기 보조 디바이스 타입들은 상기 기본 디바이스 타입(54)에 종속하며 상기 보조 디바이스 타입이 종속하는 상위 레벨 디바이스 타입들의 기능을 포함하고, 상기 제어기 디바이스 타입(52)에 종속하는 어떠한 추가적인 레벨의 보조 디바이스 타입들을 포함하지 않는, 상기 디바이스 타입 계층으로부터 선택되는, 네트워크에 연결된 디바이스.
  15. 제 14 항에 있어서,
    상기 메시지 처리기는,
    적어도 하나의 다른 디바이스들의 주소를 획득하는 단계(102);
    간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 다른 디바이스에 전송하는 단계(104);
    상기 다른 디바이스 타입을 나타내는 디바이스 타입 값 및 확장된 디바이스 기술이 이용 가능한지를 표시하는 필드를 포함하는, 고정된 길이의 상기 간단한 디바이스 기술 메시지를 상기 다른 디바이스로부터 수신하는 단계(106)를 실행하도록 구성되고,
    확장된 디바이스 기술이 이용 가능한지를 결정하기 위해 상기 간단한 디바이스 기술 메시지를 테스트하는 단계;
    상기 다른 디바이스로부터 확장된 디바이스 기술을 요청하는, 확장된 디바이스 기술 질의 메시지를 상기 다른 디바이스에 전송하는 단계(108);
    가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스로부터 수신하는 단계(110)를 선택적으로 실행하기 위해 더 구성되는, 네트워크에 연결된 디바이스.
  16. 제 14 항에 있어서,
    상기 메시지 처리기(26, 182)는,
    간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 다른 디바이스로부터 수신하는 단계; 및
    고정된 길이의 상기 간단한 디바이스 기술 메시지를 다른 디바이스에 전송하는 단계로서, 상기 간단한 디바이스 기술 메시지는 인간이 판독 가능한 메시지 포맷으로부터 압축된, 토큰-압축된 메시지의 형태인, 상기 전송 단계를 실행하도록 구성되는, 네트워크에 연결된 디바이스.
  17. 제 16 항에 있어서,
    인간이 판독 가능한 포맷으로부터 미리 압축된, 미리 결정된 간단한 디바이스 기술 메시지를 저장하는 메모리(14)를 더 포함하고, 상기 메시지 처리기는 상기 메모리로부터 상기 미리 결정된 간단한 디바이스 기술 메시지를 판독하고, 들어오는 디바이스 질의 메시지에 응답하여 상기 송수신기를 통해 상기 간단한 디바이스 기술 메시지를 전송하도록 구성되는, 네트워크에 연결된 디바이스.
  18. 제 17 항에 있어서,
    상기 네트워크에 연결된 디바이스는, 공지된 디바이스 타입이거나 상기 공지된 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인, 상기 네트워크에 연결된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록에서의 최하위 레벨 디바이스 타입을 결정함으로써, 상기 네트워크에 연결된 디바이스가 상기 공지된 디바이스 타입의 다른 디바이스를 제어할 수 있는 범위를 결정하기 위해, 상기 제어기에 의해 제어될 수 있는 디바이스 타입들의 목록을 포함하는 메모리(14)를 포함하는 제어기 디바이스(2)인, 네트워크에 연결된 디바이스.
  19. 제 18 항에 있어서,
    상기 메시지 처리기는, 상기 제어기가 요청되는 디바이스 타입의 디바이스를 제어할 수 있는지를 요청하는, 상기 요청되는 디바이스 타입 값을 포함하는 다른 디바이스로부터의 제어기 질의 메시지를 수신하고, 상기 요청되는 디바이스 타입 이거나 상기 요청되는 디바이스 타입이 종속하는 상위 레벨 디바이스 타입인, 상기 디바이스 타입들의 목록에서의 최하위 레벨의 디바이스 타입을 나타내는 디바이스 타입 값을 포함하는 제어기 응답 메시지로 응답하도록 구성되는, 네트워크에 연결된 디바이스.
  20. 삭제
  21. 삭제
  22. 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체로서, 상기 컴퓨터 프로그램은 네트워크에 연결된 디바이스가 제 3 항 내지 제 10 항 중 어느 하나의 방법을 실행하도록 구성되는, 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
KR1020057002148A 2002-08-06 2003-07-24 네트워크 구축 및 관리 프로토콜 KR101083094B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0218174.1A GB0218174D0 (en) 2002-08-06 2002-08-06 A network establishment and management protocol
GB0218174.1 2002-08-06
GB0309404 2003-04-25
GB0309404.2 2003-04-25
PCT/IB2003/003304 WO2004015928A1 (en) 2002-08-06 2003-07-24 A network establishment and management protocol

Publications (2)

Publication Number Publication Date
KR20050084798A KR20050084798A (ko) 2005-08-29
KR101083094B1 true KR101083094B1 (ko) 2011-11-16

Family

ID=31716914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002148A KR101083094B1 (ko) 2002-08-06 2003-07-24 네트워크 구축 및 관리 프로토콜

Country Status (8)

Country Link
US (2) US8392601B2 (ko)
EP (1) EP1529378B1 (ko)
JP (1) JP4499565B2 (ko)
KR (1) KR101083094B1 (ko)
CN (2) CN1675887B (ko)
AU (1) AU2003249527A1 (ko)
ES (1) ES2483346T3 (ko)
WO (1) WO2004015928A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004015928A1 (en) 2002-08-06 2004-02-19 Koninklijke Philips Electronics N.V. A network establishment and management protocol
GB0413334D0 (en) * 2004-06-15 2004-07-21 Koninkl Philips Electronics Nv Gateway for a local networking system
KR100643282B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 UPnP 네트워크 상에서 특정 기기를 식별하는 방법,식별된 특정 기기를 통하여 컨텐츠를 재생하는 방법, 및장치
US20060209210A1 (en) * 2005-03-18 2006-09-21 Ati Technologies Inc. Automatic audio and video synchronization
KR101532369B1 (ko) 2006-12-11 2015-06-29 삼성전자주식회사 휴대용 단말기의 원격제어 장치 및 방법
US8712023B2 (en) * 2010-11-23 2014-04-29 Verizon Patent And Licensing Inc. Methods and systems for aggregating and graphically representing information associated with a telecommunications circuit
US20120233334A1 (en) * 2011-03-07 2012-09-13 Avaya Inc. Shared media access for real time first and third party control

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020029256A1 (en) 1999-06-11 2002-03-07 Zintel William M. XML-based template language for devices and services

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0990349A1 (en) * 1997-06-16 2000-04-05 Telefonaktiebolaget Lm Ericsson A telecommunications performance management system
US5991713A (en) * 1997-11-26 1999-11-23 International Business Machines Corp. Efficient method for compressing, storing, searching and transmitting natural language text
US6349352B1 (en) * 1998-01-06 2002-02-19 Sony Corporation Of Japan Home audio/video network with both generic and parameterized device control
CN1115824C (zh) * 1998-05-07 2003-07-23 三星电子株式会社 网络中的装置对装置命令与控制的方法和系统
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
JP3479251B2 (ja) * 2000-01-19 2003-12-15 日本電気通信システム株式会社 ネットワーク管理情報収集方式及びネットワーク管理情報収集方法
AU2000256423A1 (en) 2000-06-28 2002-01-08 Microsoft Corporation Remoting general purpose operating system services via a peer networking device control protocol
CN1398469A (zh) * 2000-07-26 2003-02-19 皇家菲利浦电子有限公司 基于服务器的多标准家庭网桥接方法
US20020046266A1 (en) * 2000-08-09 2002-04-18 Muralidhar Kurudi H. Computer-implemented method and apparatus for the cloning of input/output devices
US7089567B2 (en) * 2001-04-09 2006-08-08 International Business Machines Corporation Efficient RPC mechanism using XML
US20030112958A1 (en) * 2001-12-13 2003-06-19 Luc Beaudoin Overlay view method and system for representing network topology
WO2004015928A1 (en) 2002-08-06 2004-02-19 Koninklijke Philips Electronics N.V. A network establishment and management protocol

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020029256A1 (en) 1999-06-11 2002-03-07 Zintel William M. XML-based template language for devices and services

Also Published As

Publication number Publication date
US8392601B2 (en) 2013-03-05
KR20050084798A (ko) 2005-08-29
JP2005535048A (ja) 2005-11-17
US20060041649A1 (en) 2006-02-23
CN1675887A (zh) 2005-09-28
EP1529378A1 (en) 2005-05-11
JP4499565B2 (ja) 2010-07-07
US8874689B2 (en) 2014-10-28
WO2004015928A1 (en) 2004-02-19
AU2003249527A1 (en) 2004-02-25
US20130144972A1 (en) 2013-06-06
CN1675887B (zh) 2013-11-06
EP1529378B1 (en) 2014-06-18
ES2483346T3 (es) 2014-08-06

Similar Documents

Publication Publication Date Title
US8943213B2 (en) Network establishment and management protocol
US8874689B2 (en) Network establishment and management protocol
US6546419B1 (en) Method and apparatus for user and device command and control in a network
CN1943171B (zh) 用于控制分布式站的网络中的设备的方法和网络站
US20060031570A1 (en) Network establishment and management protocol
KR100754221B1 (ko) 네트워크 디바이스간의 서비스 요청 방법 및 그 방법을수행할 수 있는 네트워크 디바이스와 저장 매체
US20060031192A1 (en) Network establishment and management protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
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: 20141104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161108

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171026

Year of fee payment: 7